libt3d
2.6
|
Typedefs | |
typedef enum T3DType | T3DType |
Internal representation of a T3D. More... | |
typedef enum T3DBryanIndex | T3DBryanIndex |
Tait-Bryan angle names. More... | |
typedef enum V3DVectorIndex | V3DVectorIndex |
Vector index values. More... | |
Enumerations | |
enum | T3DType { T3D_MATRIX, T3D_U_MATRIX, T3D_BRYAN, T3D_U_BRYAN, T3D_VECTOR, T3D_U_VECTOR } |
Internal representation of a T3D. More... | |
enum | T3DBryanIndex { T3D_BRYAN_YAW, T3D_BRYAN_PITCH, T3D_BRYAN_ROLL, T3D_BRYAN_X, T3D_BRYAN_Y, T3D_BRYAN_Z } |
Tait-Bryan angle names. More... | |
enum | V3DVectorIndex { V3D_VECTOR_X, V3D_VECTOR_Y, V3D_VECTOR_Z } |
Vector index values. More... | |
Functions | |
R3D * | r3dNew (T3DType type, int flags) |
Malloc a new initialized structure for a R3D. More... | |
R3D * | r3dInit (R3D *r3d, T3DType type, int flags) |
Initialize a R3D with the type "type". More... | |
R3D * | r3dDup (R3D *r3d) |
Malloc a new structure for a R3D and initialize it with r3d. More... | |
void | r3dDelete (R3D *r3d) |
Free an malloc'ed R3D. More... | |
T3D * | r3dConvertToT3D (R3D *r3d) |
Convert R3d to a generic T3D. More... | |
R3D * | r3dConvertTo (T3DType typeTo, R3D *r3d) |
Convert R3D to the "typeTo" representation. More... | |
R3D * | r3dCopyIn (R3D *cpy, const R3D *src) |
Copy R3D. More... | |
R3D * | r3dInvert (R3D *r3d) |
Invert a R3D. More... | |
R3D * | r3dComp (R3D *a, R3D *b) |
Compose two R3D. More... | |
R3D * | r3dCompIn (R3D *c, R3D *a, R3D *b) |
Compose two R3D. More... | |
int | r3dFPrint (FILE *stream, const R3D *r3d) |
Output a ASCII R3D description on a stream. More... | |
T3D * | t3dNew (T3DType type, int flags) |
Malloc a new initialized structure for a tr3d. More... | |
T3D * | t3dInit (T3D *t3d, T3DType type, int flags) |
Initialize a T3D with the type "type". More... | |
T3D * | t3dCopyIn (T3D *cpy, const T3D *src) |
Copy T3D. More... | |
T3D * | t3dInvert (T3D *t3d) |
Invert a T3D. More... | |
T3D * | t3dInvertIn (T3D *inv, T3D *t3d) |
Invert T3D. More... | |
T3D * | t3dConvertTo (T3DType typeTo, T3D *t3d) |
Convert t3d to the "typeTo" representation. More... | |
T3D * | t3dComp (T3D *a, T3D *b) |
Compose two T3D. More... | |
T3D * | t3dCompIn (T3D *c, T3D *a, T3D *b) |
Compose two T3D. More... | |
int | t3dFPrint (FILE *stream, const T3D *t3d) |
Output a ASCII T3D description on a stream. More... | |
V3D * | v3dNew (void) |
Malloc a new initialized structure for a V3D. More... | |
V3D * | v3dInit (V3D *v3d) |
Initialize a V3D. More... | |
double | v3dNorm (const V3D *v3d) |
Compute euclidian norm of a V3D. More... | |
void | v3dNormalize (V3D *v3d) |
Normalize a V3D. More... | |
V3D * | v3dApplyT3D (T3D *t3d, V3D *v3d) |
Apply T3D to a V3D. More... | |
double | v3dDot (const V3D *a, const V3D *b) |
Vector product. More... | |
double * | v3dDotIn (double *c, const V3D *a, const V3D *b) |
Vector product. More... | |
V3D * | v3dProd (V3D *a, const V3D *b) |
Vector product. More... | |
V3D * | v3dProdIn (V3D *c, const V3D *a, const V3D *b) |
Vector product. More... | |
int | v3dFPrint (FILE *stream, const V3D *v3d) |
Output a ASCII V3D description on a stream. More... | |
Variables | |
const R3D | r3dBryanIdentity |
static initializer. | |
const R3D | r3dUBryanIdentity |
static initializer. | |
const R3D | r3dVectorIdentity |
static initializer. | |
const R3D | r3dUVectorIdentity |
static initializer. | |
const R3D | r3dMatrixIdentity |
static initializer. | |
const R3D | r3dUMatrixIdentity |
static initializer. | |
const T3D | t3dBryanIdentity |
static initializer. | |
const T3D | t3dUBryanIdentity |
static initializer. | |
const T3D | t3dVectorIdentity |
static initializer. | |
const T3D | t3dUVectorIdentity |
static initializer. | |
const T3D | t3dMatrixIdentity |
static initializer. | |
const T3D | t3dUMatrixIdentity |
static initializer. | |
typedef enum T3DBryanIndex T3DBryanIndex |
Tait-Bryan angle names.
Use this enumerator with Tait-Bryan angle accessors.
typedef enum V3DVectorIndex V3DVectorIndex |
Vector index values.
Use this enumerator with V3D coordinates accessors.
enum T3DBryanIndex |
Tait-Bryan angle names.
Use this enumerator with Tait-Bryan angle accessors.
enum T3DType |
Internal representation of a T3D.
This value can be supplied to t3dNew() or T3D() contstructor.
enum V3DVectorIndex |
Vector index values.
Use this enumerator with V3D coordinates accessors.
Enumerator | |
---|---|
V3D_VECTOR_X | X coordinate. |
V3D_VECTOR_Y | Y coordinate. |
V3D_VECTOR_Z | Z coordinate. |
int r3dFPrint | ( | FILE * | stream, |
const R3D * | r3d | ||
) |
Initialize a R3D with the type "type".
The size of the new structure is compatible with any type of representation except if the T3D_MINIMAL_SIZE flag is present (in this case the allocated size is minimal).
[in] | r3d | Pointer to an allocated R3D. |
[in] | type | Type of internal representation. |
[in] | flags | Flags for special behaviors. |
Malloc a new initialized structure for a R3D.
Calls r3dInit() with an malloc'ed structure. Storage must be released with r3dDelete().
[in] | type | Type of internal representation. |
[in] | flags | Flags for special behaviors. |
Compose two T3D.
Compose T3D a with T3D b, that is compute a T3D that is the combination of first applying a and then b. The result is stored in a and a is returned.
If a represents the transformation from a frame A to a frame X and b represents the transformation from a frame X to a frame B, the result of this fonction is a transformation from the frame A to the frame B. Or for short : t3Comp("A_2_X", "X_2_B") = "A_2_B".
Note that if T3D has an internal type of T3D_MATRIX, the result of this function is the product of matrix b by matrix a.
[out] | a | First transformation. |
[in] | b | Second transformation, applied after a. |
Convert t3d to the "typeTo" representation.
[in] | typeTo | Type to convert to. |
[in] | t3d | T3D object to convert. |
int t3dFPrint | ( | FILE * | stream, |
const T3D * | t3d | ||
) |
Initialize a T3D with the type "type".
The size of the new structure is compatible with any type of representation except if the T3D_MINIMAL_SIZE flag is present (in this case the allocated size is minimal).
[in] | t3d | Pointer to an allocated T3D. |
[in] | type | Type of internal representation. |
[in] | flags | Flags for special behaviors. |
Vector product.
[in] | a | First vector |
[in] | b | Second vector |
Vector product.
[out] | c | Resulting vector |
[in] | a | First vector |
[in] | b | Second vector |
int v3dFPrint | ( | FILE * | stream, |
const V3D * | v3d | ||
) |
V3D* v3dNew | ( | void | ) |
double v3dNorm | ( | const V3D * | v3d | ) |
Compute euclidian norm of a V3D.
[in] | v3d | Input vector |
void v3dNormalize | ( | V3D * | v3d | ) |
Vector product.
[in] | a | First vector |
[in] | b | Second vector |