VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Static Public Attributes | Private Attributes
makVrv::DtMatrix4< T > Class Template Reference

4 dimensional matrix More...

Inheritance diagram for makVrv::DtMatrix4< T >:
Inheritance graph
[legend]

Public Member Functions

 DtMatrix4 ()
 CTOR. More...
 
 DtMatrix4 (const T rhs[4][4])
 CTOR. More...
 
 DtMatrix4 (const T rhs[16])
 CTOR. More...
 
 DtMatrix4 (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)
 CTOR. More...
 
 DtMatrix4 (const DtMatrix3< T > &rhs)
 CTOR Creates a standard 4x4 transformation matrix with a zero translation part from a rotation/scaling 3x3 matrix. More...
 
 ~DtMatrix4 ()
 DTOR. More...
 
void operator= (const DtMatrix3< T > &rhs)
 Assignment operator. More...
 
DtMatrix4 operator* (const DtMatrix4 &rhs) const
 Multiply 2 matrices. Returns this*rhs. More...
 
DtVector4< T > operator* (const DtVector4< T > &rhs) const
 Multiply matrix with vector. Returns this*rhs. More...
 
void setZero (void)
 Set all values to zero. More...
 
void setIdentity (void)
 Set matrix to identity matrix. More...
 
DtMatrix4 getTranspose (void) const
 Get the transpose of this matrix. More...
 
bool isEqual (const DtMatrix4 &rhs, T tolerance) const
 Check whether this matrix is equivalent to rhs within tolerance. More...
 
bool isIdentity (T tolerance=std::numeric_limits< T >::epsilon()) const
 
DtMatrix4 convert_depth_gl_to_dx () const
 
const T * operator[] (size_t iRow) const
 
T * operator[] (size_t iRow)
 
const void * ptr (void) const
 
bool isAffine (void) const
 Return whether the last row is (0,0,0,1);. More...
 
DtVector3< T > transformAffine (const DtVector3< T > &v) const
 
DtVector4< T > transformAffine (const DtVector4< T > &v) const
 
DtMatrix4< T > getInverse (void) const
 Get the inverse of this matrix. More...
 
DtMatrix4< T > getInverseAffine (void) const
 Get the inverse of this matrix. This matrix must be affine to. More...
 
void zeroOutTranslation (void)
 Zero out the translation column. More...
 
void translateBack (const DtVector3< T > &v)
 subtract the vector from the translation column More...
 

Static Public Attributes

static DtMatrix4 theIdentityMatrix
 

Private Attributes

union {
   T   _m [16]
 
   T   m [4][4]
 
}; 
 

Detailed Description

template<class T>
class makVrv::DtMatrix4< T >

4 dimensional matrix

Constructor & Destructor Documentation

template<class T >
makVrv::DtMatrix4< T >::DtMatrix4 ( )

CTOR.

template<class T>
makVrv::DtMatrix4< T >::DtMatrix4 ( const T  rhs[4][4])

CTOR.

template<class T>
makVrv::DtMatrix4< T >::DtMatrix4 ( const T  rhs[16])

CTOR.

template<class T>
makVrv::DtMatrix4< T >::DtMatrix4 ( m00,
m01,
m02,
m03,
m10,
m11,
m12,
m13,
m20,
m21,
m22,
m23,
m30,
m31,
m32,
m33 
)

CTOR.

template<class T>
makVrv::DtMatrix4< T >::DtMatrix4 ( const DtMatrix3< T > &  rhs)

CTOR Creates a standard 4x4 transformation matrix with a zero translation part from a rotation/scaling 3x3 matrix.

template<class T >
makVrv::DtMatrix4< T >::~DtMatrix4 ( )

DTOR.

Member Function Documentation

template<class T>
void makVrv::DtMatrix4< T >::operator= ( const DtMatrix3< T > &  rhs)

Assignment operator.

template<class T>
DtMatrix4 makVrv::DtMatrix4< T >::operator* ( const DtMatrix4< T > &  rhs) const

Multiply 2 matrices. Returns this*rhs.

template<class T>
DtVector4< T > makVrv::DtMatrix4< T >::operator* ( const DtVector4< T > &  rhs) const
template<class T >
void makVrv::DtMatrix4< T >::setZero ( void  )

Set all values to zero.

Referenced by makVrv::DtMatrix4< T >::setIdentity().

template<class T >
void makVrv::DtMatrix4< T >::setIdentity ( void  )
template<class T >
DtMatrix4< T > makVrv::DtMatrix4< T >::getTranspose ( void  ) const

Get the transpose of this matrix.

template<class T>
bool makVrv::DtMatrix4< T >::isEqual ( const DtMatrix4< T > &  rhs,
tolerance 
) const

Check whether this matrix is equivalent to rhs within tolerance.

References makVrv::DtMath::isEqual().

template<class T>
bool makVrv::DtMatrix4< T >::isIdentity ( tolerance = std::numeric_limits<T>::epsilon()) const
template<class T >
DtMatrix4< T > makVrv::DtMatrix4< T >::convert_depth_gl_to_dx ( ) const
template<class T >
const T * makVrv::DtMatrix4< T >::operator[] ( size_t  iRow) const
template<class T >
T * makVrv::DtMatrix4< T >::operator[] ( size_t  iRow)
template<class T >
const void * makVrv::DtMatrix4< T >::ptr ( void  ) const
template<class T >
bool makVrv::DtMatrix4< T >::isAffine ( void  ) const

Return whether the last row is (0,0,0,1);.

template<class T>
DtVector3< T > makVrv::DtMatrix4< T >::transformAffine ( const DtVector3< T > &  v) const
template<class T>
DtVector4< T > makVrv::DtMatrix4< T >::transformAffine ( const DtVector4< T > &  v) const
template<class T >
DtMatrix4< T > makVrv::DtMatrix4< T >::getInverse ( void  ) const

Get the inverse of this matrix.

template<class T >
DtMatrix4< T > makVrv::DtMatrix4< T >::getInverseAffine ( void  ) const

Get the inverse of this matrix. This matrix must be affine to.

References ASSERT_PREDICATE.

template<class T >
void makVrv::DtMatrix4< T >::zeroOutTranslation ( void  )

Zero out the translation column.

template<class T>
void makVrv::DtMatrix4< T >::translateBack ( const DtVector3< T > &  v)

subtract the vector from the translation column

References makVrv::DtVector3< T >::x, makVrv::DtVector3< T >::y, and makVrv::DtVector3< T >::z.

Member Data Documentation

template<class T>
DtMatrix4< T > makVrv::DtMatrix4< T >::theIdentityMatrix
static
Initial value:
= DtMatrix4<T>(1,0,0,0
, 0,1,0,0
, 0,0,1,0
, 0,0,0,1)
template<class T>
T makVrv::DtMatrix4< T >::_m[16]
template<class T>
T makVrv::DtMatrix4< T >::m[4][4]
union { ... }

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

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)