ARGoS  3
A parallel, multi-engine simulator for swarm robotics
core/utility/math/matrix/rotationmatrix2.cpp
Go to the documentation of this file.
00001 
00009 #include "rotationmatrix2.h"
00010 #include <argos3/core/utility/math/angles.h>
00011 
00012 namespace argos {
00013 
00014    /****************************************/
00015    /****************************************/
00016 
00017    void CRotationMatrix2::SetFromAngle(const CRadians& c_angle) {
00018       Real cos_angle = Cos(c_angle);
00019       Real sin_angle = Sin(c_angle);
00020 
00021       /* Set values */
00022       m_pfValues[0] =  cos_angle;
00023       m_pfValues[1] = -sin_angle;
00024       m_pfValues[2] =  sin_angle;
00025       m_pfValues[3] =  cos_angle;
00026    }
00027    
00028    /****************************************/
00029    /****************************************/
00030    
00031    void CRotationMatrix2::SetFromMatrix(const CMatrix<2,2>& c_matrix) {
00032       m_pfValues[0] =  c_matrix.m_pfValues[0];
00033       m_pfValues[1] =  c_matrix.m_pfValues[1];
00034       m_pfValues[2] =  c_matrix.m_pfValues[2];
00035       m_pfValues[3] =  c_matrix.m_pfValues[3];
00036    }
00037    
00038    /****************************************/
00039    /****************************************/
00040    
00041    void CRotationMatrix2::SetFromValues(Real f_value0, Real f_value1,
00042                                         Real f_value2, Real f_value3) {
00043       m_pfValues[0] = f_value0;
00044       m_pfValues[1] = f_value1;
00045       m_pfValues[2] = f_value2;
00046       m_pfValues[3] = f_value3;
00047    }
00048    
00049    /****************************************/
00050    /****************************************/
00051 
00052 }