source: flair-dev/trunk/include/FlairCore/RotationMatrix.h @ 2

Last change on this file since 2 was 2, checked in by Sanahuja Guillaume, 5 years ago

initial commit flaircore

File size: 1.5 KB
Line 
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}
5/*!
6 * \file RotationMatrix.h
7 * \brief Class defining a rotation matrix
8 * \author Guillaume Sanahuja, Copyright Heudiasyc UMR UTC/CNRS 7253
9 * \date 2016/02/09
10 * \version 4.0
11 */
12#ifndef ROTATIONMATRIX_H
13#define ROTATIONMATRIX_H
14
15#include <stddef.h>
16
17namespace flair {
18namespace core {
19    class Euler;
20
21    /*! \class RotationMatrix
22    *
23    * \brief Class defining a rotation matrix
24    */
25    class RotationMatrix {
26        public:
27            /*!
28            * \brief Constructor
29            *
30            * Construct an identity rotation matrix
31            *
32            */
33            RotationMatrix();
34
35            /*!
36            * \brief Destructor
37            *
38            */
39            ~RotationMatrix();
40
41            /*!
42            * \brief Convert to euler angles
43            *
44            * \param euler output euler angles
45            */
46            void ToEuler(Euler &euler) const;
47
48            /*!
49            * \brief Convert to euler angles
50            *
51            * \return euler angles
52            */
53            Euler ToEuler(void) const;
54            /*!
55            * \brief matrix
56            *
57            */
58            float m[3][3];
59
60            float& operator()(size_t row,size_t col);
61            const float& operator()(size_t row,size_t col) const;
62    };
63
64} // end namespace core
65} // end namespace flair
66
67#endif // ROTATIONMATRIX_H
Note: See TracBrowser for help on using the repository browser.