|
| Matrix3 () |
| Default constructor. More...
|
|
| Matrix3 (const Real arr[3][3]) |
|
| Matrix3 (Real fEntry00, Real fEntry01, Real fEntry02, Real fEntry10, Real fEntry11, Real fEntry12, Real fEntry20, Real fEntry21, Real fEntry22) |
|
Real | Determinant () const |
|
Real | determinant () const |
|
void | EigenSolveSymmetric (Real afEigenvalue[3], Vector3 akEigenvector[3]) const |
| Eigensolver, matrix must be symmetric. More...
|
|
void | FromAngleAxis (const Vector3 &rkAxis, const Radian &fRadians) |
|
void | FromAxes (const Vector3 &xAxis, const Vector3 &yAxis, const Vector3 &zAxis) |
|
void | FromEulerAnglesXYZ (const Radian &fYAngle, const Radian &fPAngle, const Radian &fRAngle) |
|
void | FromEulerAnglesXZY (const Radian &fYAngle, const Radian &fPAngle, const Radian &fRAngle) |
|
void | FromEulerAnglesYXZ (const Radian &fYAngle, const Radian &fPAngle, const Radian &fRAngle) |
|
void | FromEulerAnglesYZX (const Radian &fYAngle, const Radian &fPAngle, const Radian &fRAngle) |
|
void | FromEulerAnglesZXY (const Radian &fYAngle, const Radian &fPAngle, const Radian &fRAngle) |
|
void | FromEulerAnglesZYX (const Radian &fYAngle, const Radian &fPAngle, const Radian &fRAngle) |
|
Vector3 | GetColumn (size_t iCol) const |
|
bool | hasNegativeScale () const |
| Determines if this matrix involves a negative scaling. More...
|
|
bool | hasScale () const |
| Determines if this matrix involves a scaling. More...
|
|
Matrix3 | inverse () const |
|
bool | Inverse (Matrix3 &rkInverse, Real fTolerance=1e-06f) const |
|
Matrix3 | Inverse (Real fTolerance=1e-06f) const |
|
bool | operator!= (const Matrix3 &rkMatrix) const |
| Tests 2 matrices for inequality. More...
|
|
Matrix3 | operator* (const Matrix3 &rkMatrix) const |
| Matrix concatenation using '*'. More...
|
|
Matrix3 | operator* (Real fScalar) const |
| Matrix * scalar. More...
|
|
Matrix3 | operator+ (const Matrix3 &rkMatrix) const |
| Matrix addition. More...
|
|
Matrix3 | operator- () const |
|
Matrix3 | operator- (const Matrix3 &rkMatrix) const |
| Matrix subtraction. More...
|
|
bool | operator== (const Matrix3 &rkMatrix) const |
| Tests 2 matrices for equality. More...
|
|
Real * | operator[] (size_t iRow) |
|
const Real * | operator[] (size_t iRow) const |
| Member access, allows use of construct mat[r][c]. More...
|
|
Matrix3 | orthonormalised () const |
| Gram-Schmidt orthogonalisation (applied to columns of rotation matrix) More...
|
|
void | Orthonormalize () |
|
void | QDUDecomposition (Matrix3 &rkQ, Vector3 &rkD, Vector3 &rkU) const |
| Orthogonal Q, diagonal D, upper triangular U stored as (u01,u02,u12) More...
|
|
void | SetColumn (size_t iCol, const Vector3 &vec) |
|
void | SingularValueComposition (const Matrix3 &rkL, const Vector3 &rkS, const Matrix3 &rkR) |
|
void | SingularValueDecomposition (Matrix3 &rkL, Vector3 &rkS, Matrix3 &rkR) const |
| Singular value decomposition. More...
|
|
Real | SpectralNorm () const |
|
void | ToAngleAxis (Vector3 &rkAxis, Degree &rfAngle) const |
|
void | ToAngleAxis (Vector3 &rkAxis, Radian &rfAngle) const |
| Note: Matrix must be orthonormal. More...
|
|
bool | ToEulerAnglesXYZ (Radian &rfYAngle, Radian &rfPAngle, Radian &rfRAngle) const |
| The matrix must be orthonormal. More...
|
|
bool | ToEulerAnglesXZY (Radian &rfYAngle, Radian &rfPAngle, Radian &rfRAngle) const |
|
bool | ToEulerAnglesYXZ (Radian &rfYAngle, Radian &rfPAngle, Radian &rfRAngle) const |
|
bool | ToEulerAnglesYZX (Radian &rfYAngle, Radian &rfPAngle, Radian &rfRAngle) const |
|
bool | ToEulerAnglesZXY (Radian &rfYAngle, Radian &rfPAngle, Radian &rfRAngle) const |
|
bool | ToEulerAnglesZYX (Radian &rfYAngle, Radian &rfPAngle, Radian &rfRAngle) const |
|
Matrix3 | Transpose () const |
|
Matrix3 | transpose () const |
|
A 3x3 matrix which can represent rotations around axes.
- Note
- All the code is adapted from the Wild Magic 0.2 Matrix library (http://www.geometrictools.com/).
- The coordinate system is assumed to be right-handed.