OpenLexocad  27.0
Rotation.h
Go to the documentation of this file.
1 #pragma once
2 #pragma warning(disable : 4251)
3 
4 #include <Geom/geom_defines.h>
5 
6 namespace Geom
7 {
8 class XYZ;
9 class Vec;
10 
11 } // namespace Geom
12 
13 
14 
15 namespace Geom
16 {
20 {
21 public:
22  Rotation(void);
23  Rotation(const Geom::Vec& axis, const double radians);
24  Rotation(double m[4][4]);
25  void getValue(Geom::Vec& axis, double& radians) const;
26  Rotation& operator*=(double q);
27 
28  Rotation& setValue(double m[4][4]);
29  Rotation& setValue(const Geom::Vec& axis, const double radians);
30 
31  void multVec(const Geom::Vec& src, Geom::Vec& dst) const;
32 
33 private:
34  double quat[4];
35 };
36 
37 } // namespace Geom
Definition: Rotation.h:5
Definition: Rotation.h:19
#define GEOM_EXPORT
Definition: geom_defines.h:8
Defines a non-persistent vector in 3D space.
Definition: Vec.h:45