| VRS - The Virtual Rendering System |
| version 3.3 |
#include <vrs/matrix.h>
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 |
| T | 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) |
| Matrix4x4Base & | operator*= (T scalar) |
| Matrix4x4Base & | operator*= (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 () |
| T | det () const |
| Returns the determinat of the full 4x4 matrix. | |
| T | 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 > ¢er, T angle) |
Static Public Attributes | |
| static const Matrix4x4Base & | identity |
| enum VRS::Matrix4x4Base::MatrixType |
| VRS::Matrix4x4Base< T >::Matrix4x4Base | ( | ) |
| VRS::Matrix4x4Base< T >::Matrix4x4Base | ( | const Matrix4x4Base< T > & | m1, | |
| const Matrix4x4Base< T > & | m2 | |||
| ) |
| VRS::Matrix4x4Base< T >::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< T >::MT_Unknown | |||
| ) |
The default constructor creates an identity matrix.
| VRS::Matrix4x4Base< T >::VRS_SERIALIZABLE_CLASS_ENUM | ( | MatrixType | ) |
| bool VRS::Matrix4x4Base< T >::operator== | ( | const Matrix4x4Base< T > & | m | ) | const |
| bool VRS::Matrix4x4Base< T >::operator!= | ( | const Matrix4x4Base< T > & | m | ) | const |
| T VRS::Matrix4x4Base< T >::element | ( | unsigned int | i, | |
| unsigned int | j | |||
| ) | const |
| T& VRS::Matrix4x4Base< T >::element | ( | unsigned int | i, | |
| unsigned int | j | |||
| ) |
| void VRS::Matrix4x4Base< T >::setElement | ( | unsigned int | i, | |
| unsigned int | j, | |||
| T | value | |||
| ) |
Direct element access. All indices are restricted to the range [0,3].
| Matrix4x4Base& VRS::Matrix4x4Base< T >::operator*= | ( | T | scalar | ) |
| Matrix4x4Base& VRS::Matrix4x4Base< T >::operator*= | ( | const Matrix4x4Base< T > & | m | ) |
| void VRS::Matrix4x4Base< T >::transpose | ( | ) |
Transposes the matrix.
| 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:
| Matrix4x4Base VRS::Matrix4x4Base< T >::inverse | ( | ) | const |
returns inverse matrix and throw exception, if not invertible.
| 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.
| T VRS::Matrix4x4Base< T >::det | ( | ) | const |
Returns the determinat of the full 4x4 matrix.
| T VRS::Matrix4x4Base< T >::subDet3x3 | ( | unsigned int | omitColumn, | |
| unsigned int | omitRow | |||
| ) | const |
Returns the determinant of a 3x3 sub-matrix.
| 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)
| void VRS::Matrix4x4Base< T >::setHint | ( | MatrixType | matrixtype = Matrix4x4Base< T >::MT_Check |
) |
| MatrixType VRS::Matrix4x4Base< T >::getHint | ( | ) | const |
| static Matrix4x4Base VRS::Matrix4x4Base< T >::scaling | ( | const Vector3Base< T > & | s | ) | [static] |
| static Matrix4x4Base VRS::Matrix4x4Base< T >::translation | ( | const Vector3Base< T > & | t | ) | [static] |
| static Matrix4x4Base VRS::Matrix4x4Base< T >::rotation | ( | const Vector3Base< T > & | axis, | |
| const Vector3Base< T > & | center, | |||
| T | angle | |||
| ) | [static] |
| VRS::Matrix4x4Base< T >::VRS_SERIALIZABLE_NO_SO_CLASS | ( | Matrix4x4Base< T > | ) |
const Matrix4x4Base& VRS::Matrix4x4Base< T >::identity [static] |