|  | OGRE
    1.11.6
    Object-Oriented Graphics Rendering Engine | 
A 3x3 matrix which can represent rotations around axes. More...
#include <OgreMatrix3.h>
| Public Member Functions | |
| 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... | |
| bool | Inverse (Matrix3 &rkInverse, Real fTolerance=1e-06f) const | 
| Matrix3 | Inverse (Real fTolerance=1e-06f) const | 
| Matrix3 | inverse () 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 &rkMatrix) const | 
| Matrix subtraction.  More... | |
| Matrix3 | operator- () const | 
| bool | operator== (const Matrix3 &rkMatrix) const | 
| Tests 2 matrices for equality.  More... | |
| const Real * | operator[] (size_t iRow) const | 
| Member access, allows use of construct mat[r][c].  More... | |
| Real * | operator[] (size_t iRow) | 
| void | Orthonormalize () | 
| Gram-Schmidt orthonormalization (applied to columns of rotation matrix)  More... | |
| 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, Radian &rfAngle) const | 
| Note: Matrix must be orthonormal.  More... | |
| void | ToAngleAxis (Vector3 &rkAxis, Degree &rfAngle) const | 
| 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 | 
| Static Public Member Functions | |
| static void | TensorProduct (const Vector3 &rkU, const Vector3 &rkV, Matrix3 &rkProduct) | 
| Static Public Attributes | |
| static const Real | EPSILON | 
| static const Matrix3 | IDENTITY | 
| static const Matrix3 | ZERO | 
| Friends | |
| class | Matrix4 | 
| _OgreExport friend Vector3 | operator* (const Vector3 &rkVector, const Matrix3 &rkMatrix) | 
| Vector * matrix [1x3 * 3x3 = 1x3].  More... | |
| _OgreExport friend Matrix3 | operator* (Real fScalar, const Matrix3 &rkMatrix) | 
| Scalar * matrix.  More... | |
| std::ostream & | operator<< (std::ostream &o, const Matrix3 &mat) | 
| Function for writing to a stream.  More... | |
A 3x3 matrix which can represent rotations around axes.
| 
 | inline | 
Default constructor.
| 
 | inlineexplicit | 
| 
 | inline | 
| 
 | inline | 
Member access, allows use of construct mat[r][c].
| 
 | inline | 
References Ogre::operator==().
| Vector3 Ogre::Matrix3::GetColumn | ( | size_t | iCol | ) | const | 
| void Ogre::Matrix3::SetColumn | ( | size_t | iCol, | 
| const Vector3 & | vec | ||
| ) | 
| void Ogre::Matrix3::FromAxes | ( | const Vector3 & | xAxis, | 
| const Vector3 & | yAxis, | ||
| const Vector3 & | zAxis | ||
| ) | 
| bool Ogre::Matrix3::operator== | ( | const Matrix3 & | rkMatrix | ) | const | 
Tests 2 matrices for equality.
| 
 | inline | 
Tests 2 matrices for inequality.
References Ogre::operator*(), Ogre::operator+(), Ogre::operator-(), and Ogre::operator==().
| Matrix3 Ogre::Matrix3::operator- | ( | ) | const | 
| Matrix3 Ogre::Matrix3::Transpose | ( | ) | const | 
| Real Ogre::Matrix3::Determinant | ( | ) | const | 
| 
 | inline | 
| 
 | inline | 
| 
 | inline | 
| 
 | inline | 
Determines if this matrix involves a negative scaling.
| void Ogre::Matrix3::SingularValueDecomposition | ( | Matrix3 & | rkL, | 
| Vector3 & | rkS, | ||
| Matrix3 & | rkR | ||
| ) | const | 
Singular value decomposition.
| void Ogre::Matrix3::SingularValueComposition | ( | const Matrix3 & | rkL, | 
| const Vector3 & | rkS, | ||
| const Matrix3 & | rkR | ||
| ) | 
| void Ogre::Matrix3::Orthonormalize | ( | ) | 
Gram-Schmidt orthonormalization (applied to columns of rotation matrix)
Orthogonal Q, diagonal D, upper triangular U stored as (u01,u02,u12)
| Real Ogre::Matrix3::SpectralNorm | ( | ) | const | 
Note: Matrix must be orthonormal.
| bool Ogre::Matrix3::ToEulerAnglesXYZ | ( | Radian & | rfYAngle, | 
| Radian & | rfPAngle, | ||
| Radian & | rfRAngle | ||
| ) | const | 
The matrix must be orthonormal.
The decomposition is yaw*pitch*roll where yaw is rotation about the Up vector, pitch is rotation about the Right axis, and roll is rotation about the Direction axis.
| bool Ogre::Matrix3::ToEulerAnglesXZY | ( | Radian & | rfYAngle, | 
| Radian & | rfPAngle, | ||
| Radian & | rfRAngle | ||
| ) | const | 
| bool Ogre::Matrix3::ToEulerAnglesYXZ | ( | Radian & | rfYAngle, | 
| Radian & | rfPAngle, | ||
| Radian & | rfRAngle | ||
| ) | const | 
| bool Ogre::Matrix3::ToEulerAnglesYZX | ( | Radian & | rfYAngle, | 
| Radian & | rfPAngle, | ||
| Radian & | rfRAngle | ||
| ) | const | 
| bool Ogre::Matrix3::ToEulerAnglesZXY | ( | Radian & | rfYAngle, | 
| Radian & | rfPAngle, | ||
| Radian & | rfRAngle | ||
| ) | const | 
| bool Ogre::Matrix3::ToEulerAnglesZYX | ( | Radian & | rfYAngle, | 
| Radian & | rfPAngle, | ||
| Radian & | rfRAngle | ||
| ) | const | 
| void Ogre::Matrix3::FromEulerAnglesXYZ | ( | const Radian & | fYAngle, | 
| const Radian & | fPAngle, | ||
| const Radian & | fRAngle | ||
| ) | 
| void Ogre::Matrix3::FromEulerAnglesXZY | ( | const Radian & | fYAngle, | 
| const Radian & | fPAngle, | ||
| const Radian & | fRAngle | ||
| ) | 
| void Ogre::Matrix3::FromEulerAnglesYXZ | ( | const Radian & | fYAngle, | 
| const Radian & | fPAngle, | ||
| const Radian & | fRAngle | ||
| ) | 
| void Ogre::Matrix3::FromEulerAnglesYZX | ( | const Radian & | fYAngle, | 
| const Radian & | fPAngle, | ||
| const Radian & | fRAngle | ||
| ) | 
| void Ogre::Matrix3::FromEulerAnglesZXY | ( | const Radian & | fYAngle, | 
| const Radian & | fPAngle, | ||
| const Radian & | fRAngle | ||
| ) | 
| void Ogre::Matrix3::FromEulerAnglesZYX | ( | const Radian & | fYAngle, | 
| const Radian & | fPAngle, | ||
| const Radian & | fRAngle | ||
| ) | 
Eigensolver, matrix must be symmetric.
| 
 | static | 
| 
 | inline | 
Determines if this matrix involves a scaling.
References Ogre::Math::RealEqual().
| 
 | friend | 
Vector * matrix [1x3 * 3x3 = 1x3].
Scalar * matrix.
| 
 | friend | 
Function for writing to a stream.
| 
 | static | 
| 
 | static | 
| 
 | static |