euler.h File Reference

#include "GeomExport.h"
#include "maxheap.h"
#include "matrix3.h"
#include "quat.h"

Classes

class  RotationValue
 

Macros

#define EULERTYPE_XYZ   0
 
#define EULERTYPE_XZY   1
 
#define EULERTYPE_YZX   2
 
#define EULERTYPE_YXZ   3
 
#define EULERTYPE_ZXY   4
 
#define EULERTYPE_ZYX   5
 
#define EULERTYPE_XYX   6
 
#define EULERTYPE_YZY   7
 
#define EULERTYPE_ZXZ   8
 
#define EULERTYPE_RF   16
 

Functions

void QuatToEuler (const Quat &q, float *ang, int type, bool flag=false)
 
void EulerToQuat (float *ang, Quat &q, int type)
 
void MatrixToEuler (const Matrix3 &mat, float *ang, int type, bool flag=FALSE)
 
void EulerToMatrix (float *ang, Matrix3 &mat, int type)
 
float GetEulerQuatAngleRatio (Quat &quat1, Quat &quat2, float *euler1, float *euler2, int type=EULERTYPE_XYZ)
 
float GetEulerMatAngleRatio (Matrix3 &mat1, Matrix3 &mat2, float *euler1, float *euler2, int type=EULERTYPE_XYZ)
 
void ContinuousQuatToEuler (const Quat &quat, float ang[3], int order)
 

Macro Definition Documentation

#define EULERTYPE_XYZ   0
#define EULERTYPE_XZY   1
#define EULERTYPE_YZX   2
#define EULERTYPE_YXZ   3
#define EULERTYPE_ZXY   4
#define EULERTYPE_ZYX   5
#define EULERTYPE_XYX   6
#define EULERTYPE_YZY   7
#define EULERTYPE_ZXZ   8
#define EULERTYPE_RF   16

Function Documentation

void QuatToEuler ( const Quat q,
float *  ang,
int  type,
bool  flag = false 
)
void EulerToQuat ( float *  ang,
Quat q,
int  type 
)
void MatrixToEuler ( const Matrix3 mat,
float *  ang,
int  type,
bool  flag = FALSE 
)
void EulerToMatrix ( float *  ang,
Matrix3 mat,
int  type 
)
float GetEulerQuatAngleRatio ( Quat quat1,
Quat quat2,
float *  euler1,
float *  euler2,
int  type = EULERTYPE_XYZ 
)
float GetEulerMatAngleRatio ( Matrix3 mat1,
Matrix3 mat2,
float *  euler1,
float *  euler2,
int  type = EULERTYPE_XYZ 
)
void ContinuousQuatToEuler ( const Quat quat,
float  ang[3],
int  order 
)