source: flair-dev/trunk/include/FlairCore/OneAxisRotation.h@ 54

Last change on this file since 54 was 50, checked in by Sanahuja Guillaume, 7 years ago

doc

File size: 1.9 KB
RevLine 
[2]1// %flair:license{
[13]2// This file is part of the Flair framework distributed under the
3// CECILL-C License, Version 1.0.
[2]4// %flair:license}
5/*!
6 * \file OneAxisRotation.h
7 * \brief Class defining a rotation around one axis
8 * \author Guillaume Sanahuja, Copyright Heudiasyc UMR UTC/CNRS 7253
9 * \date 2013/04/17
10 * \version 4.0
11 */
12
13#ifndef ONEAXISROTATION_H
14#define ONEAXISROTATION_H
15
16#include <GroupBox.h>
[50]17#include <Vector3D.h>
[2]18
19class OneAxisRotation_impl;
20
[13]21namespace flair {
22namespace gui {
23class LayoutPosition;
[2]24}
25
[13]26namespace core {
27class Euler;
28class Quaternion;
29class RotationMatrix;
[2]30
[13]31/*! \class OneAxisRotation
32*
33* \brief Class defining a rotation around one axis
34*
35* Axe and value of the rotation are placed in a GroupBox on ground station.
36*
37*/
38class OneAxisRotation : public gui::GroupBox {
39public:
40 /*!
41 * \brief Constructor
42 *
43 * Construct a OneAxisRotation at given position.
44 *
45 * \param position position to place the GroupBox
46 * \param name name
47 */
48 OneAxisRotation(const gui::LayoutPosition *position, std::string namel);
[2]49
[13]50 /*!
51 * \brief Destructor
52 *
53 */
54 ~OneAxisRotation();
[2]55
[13]56 /*!
57 * \brief Compute rotation
58 *
[50]59 * \param vector Vector3Df to rotate
[13]60 */
[50]61 template <typename T> void ComputeRotation(core::Vector3D<T> &vector) const;
[2]62
[13]63 /*!
64 * \brief Compute rotation
65 *
66 * \param euler Euler angle to rotate
67 */
68 void ComputeRotation(core::Euler &euler) const;
[2]69
[13]70 /*!
71 * \brief Compute rotation
72 *
73 * \param quaternion Quaternion to rotate
74 */
75 void ComputeRotation(core::Quaternion &quaternion) const;
[2]76
[13]77 /*!
78 * \brief Compute rotation
79 *
80 * \param matrix RotationMatrix to rotate
81 */
82 void ComputeRotation(core::RotationMatrix &matrix) const;
[50]83
84 /*!
85 * \brief Get angle
86 *
87 * \return angle in radians
88 */
89 float GetAngle() const;
90 int GetAxis() const;
[2]91
[13]92private:
93 const class OneAxisRotation_impl *pimpl_;
94};
[2]95
96} // end namespace core
97} // end namespace flair
98
99#endif // ONEAXISROTATION_H
Note: See TracBrowser for help on using the repository browser.