This class implements a 4x4 matrix object.
#include <IGameType.h>

| Public Member Functions | |
| GRow * | GetAddr () | 
| Return the Address of the GMatrix. This
allows direct access via the [] operator. | |
| const GRow * | GetAddr () const | 
| Return the Address of the GMatrix. This
allows direct access via the [] operator. | |
| IGAMEEXPORT | GMatrix () | 
| Default constructor, set Identity matrix. | |
| IGAMEEXPORT | GMatrix (Matrix3) | 
| Constructor from a Matrix3. | |
| void | ResetMatrix () | 
| Set all values to 0.0f. | |
| IGAMEEXPORT BOOL | IsIdentity (float epsilon=1E-5f) | 
| Determine whether or not the matrix is an
Identity matrix. | |
| IGAMEEXPORT void | SetIdentity () | 
| Set the Standard Identity Matrix. | |
| IGAMEEXPORT float | Determinant () const | 
| Return Determinant of matrix. | |
| IGAMEEXPORT GMatrix | Inverse () | 
| Return Inverse of matrix. | |
| IGAMEEXPORT Point3 | Translation () const | 
| Return a translation transformation. | |
| IGAMEEXPORT Quat | Rotation () const | 
| Return a essential rotation transformation. | |
| IGAMEEXPORT Point3 | Scaling () const | 
| Return a scaling transformation. | |
| Quat | ScaleRotation () const | 
| Return a stretch transformation. | |
| IGAMEEXPORT int | Parity () const | 
| Return 'parity' sign of the matrix, -1 if
negative, 1 otherwise. | |
| IGAMEEXPORT Point4 | GetColumn (int i) const | 
| Access to the matrix column. | |
| IGAMEEXPORT void | SetColumn (int i, Point4 col) | 
| Set the the matrix column. | |
| Point4 | GetRow (int i) const | 
| Access to the matrix row. | |
| IGAMEEXPORT void | SetRow (int i, Point4 row) | 
| Set to the matrix row to the desired data. | |
| IGAMEEXPORT Matrix3 | ExtractMatrix3 () const | 
| Extract a Matrix3 from the GMatrix. | |
| Subscript Operator | |
| Point4 & | operator[] (int i) | 
| Return a reference to the 'i-th' Point4 of the matrix. | |
| const Point4 & | operator[] (int i) const | 
| Binary operators | |
| IGAMEEXPORT GMatrix | operator- (const GMatrix &) const | 
| IGAMEEXPORT GMatrix | operator* (const GMatrix &) const | 
| IGAMEEXPORT GMatrix | operator+ (const GMatrix &) const | 
| Assignment operators | |
| IGAMEEXPORT GMatrix & | operator-= (const GMatrix &M) | 
| IGAMEEXPORT GMatrix & | operator+= (const GMatrix &M) | 
| IGAMEEXPORT GMatrix & | operator*= (const GMatrix &M) | 
| IGAMEEXPORT GMatrix & | operator*= (const float a) | 
| IGAMEEXPORT GMatrix & | operator= (const Matrix3 &) | 
| Assignment operator from a Matrix3. | |
| Comparison operators | |
| IGAMEEXPORT BOOL | operator== (const GMatrix &M) const | 
| IGAMEEXPORT BOOL | Equals (const GMatrix &M, float epsilon=1E-5f) const | 
| Test for equality within the specified
tolerance. | |
| Friends | |
| IGAMEEXPORT Point3 | operator* (const Point3 &V, const GMatrix &A) | 
| Multiply a GMatrix with a
Point3. | |
| IGAMEEXPORT GMatrix | ( | ) | 
Default constructor, set Identity matrix.
| Point4& operator[] | ( | int | i | ) | [inline] | 
| GRow* GetAddr | ( | ) | [inline] | 
| const GRow* GetAddr | ( | ) | const [inline] | 
| void ResetMatrix | ( | ) | 
Set all values to 0.0f.
| IGAMEEXPORT BOOL IsIdentity | ( | float | epsilon = 1E-5f | ) | 
Determine whether or not the matrix is an Identity matrix.
within the specified tolerance
| epsilon | Tolerance defaulted to epsilon = 1E-5f | 
| IGAMEEXPORT void SetIdentity | ( | ) | 
Set the Standard Identity Matrix.
| IGAMEEXPORT float Determinant | ( | ) | const | 
Return Determinant of matrix.
| IGAMEEXPORT GMatrix Inverse | ( | ) | 
Return Inverse of matrix.
| IGAMEEXPORT Point3 Translation | ( | ) | const | 
Return a translation transformation.
| IGAMEEXPORT Quat Rotation | ( | ) | const | 
Return a essential rotation transformation.
| IGAMEEXPORT Point3 Scaling | ( | ) | const | 
Return a scaling transformation.
| Quat ScaleRotation | ( | ) | const | 
Return a stretch transformation.
This is the axis system of the scaling application
| IGAMEEXPORT int Parity | ( | ) | const | 
Return 'parity' sign of the matrix, -1 if negative, 1 otherwise.
| IGAMEEXPORT Point4 GetColumn | ( | int | i | ) | const | 
Access to the matrix column.
| i | The number of the column to retrieve | 
| IGAMEEXPORT void SetColumn | ( | int | i, | 
| Point4 | col | ||
| ) | 
Set the the matrix column.
| Point4 GetRow | ( | int | i | ) | const [inline] | 
| IGAMEEXPORT void SetRow | ( | int | i, | 
| Point4 | row | ||
| ) | 
Set to the matrix row to the desired data.
| IGAMEEXPORT GMatrix& operator*= | ( | const float | a | ) | 
| IGAMEEXPORT BOOL operator== | ( | const GMatrix & | M | ) | const | 
| IGAMEEXPORT BOOL Equals | ( | const GMatrix & | M, | 
| float | epsilon = 1E-5f | ||
| ) | const | 
Test for equality within the specified tolerance.
| IGAMEEXPORT Matrix3 ExtractMatrix3 | ( | ) | const |