ARGoS 3
A parallel, multi-engine simulator for swarm robotics
rotationmatrix3.h
Go to the documentation of this file.
1
9#ifndef ROTATION_MATRIX3_H
10#define ROTATION_MATRIX3_H
11
12namespace argos {
13 class CQuaternion;
14 class CVector3;
15}
16
17#include <argos3/core/utility/math/matrix/squarematrix.h>
18
19namespace argos {
20
21 class CRotationMatrix3 : public CSquareMatrix<3> {
22
24
25 public:
29
31 SetFromMatrix(c_matrix);
32 }
33
34 CRotationMatrix3(const CRadians& c_z_angle, const CRadians& c_y_angle, const CRadians& c_x_angle) : CSquareMatrix<3>() {
35 SetFromAngles(c_z_angle, c_y_angle, c_x_angle);
36 }
37
38 CRotationMatrix3(Real f_value0, Real f_value1, Real f_value2,
39 Real f_value3, Real f_value4, Real f_value5,
40 Real f_value6, Real f_value7, Real f_value8) : CSquareMatrix<3>() {
41 SetFromValues(f_value0, f_value1, f_value2,
42 f_value3, f_value4, f_value5,
43 f_value6, f_value7, f_value8);
44 }
45
46 void SetFromMatrix(const CMatrix<3,3>& c_matrix);
47
48 void SetFromAngles(const CRadians& c_x_angle, const CRadians& c_y_angle, const CRadians& c_z_angle);
49
50 void SetFromValues(Real f_value0, Real f_value1, Real f_value2,
51 Real f_value3, Real f_value4, Real f_value5,
52 Real f_value6, Real f_value7, Real f_value8);
53
57 operator CQuaternion() const;
58
59 CVector3 operator*(const CVector3& c_vector) const;
60 };
61}
62
63#endif
float Real
Collects all ARGoS code.
Definition datatypes.h:39
The namespace containing all the ARGoS related code.
Definition ci_actuator.h:12
It defines the basic type CRadians, used to store an angle value in radians.
Definition angles.h:42
CRotationMatrix3(Real f_value0, Real f_value1, Real f_value2, Real f_value3, Real f_value4, Real f_value5, Real f_value6, Real f_value7, Real f_value8)
CVector3 operator*(const CVector3 &c_vector) const
void SetFromValues(Real f_value0, Real f_value1, Real f_value2, Real f_value3, Real f_value4, Real f_value5, Real f_value6, Real f_value7, Real f_value8)
CRotationMatrix3(const CRadians &c_z_angle, const CRadians &c_y_angle, const CRadians &c_x_angle)
void SetFromAngles(const CRadians &c_x_angle, const CRadians &c_y_angle, const CRadians &c_z_angle)
CRotationMatrix3(const CMatrix< 3, 3 > &c_matrix)
void SetFromMatrix(const CMatrix< 3, 3 > &c_matrix)
A 3D vector class.
Definition vector3.h:31