add a new rotation to lib/conversion

This commit is contained in:
Mark Whitehorn 2015-05-26 15:28:25 -06:00
parent 54fde63d66
commit db7d0ef51f
2 changed files with 10 additions and 3 deletions

View File

@ -41,7 +41,7 @@
#include "rotation.h"
__EXPORT void
get_rot_matrix(enum Rotation rot, math::Matrix<3,3> *rot_matrix)
get_rot_matrix(enum Rotation rot, math::Matrix<3, 3> *rot_matrix)
{
float roll = M_DEG_TO_RAD_F * (float)rot_lookup[rot].roll;
float pitch = M_DEG_TO_RAD_F * (float)rot_lookup[rot].pitch;
@ -199,5 +199,10 @@ rotate_3f(enum Rotation rot, float &x, float &y, float &z)
y = -y;
return;
}
case ROTATION_PITCH_90_YAW_180: {
tmp = x; x = z; z = tmp;
y = -y;
return;
}
}
}

View File

@ -76,6 +76,7 @@ enum Rotation {
ROTATION_PITCH_270 = 25,
ROTATION_ROLL_270_YAW_270 = 26,
ROTATION_ROLL_180_PITCH_270 = 27,
ROTATION_PITCH_90_YAW_180 = 28,
ROTATION_MAX
};
@ -113,14 +114,15 @@ const rot_lookup_t rot_lookup[] = {
{ 0, 90, 0 },
{ 0, 270, 0 },
{270, 0, 270 },
{180, 270, 0 }
{180, 270, 0 },
{ 0, 90, 180 }
};
/**
* Get the rotation matrix
*/
__EXPORT void
get_rot_matrix(enum Rotation rot, math::Matrix<3, 3> *rot_matrix);
get_rot_matrix(enum Rotation rot, math::Matrix<3,3> *rot_matrix);
/**