|
| MatrixF (bool identity=false) |
|
| MatrixF (const EulerF &e) |
|
| MatrixF (const EulerF &e, const Point3F &p) |
|
MatrixF & | set (const EulerF &e) |
| Initialize matrix to rotate about origin by e. More...
|
|
MatrixF & | set (const EulerF &e, const Point3F &p) |
| Initialize matrix to rotate about p by e. More...
|
|
MatrixF & | setCrossProduct (const Point3F &p) |
| Initialize matrix with a cross product of p. More...
|
|
MatrixF & | setTensorProduct (const Point3F &p, const Point3F &q) |
| Initialize matrix with a tensor product of p. More...
|
|
| operator F32 * () |
| Allow people to get at m. More...
|
|
| operator F32 * () const |
| Allow people to get at m. More...
|
|
bool | isAffine () const |
| Check to see if this is an affine matrix. More...
|
|
bool | isIdentity () const |
| Checks for identity matrix. More...
|
|
MatrixF & | identity () |
| Make this an identity matrix. More...
|
|
MatrixF & | inverse () |
| Invert m. More...
|
|
MatrixF & | affineInverse () |
|
MatrixF & | transpose () |
| Swap rows and columns. More...
|
|
MatrixF & | scale (const Point3F &p) |
| M * Matrix(p) -> M. More...
|
|
EulerF | toEuler () const |
|
bool | fullInverse () |
|
void | transposeTo (F32 *matrix) const |
| Swaps rows and columns into matrix. More...
|
|
void | normalize () |
| Normalize the matrix. More...
|
|
void | getColumn (S32 col, Point4F *cptr) const |
| Copy the requested column into a Point4F. More...
|
|
void | getColumn (S32 col, Point3F *cptr) const |
|
void | setColumn (S32 col, const Point4F &cptr) |
| Set the specified column from a Point4F. More...
|
|
void | setColumn (S32 col, const Point3F &cptr) |
|
void | getRow (S32 row, Point4F *cptr) const |
| Copy the specified row into a Point4F. More...
|
|
void | getRow (S32 row, Point3F *cptr) const |
|
void | setRow (S32 row, const Point4F &cptr) |
| Set the specified row from a Point4F. More...
|
|
void | setRow (S32 row, const Point3F &cptr) |
|
Point3F | getPosition () const |
|
void | setPosition (const Point3F &pos) |
|
MatrixF & | mul (const MatrixF &a) |
| M * a -> M. More...
|
|
MatrixF & | mul (const MatrixF &a, const MatrixF &b) |
| a * b -> M More...
|
|
MatrixF & | mul (const F32 a) |
| M * a -> M. More...
|
|
MatrixF & | mul (const MatrixF &a, const F32 b) |
| a * b -> M More...
|
|
void | mul (Point4F &p) const |
| M * p -> p (full [4x4] * [1x4]) More...
|
|
void | mulP (Point3F &p) const |
| M * p -> p (assume w = 1.0f) More...
|
|
void | mulP (const Point3F &p, Point3F *d) const |
| M * p -> d (assume w = 1.0f) More...
|
|
void | mulV (VectorF &p) const |
| M * v -> v (assume w = 0.0f) More...
|
|
void | mulV (const VectorF &p, Point3F *d) const |
| M * v -> d (assume w = 0.0f) More...
|
|
void | mul (Box3F &b) const |
| Axial box -> Axial Box. More...
|
|
F32 & | operator() (S32 row, S32 col) |
| Convenience function to allow people to treat this like an array. More...
|
|
void | dumpMatrix (const char *caption=NULL) const |
|
4x4 Matrix Class
This runs at F32 precision.
Compute the inverse of the matrix.
Computes inverse of full 4x4 matrix. Returns false and performs no inverse if the determinant is 0.
Note: In most cases you want to use the normal inverse function. This method should be used if the matrix has something other than (0,0,0,1) in the bottom row.