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

Last change on this file since 88 was 36, checked in by Sanahuja Guillaume, 8 years ago

m

File size: 1.4 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 {
19class Euler;
20class Quaternion;
21
22/*! \class RotationMatrix
23*
24* \brief Class defining a rotation matrix
25*/
26class RotationMatrix {
27public:
28 /*!
29 * \brief Constructor
30 *
31 * Construct an identity rotation matrix
32 *
33 */
34 RotationMatrix();
35
36 /*!
37 * \brief Destructor
38 *
39 */
40 ~RotationMatrix();
41
42 /*!
43 * \brief Convert to euler angles
44 *
45 * \param euler output euler angles
46 */
47 void ToEuler(Euler &euler) const;
48
49 /*!
50 * \brief Convert to euler angles
51 *
52 * \return euler angles
53 */
54 Euler ToEuler(void) const;
55
56 /*!
57 * \brief Convert to quaternion
58 *
59 * \param quaternion output quaternion
60 */
61 void ToQuaternion(Quaternion &quaternion) const;
62
63 /*!
64 * \brief Convert to quaternion
65 *
66 * \return quaternion
67 */
68 Quaternion ToQuaternion(void) const;
69
70 /*!
71 * \brief matrix
72 *
73 */
74 float m[3][3];
75
76 float &operator()(size_t row, size_t col);
77 const float &operator()(size_t row, size_t col) const;
78};
79
80} // end namespace core
81} // end namespace flair
82
83#endif // ROTATIONMATRIX_H
Note: See TracBrowser for help on using the repository browser.