euler.h File Reference
Go to the source code of this file.
Classes | |
struct | QuatX |
Defines | |
#define | EulFrmS 0 |
#define | EulFrmR 1 |
#define | EulFrm(ord) ((unsigned)(ord)&1) |
#define | EulRepNo 0 |
#define | EulRepYes 1 |
#define | EulRep(ord) (((unsigned)(ord)>>1)&1) |
#define | EulParEven 0 |
#define | EulParOdd 1 |
#define | EulPar(ord) (((unsigned)(ord)>>2)&1) |
#define | EulSafe "\000\001\002\000" |
#define | EulNext "\001\002\000\001" |
#define | EulAxI(ord) ((int)(EulSafe[(((unsigned)(ord)>>3)&3)])) |
#define | EulAxJ(ord) ((int)(EulNext[EulAxI(ord)+(EulPar(ord)==EulParOdd)])) |
#define | EulAxK(ord) ((int)(EulNext[EulAxI(ord)+(EulPar(ord)!=EulParOdd)])) |
#define | EulAxH(ord) ((EulRep(ord)==EulRepNo)?EulAxK(ord):EulAxI(ord)) |
#define | EulGetOrd(ord, i, j, k, h, n, s, f) |
#define | EulOrd(i, p, r, f) (((((((i)<<1)+(p))<<1)+(r))<<1)+(f)) |
#define | EulOrdXYZs EulOrd(X,EulParEven,EulRepNo,EulFrmS) |
#define | EulOrdXYXs EulOrd(X,EulParEven,EulRepYes,EulFrmS) |
#define | EulOrdXZYs EulOrd(X,EulParOdd,EulRepNo,EulFrmS) |
#define | EulOrdXZXs EulOrd(X,EulParOdd,EulRepYes,EulFrmS) |
#define | EulOrdYZXs EulOrd(Y,EulParEven,EulRepNo,EulFrmS) |
#define | EulOrdYZYs EulOrd(Y,EulParEven,EulRepYes,EulFrmS) |
#define | EulOrdYXZs EulOrd(Y,EulParOdd,EulRepNo,EulFrmS) |
#define | EulOrdYXYs EulOrd(Y,EulParOdd,EulRepYes,EulFrmS) |
#define | EulOrdZXYs EulOrd(Z,EulParEven,EulRepNo,EulFrmS) |
#define | EulOrdZXZs EulOrd(Z,EulParEven,EulRepYes,EulFrmS) |
#define | EulOrdZYXs EulOrd(Z,EulParOdd,EulRepNo,EulFrmS) |
#define | EulOrdZYZs EulOrd(Z,EulParOdd,EulRepYes,EulFrmS) |
#define | EulOrdZYXr EulOrd(X,EulParEven,EulRepNo,EulFrmR) |
#define | EulOrdXYXr EulOrd(X,EulParEven,EulRepYes,EulFrmR) |
#define | EulOrdYZXr EulOrd(X,EulParOdd,EulRepNo,EulFrmR) |
#define | EulOrdXZXr EulOrd(X,EulParOdd,EulRepYes,EulFrmR) |
#define | EulOrdXZYr EulOrd(Y,EulParEven,EulRepNo,EulFrmR) |
#define | EulOrdYZYr EulOrd(Y,EulParEven,EulRepYes,EulFrmR) |
#define | EulOrdZXYr EulOrd(Y,EulParOdd,EulRepNo,EulFrmR) |
#define | EulOrdYXYr EulOrd(Y,EulParOdd,EulRepYes,EulFrmR) |
#define | EulOrdYXZr EulOrd(Z,EulParEven,EulRepNo,EulFrmR) |
#define | EulOrdZXZr EulOrd(Z,EulParEven,EulRepYes,EulFrmR) |
#define | EulOrdXYZr EulOrd(Z,EulParOdd,EulRepNo,EulFrmR) |
#define | EulOrdZYZr EulOrd(Z,EulParOdd,EulRepYes,EulFrmR) |
Typedefs | |
typedef float | HMatrix [4][4] |
typedef QuatX | EulerAngles |
Enumerations | |
enum | QuatPart { X, Y, Z, W } |
Functions | |
EulerAngles | Eul_ (float ai, float aj, float ah, int order) |
QuatX | Eul_ToQuat (EulerAngles ea) |
void | Eul_ToHMatrix (EulerAngles ea, HMatrix M) |
EulerAngles | Eul_FromHMatrix (HMatrix M, int order) |
EulerAngles | Eul_FromQuat (QuatX q, int order) |
Define Documentation
#define EulAxH | ( | ord | ) | ((EulRep(ord)==EulRepNo)?EulAxK(ord):EulAxI(ord)) |
#define EulAxI | ( | ord | ) | ((int)(EulSafe[(((unsigned)(ord)>>3)&3)])) |
#define EulAxJ | ( | ord | ) | ((int)(EulNext[EulAxI(ord)+(EulPar(ord)==EulParOdd)])) |
#define EulAxK | ( | ord | ) | ((int)(EulNext[EulAxI(ord)+(EulPar(ord)!=EulParOdd)])) |
#define EulFrm | ( | ord | ) | ((unsigned)(ord)&1) |
#define EulFrmR 1 |
#define EulFrmS 0 |
#define EulGetOrd | ( | ord, | |||
i, | |||||
j, | |||||
k, | |||||
h, | |||||
n, | |||||
s, | |||||
f | ) |
#define EulNext "\001\002\000\001" |
#define EulOrd | ( | i, | |||
p, | |||||
r, | |||||
f | ) | (((((((i)<<1)+(p))<<1)+(r))<<1)+(f)) |
#define EulOrdXYXr EulOrd(X,EulParEven,EulRepYes,EulFrmR) |
#define EulOrdXYXs EulOrd(X,EulParEven,EulRepYes,EulFrmS) |
#define EulOrdXYZr EulOrd(Z,EulParOdd,EulRepNo,EulFrmR) |
#define EulOrdXYZs EulOrd(X,EulParEven,EulRepNo,EulFrmS) |
#define EulOrdXZXr EulOrd(X,EulParOdd,EulRepYes,EulFrmR) |
#define EulOrdXZXs EulOrd(X,EulParOdd,EulRepYes,EulFrmS) |
#define EulOrdXZYr EulOrd(Y,EulParEven,EulRepNo,EulFrmR) |
#define EulOrdXZYs EulOrd(X,EulParOdd,EulRepNo,EulFrmS) |
#define EulOrdYXYr EulOrd(Y,EulParOdd,EulRepYes,EulFrmR) |
#define EulOrdYXYs EulOrd(Y,EulParOdd,EulRepYes,EulFrmS) |
#define EulOrdYXZr EulOrd(Z,EulParEven,EulRepNo,EulFrmR) |
#define EulOrdYXZs EulOrd(Y,EulParOdd,EulRepNo,EulFrmS) |
#define EulOrdYZXr EulOrd(X,EulParOdd,EulRepNo,EulFrmR) |
#define EulOrdYZXs EulOrd(Y,EulParEven,EulRepNo,EulFrmS) |
#define EulOrdYZYr EulOrd(Y,EulParEven,EulRepYes,EulFrmR) |
#define EulOrdYZYs EulOrd(Y,EulParEven,EulRepYes,EulFrmS) |
#define EulOrdZXYr EulOrd(Y,EulParOdd,EulRepNo,EulFrmR) |
#define EulOrdZXYs EulOrd(Z,EulParEven,EulRepNo,EulFrmS) |
#define EulOrdZXZr EulOrd(Z,EulParEven,EulRepYes,EulFrmR) |
#define EulOrdZXZs EulOrd(Z,EulParEven,EulRepYes,EulFrmS) |
#define EulOrdZYXr EulOrd(X,EulParEven,EulRepNo,EulFrmR) |
#define EulOrdZYXs EulOrd(Z,EulParOdd,EulRepNo,EulFrmS) |
#define EulOrdZYZr EulOrd(Z,EulParOdd,EulRepYes,EulFrmR) |
#define EulOrdZYZs EulOrd(Z,EulParOdd,EulRepYes,EulFrmS) |
#define EulPar | ( | ord | ) | (((unsigned)(ord)>>2)&1) |
#define EulParEven 0 |
#define EulParOdd 1 |
#define EulRep | ( | ord | ) | (((unsigned)(ord)>>1)&1) |
#define EulRepNo 0 |
#define EulRepYes 1 |
#define EulSafe "\000\001\002\000" |
Typedef Documentation
typedef QuatX EulerAngles |
typedef float HMatrix[4][4] |
Enumeration Type Documentation
enum QuatPart |
Function Documentation
EulerAngles Eul_ | ( | float | ai, | |
float | aj, | |||
float | ah, | |||
int | order | |||
) |
EulerAngles Eul_FromHMatrix | ( | HMatrix | M, | |
int | order | |||
) |
EulerAngles Eul_FromQuat | ( | QuatX | q, | |
int | order | |||
) |
void Eul_ToHMatrix | ( | EulerAngles | ea, | |
HMatrix | M | |||
) |
QuatX Eul_ToQuat | ( | EulerAngles | ea | ) |