#include "QuatTypes.h"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) |
Functions | |
| EulerAngles | Eul_ (float ai, float aj, float ah, int order) |
| Quat | Eul_ToQuat (EulerAngles ea) |
| void | Eul_ToHMatrix (EulerAngles ea, HMatrix M) |
| EulerAngles | Eul_FromHMatrix (HMatrix M, int order) |
| EulerAngles | Eul_FromQuat (Quat q, int order) |
| #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" |
| EulerAngles Eul_ | ( | float | ai, | |
| float | aj, | |||
| float | ah, | |||
| int | order | |||
| ) |
| EulerAngles Eul_FromHMatrix | ( | HMatrix | M, | |
| int | order | |||
| ) |
| EulerAngles Eul_FromQuat | ( | Quat | q, | |
| int | order | |||
| ) |
| void Eul_ToHMatrix | ( | EulerAngles | ea, | |
| HMatrix | M | |||
| ) |
| Quat Eul_ToQuat | ( | EulerAngles | ea | ) |
1.5.1-p1