version 3.3

VRS::Matrix4x4Base< T > Class Template Reference

4x4 Matrix Class. More...

#include <vrs/matrix.h>

List of all members.

Public Types

enum  MatrixType {
  MT_Identity, MT_Scale, MT_Translate, MT_Unknown,
  MT_Check, MT_Invalid
}

Public Member Functions

 VRS_SERIALIZABLE_CLASS_ENUM (MatrixType)
 Matrix4x4Base ()
 Matrix4x4Base (const Matrix4x4Base &m1, const Matrix4x4Base &m2)
 Matrix4x4Base (T m00, T m01, T m02, T m03, T m10, T m11, T m12, T m13, T m20, T m21, T m22, T m23, T m30, T m31, T m32, T m33, MatrixType hint=Matrix4x4Base::MT_Unknown)
 The default constructor creates an identity matrix.
bool operator== (const Matrix4x4Base &m) const
bool operator!= (const Matrix4x4Base &m) const
element (unsigned int i, unsigned int j) const
T & element (unsigned int i, unsigned int j)
void setElement (unsigned int i, unsigned int j, T value)
Matrix4x4Baseoperator*= (T scalar)
Matrix4x4Baseoperator*= (const Matrix4x4Base &m)
void transpose ()
 Transposes the matrix.
bool inverse (Matrix4x4Base &result) const
Matrix4x4Base inverse () const
 returns inverse matrix and throw exception, if not invertible.
void toUpperLeft3x3 ()
det () const
 Returns the determinat of the full 4x4 matrix.
subDet3x3 (unsigned int omitColumn, unsigned int omitRow) const
 Returns the determinant of a 3x3 sub-matrix.
const T * pointer () const
void setHint (MatrixType matrixtype=Matrix4x4Base::MT_Check)
MatrixType getHint () const
 VRS_SERIALIZABLE_NO_SO_CLASS (Matrix4x4Base)

Static Public Member Functions

static Matrix4x4Base scaling (const Vector3Base< T > &s)
static Matrix4x4Base translation (const Vector3Base< T > &t)
static Matrix4x4Base rotation (const Vector3Base< T > &axis, const Vector3Base< T > &center, T angle)

Static Public Attributes

static const Matrix4x4Baseidentity


Detailed Description

template<typename T>
class VRS::Matrix4x4Base< T >

4x4 Matrix Class.

Member Enumeration Documentation

template<typename T>
enum VRS::Matrix4x4Base::MatrixType

Enumerator:
MT_Identity 
MT_Scale 
MT_Translate 
MT_Unknown 
MT_Check 
MT_Invalid 


Constructor & Destructor Documentation

template<typename T>
VRS::Matrix4x4Base< T >::Matrix4x4Base (  ) 

template<typename T>
VRS::Matrix4x4Base< T >::Matrix4x4Base ( const Matrix4x4Base< T > &  m1,
const Matrix4x4Base< T > &  m2 
)

template<typename T>
VRS::Matrix4x4Base< T >::Matrix4x4Base ( m00,
m01,
m02,
m03,
m10,
m11,
m12,
m13,
m20,
m21,
m22,
m23,
m30,
m31,
m32,
m33,
MatrixType  hint = Matrix4x4Base< T >::MT_Unknown 
)

The default constructor creates an identity matrix.


Member Function Documentation

template<typename T>
VRS::Matrix4x4Base< T >::VRS_SERIALIZABLE_CLASS_ENUM ( MatrixType   ) 

template<typename T>
bool VRS::Matrix4x4Base< T >::operator== ( const Matrix4x4Base< T > &  m  )  const

template<typename T>
bool VRS::Matrix4x4Base< T >::operator!= ( const Matrix4x4Base< T > &  m  )  const

template<typename T>
T VRS::Matrix4x4Base< T >::element ( unsigned int  i,
unsigned int  j 
) const

template<typename T>
T& VRS::Matrix4x4Base< T >::element ( unsigned int  i,
unsigned int  j 
)

template<typename T>
void VRS::Matrix4x4Base< T >::setElement ( unsigned int  i,
unsigned int  j,
value 
)

Direct element access. All indices are restricted to the range [0,3].

template<typename T>
Matrix4x4Base& VRS::Matrix4x4Base< T >::operator*= ( scalar  ) 

template<typename T>
Matrix4x4Base& VRS::Matrix4x4Base< T >::operator*= ( const Matrix4x4Base< T > &  m  ) 

template<typename T>
void VRS::Matrix4x4Base< T >::transpose (  ) 

Transposes the matrix.

template<typename T>
bool VRS::Matrix4x4Base< T >::inverse ( Matrix4x4Base< T > &  result  )  const

Calculate the inverse of the matrix and stores the result in the result matrix. The result matrix can be the same as the source matrix, i.e., the following statement is valid:

template<typename T>
Matrix4x4Base VRS::Matrix4x4Base< T >::inverse (  )  const

returns inverse matrix and throw exception, if not invertible.

template<typename T>
void VRS::Matrix4x4Base< T >::toUpperLeft3x3 (  ) 

sets the right column and bottom row to zero, except the bottom-right element. The result is the rotational affine part of the matrix.

template<typename T>
T VRS::Matrix4x4Base< T >::det (  )  const

Returns the determinat of the full 4x4 matrix.

template<typename T>
T VRS::Matrix4x4Base< T >::subDet3x3 ( unsigned int  omitColumn,
unsigned int  omitRow 
) const

Returns the determinant of a 3x3 sub-matrix.

template<typename T>
const T* VRS::Matrix4x4Base< T >::pointer (  )  const

Direct data access to the internal representation of the matrix. NOTE: Internal representation is (column0,column1,column2,column3)

template<typename T>
void VRS::Matrix4x4Base< T >::setHint ( MatrixType  matrixtype = Matrix4x4Base< T >::MT_Check  ) 

template<typename T>
MatrixType VRS::Matrix4x4Base< T >::getHint (  )  const

template<typename T>
static Matrix4x4Base VRS::Matrix4x4Base< T >::scaling ( const Vector3Base< T > &  s  )  [static]

template<typename T>
static Matrix4x4Base VRS::Matrix4x4Base< T >::translation ( const Vector3Base< T > &  t  )  [static]

template<typename T>
static Matrix4x4Base VRS::Matrix4x4Base< T >::rotation ( const Vector3Base< T > &  axis,
const Vector3Base< T > &  center,
angle 
) [static]

template<typename T>
VRS::Matrix4x4Base< T >::VRS_SERIALIZABLE_NO_SO_CLASS ( Matrix4x4Base< T >   ) 


Member Data Documentation

template<typename T>
const Matrix4x4Base& VRS::Matrix4x4Base< T >::identity [static]


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

Generated on Tue May 21 06:00:25 2013 by Doxygen 1.5.6
© 2001-2010 Hasso-Plattner-Institut | Impressum | Contact