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