euler.h File Reference
 
 
 
euler.h File Reference

This reference page is linked to from the following overview topics: Euler Angles, Handling Sign Flips when Converting a Rotation Controller to an Euler Controller.


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

Classes

class   RotationValue
  This class is only available in release 5 or later. More...

Defines

#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)

Define 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 
)