![]() |
Polygon Crucher SDK - Documentation
Documentation
|
The class defines a 4x4 row major order matrix. More...
The class defines a 4x4 row major order matrix.
| TYPE | can be float (C4x4Matrix or C4x4MatrixF) or double (C4x4MatrixD) |
#include <4x4Matrix.h>
Public Member Functions | |
| C4x4TMatrix (bool init) | |
| template<class TYPE2 > | |
| C4x4TMatrix (const C4x4TMatrix< TYPE2 > &matrix) | |
| template<class TYPE2 > | |
| C4x4TMatrix (const TYPE2 *values, bool rotate) | |
| C4x4TMatrix (const CQuaternion &quat) | |
| Init the matrix from a CQuaternion. | |
| void | Init () |
| template<class TYPE2 > | |
| void | LoadMatrix (const TYPE2 *matrix) |
| template<class TYPE2 > | |
| void | SaveMatrix (TYPE2 *matrix) const |
| bool | IsIdentity (double precision=FLOAT_EPSILON2) const |
| Check that matrix is Identity (FLOAT_EPSILON3 limit) | |
| bool | IsSimilar (const C4x4TMatrix< TYPE > &compmat, double precision=FLOAT_EPSILON2) const |
| Check that both matrix are similar (FLOAT_EPSILON2 limit by default) | |
| bool | IsAnormal () const |
| Check some validity about the matrix (inf / nan values...) | |
| virtual void | Serialize (CXArchive &ar) |
| template<class TYPE2 > | |
| C4DTVector< TYPE2 > | operator* (const C4DTVector< TYPE2 > &) const |
| void | operator*= (TYPE value) |
| C4x4TMatrix & | operator*= (const C4x4TMatrix &matrix1) |
| C4x4TMatrix | operator* (const C4x4TMatrix &) const |
| bool | operator== (const C4x4TMatrix &) const |
| bool | operator!= (const C4x4TMatrix &) const |
| C4DTVector< TYPE > | Mult (double, double, double) const |
| C4x4TMatrix & | operator= (const C4x4TMatrix &) |
| template<class TYPE2 > | |
| C4x4TMatrix & | operator= (const C4x4TMatrix< TYPE2 > &) |
| C4x4TMatrix & | operator= (const CQuaternion &quaternion) |
| void | operator= (const TYPE *newmatrix) |
| void | InitTranslation (double, double, double) |
| template<class TYPE2 > | |
| void | InitTranslation (const C3DTVector< TYPE2 > &vect) |
| void | InitTranslation (const C4x4TMatrix< TYPE > &matrix) |
| void | NoTranslation () |
| void | InitRotation (double, double, double, double) |
| void | InitRotation (const C4x4TMatrix< TYPE > &matrix) |
| void | InitScale (double, double, double) |
| template<class TYPE2 > | |
| void | InitScale (const C3DTVector< TYPE2 > &vect) |
| template<class TYPE2 > | |
| void | GetTranslation (C3DTVector< TYPE2 > &vect) const |
| template<class TYPE2 > | |
| void | GetTranslation (C3DTPoint< TYPE2 > &position) const |
| void | PreScale (double x, double y, double z) |
| This affect the translation vector. | |
| template<class TYPE2 > | |
| void | PreScale (const C3DTVector< TYPE2 > &vect) |
| void | PostScale (double x, double y, double z) |
| Does not affect translation vector. | |
| template<class TYPE2 > | |
| void | PostScale (const C3DTVector< TYPE2 > &vect) |
| template<class TYPE2 > | |
| void | GetScale (C3DTVector< TYPE2 > &vect) const |
| void | NoScale () |
| void | Translate (double, double, double) |
| template<class TYPE2 > | |
| void | Translate (const C3DTVector< TYPE2 > &vect) |
| void | Rotate (double angle, double x, double y, double z) |
| void | SetHPBAngles (double heading, double pitch, double bank) |
| bool | GetHPBAngles (double &heading, double &pitch, double &bank) const |
| Return true if angle can be retrieved without singularity, meaning that the matrix could be recompose safely using SetHPBAngle. | |
| void | Transpose (C4x4TMatrix &transMat) const |
| void | Transpose () |
| void | Decompose (MatrixDecomposition &components) const |
| void | Recompose (const MatrixDecomposition &components) |
| bool | IsTrsDecomposable () const |
| C3DTVector< TYPE > | GetRow (int i) const |
| void | SetRow (int i, const C3DTVector< TYPE > &vector) |
| C3DTVector< TYPE > | GetColumn (int i) const |
| void | SetColumn (int i, const C3DTVector< TYPE > &vector) |
| bool | SelfInverse () |
| bool | Inverse (C4x4TMatrix &invertedMatrix) const |
| double | GetDeterminant () const |
| bool | HasReflection () const |
| const TYPE * | ValPtr () const |
| TYPE * | ValPtr () |
| operator TYPE * () | |
| operator const TYPE * () const | |
| unsigned int | SizeOf () const |
| TYPE & | operator() (int i, int j) |
| TYPE | operator() (int i, int j) const |
| void | operator-= (const C4x4TMatrix &submatrix) |
| void | operator+= (const C4x4TMatrix &matrix) |
| template<class TYPE2 > | |
| C4x4TMatrix< TYPE > & | operator= (const C4x4TMatrix< TYPE2 > &refmatrix) |
| void | Decompose (MatrixDecomposition &components) const |
| bool | IsTrsDecomposable () const |
Public Attributes | |
| TYPE | matrix [4][4] |