#include <OgreMatrix3.h>
Public Methods | |
Matrix3 () | |
Default constructor. | |
Matrix3 (const Real arr[3][3]) | |
Matrix3 (const Matrix3 &rkMatrix) | |
Matrix3 (Real fEntry00, Real fEntry01, Real fEntry02, Real fEntry10, Real fEntry11, Real fEntry12, Real fEntry20, Real fEntry21, Real fEntry22) | |
Real * | operator[] (size_t iRow) const |
Vector3 | GetColumn (size_t iCol) const |
void | SetColumn (size_t iCol, const Vector3 &vec) |
void | FromAxes (const Vector3 &xAxis, const Vector3 &yAxis, const Vector3 &zAxis) |
Matrix3 & | operator= (const Matrix3 &rkMatrix) |
bool | operator== (const Matrix3 &rkMatrix) const |
bool | operator!= (const Matrix3 &rkMatrix) const |
Matrix3 | operator+ (const Matrix3 &rkMatrix) const |
Matrix3 | operator- (const Matrix3 &rkMatrix) const |
Matrix3 | operator * (const Matrix3 &rkMatrix) const |
Matrix3 | operator- () const |
Vector3 | operator * (const Vector3 &rkVector) const |
Matrix3 | operator * (Real fScalar) const |
Matrix3 | Transpose () const |
bool | Inverse (Matrix3 &rkInverse, Real fTolerance=1e-06) const |
Matrix3 | Inverse (Real fTolerance=1e-06) const |
Real | Determinant () const |
void | SingularValueDecomposition (Matrix3 &rkL, Vector3 &rkS, Matrix3 &rkR) const |
void | SingularValueComposition (const Matrix3 &rkL, const Vector3 &rkS, const Matrix3 &rkR) |
void | Orthonormalize () |
void | QDUDecomposition (Matrix3 &rkQ, Vector3 &rkD, Vector3 &rkU) const |
Real | SpectralNorm () const |
void | ToAxisAngle (Vector3 &rkAxis, Radian &rfAngle) const |
void | ToAxisAngle (Vector3 &rkAxis, Degree &rfAngle) const |
void | FromAxisAngle (const Vector3 &rkAxis, const Radian &fRadians) |
bool | ToEulerAnglesXYZ (Radian &rfYAngle, Radian &rfPAngle, Radian &rfRAngle) const |
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 |
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) |
void | EigenSolveSymmetric (Real afEigenvalue[3], Vector3 akEigenvector[3]) const |
Static Public Methods | |
void | TensorProduct (const Vector3 &rkU, const Vector3 &rkV, Matrix3 &rkProduct) |
Static Public Attributes | |
const Real | EPSILON = 1e-06 |
const Matrix3 | ZERO |
const Matrix3 | IDENTITY |
Protected Methods | |
void | Tridiagonal (Real afDiag[3], Real afSubDiag[3]) |
bool | QLAlgorithm (Real afDiag[3], Real afSubDiag[3]) |
Static Protected Methods | |
void | Bidiagonalize (Matrix3 &kA, Matrix3 &kL, Matrix3 &kR) |
void | GolubKahanStep (Matrix3 &kA, Matrix3 &kL, Matrix3 &kR) |
Real | MaxCubicRoot (Real afCoeff[3]) |
Protected Attributes | |
Real | m [3][3] |
Static Protected Attributes | |
const Real | ms_fSvdEpsilon = 1e-04 |
const unsigned int | ms_iSvdMaxIterations = 32 |
Friends | |
class | Matrix4 |
_OgreExport friend Vector3 | operator * (const Vector3 &rkVector, const Matrix3 &rkMatrix) |
_OgreExport friend Matrix3 | operator * (Real fScalar, const Matrix3 &rkMatrix) |
The coordinate system is assumed to be right-handed.
Definition at line 59 of file OgreMatrix3.h.
|
Default constructor.
Definition at line 66 of file OgreMatrix3.h. |
|
Definition at line 67 of file OgreMatrix3.h. References Ogre::Real. |
|
Definition at line 71 of file OgreMatrix3.h. References m, and Ogre::Real. |
|
Definition at line 75 of file OgreMatrix3.h. References Ogre::Real. |
|
Definition at line 260 of file OgreMatrix3.cpp. References Ogre::Real. Referenced by SingularValueDecomposition(). |
|
Definition at line 243 of file OgreMatrix3.cpp. References m, and Ogre::Real. |
|
Definition at line 1472 of file OgreMatrix3.cpp. References Ogre::Vector3::crossProduct(), Ogre::Vector3::dotProduct(), QLAlgorithm(), Ogre::Real, and Tridiagonal(). |
|
Definition at line 57 of file OgreMatrix3.cpp. References SetColumn(). Referenced by Ogre::MeshManager::createCurvedIllusionPlane(), Ogre::MeshManager::createCurvedPlane(), and Ogre::MeshManager::createPlane(). |
|
Definition at line 977 of file OgreMatrix3.cpp. References m, Ogre::Real, Ogre::Vector3::x, Ogre::Vector3::y, and Ogre::Vector3::z. |
|
Definition at line 1213 of file OgreMatrix3.cpp. References Ogre::Real. Referenced by Ogre::Overlay::updateTransform(). |
|
Definition at line 1233 of file OgreMatrix3.cpp. References Ogre::Real. |
|
Definition at line 1253 of file OgreMatrix3.cpp. References Ogre::Real. |
|
Definition at line 1273 of file OgreMatrix3.cpp. References Ogre::Real. |
|
Definition at line 1293 of file OgreMatrix3.cpp. References Ogre::Real. |
|
Definition at line 1313 of file OgreMatrix3.cpp. References Ogre::Real. |
|
Definition at line 41 of file OgreMatrix3.cpp. References m. Referenced by Ogre::Frustum::updateView(). |
|
Definition at line 375 of file OgreMatrix3.cpp. References Ogre::Real. Referenced by SingularValueDecomposition(). |
|
Definition at line 236 of file OgreMatrix3.cpp. References Inverse(), and Ogre::Real. |
|
Definition at line 194 of file OgreMatrix3.cpp. References m, and Ogre::Real. Referenced by Inverse(). |
|
Definition at line 795 of file OgreMatrix3.cpp. References Ogre::Real. Referenced by SpectralNorm(). |
|
Definition at line 161 of file OgreMatrix3.cpp. References m, and Ogre::Real. |
|
Definition at line 124 of file OgreMatrix3.cpp. References m. |
|
Definition at line 108 of file OgreMatrix3.cpp. References m. |
|
Definition at line 110 of file OgreMatrix3.h. References Ogre::operator==(). |
|
Definition at line 80 of file OgreMatrix3.cpp. References m. |
|
Definition at line 150 of file OgreMatrix3.cpp. References m. |
|
Definition at line 94 of file OgreMatrix3.cpp. References m. |
|
Definition at line 104 of file OgreMatrix3.h. References m, and Ogre::Real. |
|
Definition at line 66 of file OgreMatrix3.cpp. References m. |
|
Definition at line 91 of file OgreMatrix3.h. References Ogre::Real. |
|
Definition at line 628 of file OgreMatrix3.cpp. References m, and Ogre::Real. |
|
Definition at line 691 of file OgreMatrix3.cpp. References m, and Ogre::Real. |
|
Definition at line 1391 of file OgreMatrix3.cpp. References m, and Ogre::Real. Referenced by EigenSolveSymmetric(). |
|
Definition at line 48 of file OgreMatrix3.cpp. References m, Ogre::Vector3::x, Ogre::Vector3::y, and Ogre::Vector3::z. Referenced by FromAxes(). |
|
Definition at line 603 of file OgreMatrix3.cpp. References m. |
|
Definition at line 480 of file OgreMatrix3.cpp. References Bidiagonalize(), GolubKahanStep(), ms_fSvdEpsilon, ms_iSvdMaxIterations, and Ogre::Real. |
|
Definition at line 839 of file OgreMatrix3.cpp. References m, MaxCubicRoot(), and Ogre::Real. |
|
Definition at line 1498 of file OgreMatrix3.cpp. |
|
Definition at line 157 of file OgreMatrix3.h. |
|
Definition at line 880 of file OgreMatrix3.cpp. References m, Ogre::Vector3::normalise(), Ogre::Real, Ogre::Vector3::x, Ogre::Vector3::y, and Ogre::Vector3::z. |
|
Definition at line 1003 of file OgreMatrix3.cpp. References m. |
|
Definition at line 1038 of file OgreMatrix3.cpp. References m. |
|
Definition at line 1073 of file OgreMatrix3.cpp. References m. |
|
Definition at line 1108 of file OgreMatrix3.cpp. References m. |
|
Definition at line 1143 of file OgreMatrix3.cpp. References m. |
|
Definition at line 1178 of file OgreMatrix3.cpp. References m. |
|
Definition at line 183 of file OgreMatrix3.cpp. References m. Referenced by Ogre::Frustum::updateView(). |
|
Definition at line 1333 of file OgreMatrix3.cpp. References EPSILON, m, and Ogre::Real. Referenced by EigenSolveSymmetric(). |
|
Definition at line 299 of file OgreMatrix3.h. |
|
Definition at line 172 of file OgreMatrix3.cpp. |
|
Definition at line 137 of file OgreMatrix3.cpp. |
|
Definition at line 34 of file OgreMatrix3.cpp. Referenced by Tridiagonal(). |
|
|
|
Definition at line 296 of file OgreMatrix3.h. Referenced by Determinant(), Ogre::Matrix4::extract3x3Matrix(), FromAxisAngle(), GetColumn(), Inverse(), Matrix3(), Ogre::operator *(), operator *(), operator+(), operator-(), Ogre::Matrix4::operator=(), operator=(), operator==(), Orthonormalize(), QDUDecomposition(), QLAlgorithm(), SetColumn(), SingularValueComposition(), SpectralNorm(), ToAxisAngle(), ToEulerAnglesXYZ(), ToEulerAnglesXZY(), ToEulerAnglesYXZ(), ToEulerAnglesYZX(), ToEulerAnglesZXY(), ToEulerAnglesZYX(), Transpose(), and Tridiagonal(). |
|
Definition at line 37 of file OgreMatrix3.cpp. Referenced by SingularValueDecomposition(). |
|
Definition at line 38 of file OgreMatrix3.cpp. Referenced by SingularValueDecomposition(). |
|
|
Copyright © 2002-2003 by The OGRE Team
Last modified Sun Nov 28 19:51:12 2004