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 
18 class OneAxisRotation_impl;
19 
20 namespace flair {
21 namespace gui {
22 class LayoutPosition;
23 }
24 
25 namespace core {
26 class Vector3D;
27 class Euler;
28 class Quaternion;
29 class RotationMatrix;
30 
39 public:
48  OneAxisRotation(const gui::LayoutPosition *position, std::string namel);
49 
55 
61  void ComputeRotation(core::Vector3D &vector) const;
62 
68  void ComputeRotation(core::Euler &euler) const;
69 
75  void ComputeRotation(core::Quaternion &quaternion) const;
76 
82  void ComputeRotation(core::RotationMatrix &matrix) const;
83 
84 private:
85  const class OneAxisRotation_impl *pimpl_;
86 };
87 
88 } // end namespace core
89 } // end namespace flair
90 
91 #endif // ONEAXISROTATION_H
namespace of the flair Framework
Definition: Ahrs.h:19
Class defining a 3D vector.
Definition: Vector3D.h:28
Class displaying a QGroupBox on the ground station.
Definition: GroupBox.h:27
Class defining euler angles.
Definition: Euler.h:27
Class defining a rotation matrix.
Definition: RotationMatrix.h:26
Class defining a rotation around one axis.
Definition: OneAxisRotation.h:38
OneAxisRotation(const gui::LayoutPosition *position, std::string namel)
Constructor.
void ComputeRotation(core::Vector3D &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
Class defining a quaternion.
Definition: Quaternion.h:25