Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Private Attributes

cmtk::Matrix4x4< T > Class Template Reference
[cmtkBase Library]

Homogeneous 4x4 transformation matrix. More...

#include <cmtkMatrix4x4.h>

Collaboration diagram for cmtk::Matrix4x4< T >:
Collaboration graph
[legend]

List of all members.

Public Types

typedef Matrix4x4< T > Self
 This type instance.
typedef SmartPointer< SelfSmartPtr
 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.
SelfSet (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.
SelfCompose (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.
Selfoperator*= (const Self &other)
 In-place multiplication operator.
const Self operator* (const Self &other) const
 Multiplication operator.
Selfoperator= (const Matrix3x3< T > &other)
 3x3 submatrix assignment operator.
SelfChangeCoordinateSystem (const FixedVector< 3, T > &newX, const FixedVector< 3, T > &newY)
 Change reference coordinate system.
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

Matrix [4][4]
 The actual matrix.

Detailed Description

template<class T = Types::Coordinate>
class cmtk::Matrix4x4< T >

Homogeneous 4x4 transformation matrix.

Definition at line 54 of file cmtkMatrix4x4.h.


Member Typedef Documentation

template<class T = Types::Coordinate>
typedef Matrix4x4<T> cmtk::Matrix4x4< T >::Self

This type instance.

Definition at line 58 of file cmtkMatrix4x4.h.

template<class T = Types::Coordinate>
typedef SmartPointer<Self> cmtk::Matrix4x4< T >::SmartPtr

Smart pointer.

Definition at line 61 of file cmtkMatrix4x4.h.


Constructor & Destructor Documentation

template<class T = Types::Coordinate>
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.

template<class T = Types::Coordinate>
template<class T2 >
cmtk::Matrix4x4< T >::Matrix4x4 ( const T2(&)  matrix[4][4] ) [inline]

2D array constructor.

Definition at line 86 of file cmtkMatrix4x4.h.


Member Function Documentation

template<class T = Types::Coordinate>
T* cmtk::Matrix4x4< T >::operator[] ( const size_t  i ) [inline]

Index operator.

Definition at line 103 of file cmtkMatrix4x4.h.

template<class T = Types::Coordinate>
const T* cmtk::Matrix4x4< T >::operator[] ( const size_t  i ) const [inline]

Constant index operator.

Definition at line 106 of file cmtkMatrix4x4.h.

template<class T = Types::Coordinate>
void cmtk::Matrix4x4< T >::Print ( Console console ) const [inline]

Print this matrix.

Definition at line 140 of file cmtkMatrix4x4.h.


Member Data Documentation

template<class T = Types::Coordinate>
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().


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines