Homogeneous 4x4 transformation matrix. More...
#include <cmtkMatrix4x4.h>
Public Types | |
typedef Matrix4x4< T > | Self |
This type instance. | |
typedef SmartPointer< Self > | SmartPtr |
Smart pointer. | |
Public Member Functions | |
Matrix4x4 () | |
Default constructor: make identity matrix. | |
Matrix4x4 (const Matrix3x3< T > &other) | |
Top left submatrix copy constructor. | |
Matrix4x4 (const T *const values) | |
Array constructor. | |
template<class T2 > | |
Matrix4x4 (const T2(&matrix)[4][4]) | |
2D array constructor. | |
Self & | Set (const T *const values) |
Set from array of entries. | |
const Self | GetInverse () const |
Inversion operator (in place). | |
Self | GetTranspose () const |
Transpose operator. | |
T * | operator[] (const size_t i) |
Index operator. | |
const T * | operator[] (const size_t i) const |
Constant index operator. | |
Self & | Compose (const Types::Coordinate params[15], const bool logScaleFactors=false) |
Compose from canonical parameters. | |
bool | Decompose (Types::Coordinate params[12], const Types::Coordinate *center=NULL, const bool logScaleFactors=false) const |
Decompose into affine parameters. | |
Self & | operator*= (const Self &other) |
In-place multiplication operator. | |
const Self | operator* (const Self &other) const |
Multiplication operator. | |
Self & | operator= (const Matrix3x3< T > &other) |
3x3 submatrix assignment operator. | |
Self & | ChangeCoordinateSystem (const FixedVector< 3, T > &newX, const FixedVector< 3, T > &newY) |
Change reference coordinate system. | |
T | FrobeniusNorm () const |
Get Frobenius norm. | |
void | Print (Console &console) const |
Print this matrix. | |
Static Public Member Functions | |
static Self | RotateX (const T angle) |
Return rotation around x axis. | |
static Self | RotateY (const T angle) |
Return rotation around y axis. | |
static Self | RotateZ (const T angle) |
Return rotation around z axis. | |
Static Public Attributes | |
static const Self | IdentityMatrix |
Identity transformation matrix. | |
Private Attributes | |
T | Matrix [4][4] |
The actual matrix. |
Homogeneous 4x4 transformation matrix.
Definition at line 54 of file cmtkMatrix4x4.h.
typedef Matrix4x4<T> cmtk::Matrix4x4< T >::Self |
This type instance.
Definition at line 58 of file cmtkMatrix4x4.h.
typedef SmartPointer<Self> cmtk::Matrix4x4< T >::SmartPtr |
Smart pointer.
Definition at line 61 of file cmtkMatrix4x4.h.
cmtk::Matrix4x4< T >::Matrix4x4 | ( | const T *const | values ) | [inline] |
Array constructor.
If a NULL parameter is given, an uninitialized matrix is generated. This is intended behaviour.
Definition at line 79 of file cmtkMatrix4x4.h.
cmtk::Matrix4x4< T >::Matrix4x4 | ( | const T2(&) | matrix[4][4] ) | [inline] |
2D array constructor.
Definition at line 86 of file cmtkMatrix4x4.h.
T* cmtk::Matrix4x4< T >::operator[] | ( | const size_t | i ) | [inline] |
Index operator.
Definition at line 103 of file cmtkMatrix4x4.h.
const T* cmtk::Matrix4x4< T >::operator[] | ( | const size_t | i ) | const [inline] |
Constant index operator.
Definition at line 106 of file cmtkMatrix4x4.h.
void cmtk::Matrix4x4< T >::Print | ( | Console & | console ) | const [inline] |
Print this matrix.
Definition at line 140 of file cmtkMatrix4x4.h.
T cmtk::Matrix4x4< T >::Matrix[4][4] [private] |
The actual matrix.
Definition at line 152 of file cmtkMatrix4x4.h.
Referenced by cmtk::Matrix4x4< T >::GetInverse().