Flair
Framework Libre Air
OneAxisRotation.h
Go to the documentation of this file.
1 // %flair:license{
2 // This file is part of the Flair framework distributed under the
3 // CECILL-C License, Version 1.0.
4 // %flair:license}
13 #ifndef ONEAXISROTATION_H
14 #define ONEAXISROTATION_H
15 
16 #include <GroupBox.h>
17 #include <Vector3D.h>
18 
19 class OneAxisRotation_impl;
20 
21 namespace flair {
22 namespace gui {
23 class LayoutPosition;
24 }
25 
26 namespace core {
27 class Euler;
28 class Quaternion;
29 class RotationMatrix;
30 
39  public:
45  PreRotation,//rotation
46  PostRotation//frame change
47  };
56  OneAxisRotation(const gui::LayoutPosition *position, std::string name,RotationType_t rotationType);
57 
63 
69  template <typename T> void ComputeRotation(core::Vector3D<T> &vector) const;
70 
76  void ComputeRotation(core::Euler &euler) const;
77 
83  void ComputeRotation(core::Quaternion &quaternion) const;
84 
90  void ComputeRotation(core::RotationMatrix &matrix) const;
91 
97  float GetAngle() const;
98  int GetAxis() const;
99 
100 private:
101  const class OneAxisRotation_impl *pimpl_;
102 };
103 
104 } // end namespace core
105 } // end namespace flair
106 
107 #endif // ONEAXISROTATION_H
namespace of the flair Framework
Definition: Ahrs.h:19
Class defining a 3D vector.
Definition: Vector3D.h:29
Class displaying a QGroupBox on the ground station.
Definition: GroupBox.h:27
OneAxisRotation(const gui::LayoutPosition *position, std::string name, RotationType_t rotationType)
Constructor.
Class defining euler angles.
Definition: Euler.h:27
Class defining a rotation matrix.
Definition: RotationMatrix.h:26
Class defining a 3D vector.
Class defining a rotation around one axis.
Definition: OneAxisRotation.h:38
float GetAngle() const
Get angle.
void ComputeRotation(core::Vector3D< T > &vector) const
Compute rotation.
Class displaying a QGroupBox on the ground station.
Class to define a position in a layout on the ground station.
Definition: LayoutPosition.h:28
RotationType_t
rotation type
Definition: OneAxisRotation.h:44
Class defining a quaternion.
Definition: Quaternion.h:26