|
Developer Documentation
|
#include <ACG/Math/Matrix4x4T.hh>
Public Member Functions | |
| Matrix4x4T () | |
| constructor: uninitialized values | |
| template<class OtherScalar > | |
| Matrix4x4T (const Matrix4x4T< OtherScalar > &_rhs) | |
| construct from other matrix type | |
| Matrix4x4T (const Scalar _array[16]) | |
| ~Matrix4x4T () | |
| destructor | |
| template<typename otherScalar > | |
| Matrix4x4T< Scalar > & | operator= (const Matrix4x4T< otherScalar > &_rhs) |
| assignment from other matrix type | |
| Scalar & | operator() (unsigned int row, unsigned int col) |
| access operator (read and write) | |
| const Scalar & | operator() (unsigned int row, unsigned int col) const |
| access operator (read only) | |
| bool | operator== (const Matrix4x4T< Scalar > &_rhs) const |
| compare two matrices (up to some epsilon) | |
| bool | operator!= (const Matrix4x4T< Scalar > &_rhs) const |
| compare two matrices | |
| Matrix4x4T | operator+ (Matrix4x4T< Scalar > _rhs) const |
| self + _rhs | |
| Matrix4x4T | operator- (Matrix4x4T< Scalar > _rhs) const |
| self - _rhs | |
| Matrix4x4T | operator* (const Matrix4x4T< Scalar > &inst) const |
| self * _rhs | |
| Matrix4x4T | operator* (const Scalar &scalar) |
| self * scalar | |
| Matrix4x4T & | operator+= (const Matrix4x4T< Scalar > &_rhs) |
| self += _rhs | |
| Matrix4x4T & | operator-= (const Matrix4x4T< Scalar > &_rhs) |
| self -= _rhs | |
| Matrix4x4T & | operator*= (const Matrix4x4T< Scalar > &_rhs) |
| self *= _rhs | |
| Matrix4x4T & | leftMult (const Matrix4x4T< Scalar > &_rhs) |
| multiply from left: self = _rhs * self | |
| template<typename T > | |
| VectorT< T, 4 > | operator* (const VectorT< T, 4 > &_v) const |
| matrix by vector multiplication | |
| template<typename T > | |
| VectorT< T, 3 > | transform_point (const VectorT< T, 3 > &_v) const |
| transform point (x',y',z',1) = M * (x,y,z,1) | |
| template<typename T > | |
| VectorT< T, 3 > | transform_vector (const VectorT< T, 3 > &_v) const |
| transform vector (x',y',z',0) = A * (x,y,z,0) | |
| void | clear () |
| sets all elements to zero | |
| void | identity () |
| setup an identity matrix | |
| bool | is_identity () const |
| check if the matrix is the identity ( up to an epsilon ) | |
| void | transpose () |
| transpose matrix | |
| bool | invert () |
| matrix inversion (returns true on success) | |
| Scalar | determinant () const |
| const Scalar * | get_raw_data () const |
| const Scalar * | raw () const |
| const Scalar * | data () const |
Protected Attributes | |
| Scalar | mat_ [16] |
Simple 4x4 Matrix. Inherited by GLMatrix.
Definition at line 98 of file Matrix4x4T.hh.
|
inline |
setup matrix using an array of N*N scalar values. elements are ordered 'column first' (like OpenGL)
Definition at line 113 of file Matrix4x4T.hh.
|
inline |
access to data array. not very nice, but in case of 4x4 matrices this member can be used to pass matrices to OpenGL e.g. glLoadMatrixf(m.get_raw_data());
Definition at line 262 of file Matrix4x4T.hh.