b2api
B2000++ API Reference Manual, VERSION 4.6
 
Loading...
Searching...
No Matches
b2000::Transformation3D< T > Class Template Reference

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

Detailed Description

template<typename T>
class b2000::Transformation3D< T >

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

Constructor & Destructor Documentation

◆ Transformation3D() [1/3]

template<typename T >
b2000::Transformation3D< T >::Transformation3D ( )
inline

Construct a identity 3D transformation.

◆ Transformation3D() [2/3]

template<typename T >
b2000::Transformation3D< T >::Transformation3D ( const Transformation3D< T > &  t)
inline

Copy constructor.

◆ Transformation3D() [3/3]

template<typename T >
b2000::Transformation3D< T >::Transformation3D ( const T  rotation_matrix[9],
const T  translation_vector[3] = 0,
const bool  invert = false 
)
inline

Construct a 3D transformation.

Parameters
rotation_matrixA pointer to an array containing the rotation matrix in column-major format (input).
translation_vectorA pointer to the array containing the translation vector, can be 0 (input, default is 0).
invertIf true the given transformation is inverted (input, default is false).

Member Function Documentation

◆ get_identity()

template<typename T >
static const Transformation3D & b2000::Transformation3D< T >::get_identity ( )
inlinestatic
Returns
A reference to the static identity transformation object.

◆ get_inv_rotation_matrix()

template<typename T >
const T * b2000::Transformation3D< T >::get_inv_rotation_matrix ( ) const
inline
Returns
A pointer to the inverse of the rotation matrix. The matrix is given in row-major format.

◆ get_inv_translation_vector()

template<typename T >
const T * b2000::Transformation3D< T >::get_inv_translation_vector ( ) const
inline
Returns
A pointer to the inverse of the translation vector.

◆ get_rotation_matrix()

template<typename T >
const T * b2000::Transformation3D< T >::get_rotation_matrix ( ) const
inline
Returns
A pointer to the rotation matrix. The rotation matrix is given in row-major format.

◆ get_translation_vector()

template<typename T >
const T * b2000::Transformation3D< T >::get_translation_vector ( ) const
inline
Returns
A pointer to the translation vector.

◆ init()

template<typename T >
void b2000::Transformation3D< T >::init ( const T  rotation_matrix[9],
const T  translation_vector[3] = 0,
const bool  invert = false 
)
inline

Initialize a 3D transformation.

Parameters
rotation_matrixA pointer to an array containing the rotation matrix in column-major format (input).
translation_vectorA pointer to the array containing the translation vector, can be 0 (input, default is 0).
invertIf true the given transformation is inverted (input, default is false).

◆ is_identity()

template<typename T >
bool b2000::Transformation3D< T >::is_identity ( ) const
inline
Returns
Whether the transformation is the identity transformation.

◆ is_rotation_identity()

template<typename T >
bool b2000::Transformation3D< T >::is_rotation_identity ( ) const
inline
Returns
Whether the rotation matrix is the identity matrix.

◆ operator==()

template<typename T >
bool b2000::Transformation3D< T >::operator== ( const Transformation3D< T > &  trans) const
inline

Compare two 3D transformation instances.


The documentation for this class was generated from the following file: