#include "b2referential.H"
Public Member Functions | |
Transformation3D () | |
Transformation3D (const Transformation3D &t) | |
Transformation3D (const T rotation_matrix[9], const T translation_vector[3]=0, const bool invert=false) | |
bool | operator== (const Transformation3D &trans) const |
void | init (const T rotation_matrix[9], const T translation_vector[3]=0, const bool invert=false) |
const T * | get_rotation_matrix () const |
const T * | get_inv_rotation_matrix () const |
const T * | get_translation_vector () const |
const T * | get_inv_translation_vector () const |
bool | is_identity () const |
bool | is_rotation_identity () const |
Static Public Member Functions | |
static const Transformation3D & | get_identity () |
A 3-dimensional transformation of the form X' = A.X + B. A is a rotation matrix and B a translation vector. The inverse of the transformation is pre-calculated at object construction. The rotation and inverse rotation matrix are stored in a factored form (A = L.U where L is a lower triangular matrix and U is a upper unit diagonal triangular matrix) to allow in-place calculation X' = L.U.X + B
|
inline |
Construct a identity 3D transformation.
|
inline |
Copy constructor.
|
inline |
Construct a 3D transformation.
rotation_matrix | A pointer to an array containing the rotation matrix in column-major format (input). |
translation_vector | A pointer to the array containing the translation vector, can be 0 (input, default is 0). |
invert | If true the given transformation is inverted (input, default is false). |
|
inlinestatic |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Initialize a 3D transformation.
rotation_matrix | A pointer to an array containing the rotation matrix in column-major format (input). |
translation_vector | A pointer to the array containing the translation vector, can be 0 (input, default is 0). |
invert | If true the given transformation is inverted (input, default is false). |
|
inline |
|
inline |
|
inline |
Compare two 3D transformation instances.