![]() |
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] |