#include <vhdMatrix3.h>
Public Member Functions | |
| vhdMatrix3 () | |
| vhdMatrix3 (const vhtReal arr[3][3]) | |
| vhdMatrix3 (const vhtReal *pm) | |
| vhdMatrix3 (const vhdMatrix3 &rkMatrix) | |
| vhdMatrix3 (vhtReal fEntry00, vhtReal fEntry01, vhtReal fEntry02, vhtReal fEntry10, vhtReal fEntry11, vhtReal fEntry12, vhtReal fEntry20, vhtReal fEntry21, vhtReal fEntry22) | |
| vhtReal | get (unsigned int row, unsigned int column) const |
| void | set (unsigned int row, unsigned int column, vhtReal value) |
| vhtReal * | operator[] (int iRow) const |
| operator vhtReal * () | |
| vhdVector3 | getColumn (int iCol) const |
| void | setColumn (int iCol, const vhdVector3 &vec) |
| void | fromAxes (const vhdVector3 &xAxis, const vhdVector3 &yAxis, const vhdVector3 &zAxis) |
| vhdMatrix3 & | operator= (const vhdMatrix3 &rkMatrix) |
| bool | operator== (const vhdMatrix3 &rkMatrix) const |
| bool | operator!= (const vhdMatrix3 &rkMatrix) const |
| vhdMatrix3 | operator+ (const vhdMatrix3 &rkMatrix) const |
| vhdMatrix3 | operator- (const vhdMatrix3 &rkMatrix) const |
| vhdMatrix3 | operator * (const vhdMatrix3 &rkMatrix) const |
| vhdMatrix3 | operator- () const |
| vhdVector3 | operator * (const vhdVector3 &rkvhdVector) const |
| vhdMatrix3 | operator * (vhtReal fScalar) const |
| vhdMatrix3 | transpose () const |
| bool | inverse (vhdMatrix3 &rkInverse, vhtReal fTolerance=1e-06) const |
| vhdMatrix3 | inverse (vhtReal fTolerance=1e-06) const |
| vhtReal | determinant () const |
| void | singularValueDecomposition (vhdMatrix3 &rkL, vhdVector3 &rkS, vhdMatrix3 &rkR) const |
| void | singularValueComposition (const vhdMatrix3 &rkL, const vhdVector3 &rkS, const vhdMatrix3 &rkR) |
| void | orthonormalize () |
| void | qduDecomposition (vhdMatrix3 &rkQ, vhdVector3 &rkD, vhdVector3 &rkU) const |
| vhtReal | spectralNorm () const |
| void | toAxisAngle (vhdVector3 &rkAxis, vhtReal &rfRadians) const |
| void | fromAxisAngle (const vhdVector3 &rkAxis, vhtReal fRadians) |
| bool | toEulerAnglesXYZ (float &rfYAngle, float &rfPAngle, float &rfRAngle) const |
| bool | toEulerAnglesXZY (float &rfYAngle, float &rfPAngle, float &rfRAngle) const |
| bool | toEulerAnglesYXZ (float &rfYAngle, float &rfPAngle, float &rfRAngle) const |
| bool | toEulerAnglesYZX (float &rfYAngle, float &rfPAngle, float &rfRAngle) const |
| bool | toEulerAnglesZXY (float &rfYAngle, float &rfPAngle, float &rfRAngle) const |
| bool | toEulerAnglesZYX (float &rfYAngle, float &rfPAngle, float &rfRAngle) const |
| void | fromEulerAnglesXYZ (float fYAngle, float fPAngle, float fRAngle) |
| void | fromEulerAnglesXZY (float fYAngle, float fPAngle, float fRAngle) |
| void | fromEulerAnglesYXZ (float fYAngle, float fPAngle, float fRAngle) |
| void | fromEulerAnglesYZX (float fYAngle, float fPAngle, float fRAngle) |
| void | fromEulerAnglesZXY (float fYAngle, float fPAngle, float fRAngle) |
| void | fromEulerAnglesZYX (float fYAngle, float fPAngle, float fRAngle) |
| void | eigenSolveSymmetric (vhtReal afEigenvalue[3], vhdVector3 akEigenvhdVector[3]) const |
| void | tridiagonal (vhtReal afDiag[3], vhtReal afSubDiag[3]) |
| bool | qLAlgorithm (vhtReal afDiag[3], vhtReal afSubDiag[3]) |
Static Public Member Functions | |
| static void | tensorProduct (const vhdVector3 &rkU, const vhdVector3 &rkV, vhdMatrix3 &rkProduct) |
| static void | bidiagonalize (vhdMatrix3 &kA, vhdMatrix3 &kL, vhdMatrix3 &kR) |
| static void | golubKahanStep (vhdMatrix3 &kA, vhdMatrix3 &kL, vhdMatrix3 &kR) |
| static vhtReal | maxCubicRoot (vhtReal afCoeff[3]) |
Public Attributes | |
| vhtReal | m [3][3] |
Static Public Attributes | |
| static const vhdMatrix3 | ZERO |
| static const vhdMatrix3 | IDENTITY |
| static const vhtReal | ms_fSvdEpsilon |
| static const int | ms_iSvdMaxIterations |
Friends | |
| class | vhdMatrix4 |
| vhdVector3 | operator * (const vhdVector3 &rkvhdVector, const vhdMatrix3 &rkMatrix) |
| vhdMatrix3 | operator * (vhtReal fScalar, const vhdMatrix3 &rkMatrix) |
| vhdMatrix3::vhdMatrix3 | ( | ) |
| vhdMatrix3::vhdMatrix3 | ( | const vhtReal | arr[3][3] | ) |
| vhdMatrix3::vhdMatrix3 | ( | const vhtReal * | pm | ) | [inline] |
Constructor for a 9-element array of vhtReals.
| vhdMatrix3::vhdMatrix3 | ( | const vhdMatrix3 & | rkMatrix | ) |
| vhdMatrix3::vhdMatrix3 | ( | vhtReal | fEntry00, | |
| vhtReal | fEntry01, | |||
| vhtReal | fEntry02, | |||
| vhtReal | fEntry10, | |||
| vhtReal | fEntry11, | |||
| vhtReal | fEntry12, | |||
| vhtReal | fEntry20, | |||
| vhtReal | fEntry21, | |||
| vhtReal | fEntry22 | |||
| ) |
| vhtReal vhdMatrix3::get | ( | unsigned int | row, | |
| unsigned int | column | |||
| ) | const [inline] |
Returns a value of this matrix specified by the given row and column index.
| void vhdMatrix3::set | ( | unsigned int | row, | |
| unsigned int | column, | |||
| vhtReal | value | |||
| ) | [inline] |
Sets a value of this matrix specified by the given row and column index.
| vhtReal * vhdMatrix3::operator[] | ( | int | iRow | ) | const |
| vhdMatrix3::operator vhtReal * | ( | ) |
| vhdVector3 vhdMatrix3::getColumn | ( | int | iCol | ) | const |
| void vhdMatrix3::setColumn | ( | int | iCol, | |
| const vhdVector3 & | vec | |||
| ) |
| void vhdMatrix3::fromAxes | ( | const vhdVector3 & | xAxis, | |
| const vhdVector3 & | yAxis, | |||
| const vhdVector3 & | zAxis | |||
| ) |
| vhdMatrix3 & vhdMatrix3::operator= | ( | const vhdMatrix3 & | rkMatrix | ) |
| bool vhdMatrix3::operator== | ( | const vhdMatrix3 & | rkMatrix | ) | const |
| bool vhdMatrix3::operator!= | ( | const vhdMatrix3 & | rkMatrix | ) | const |
| vhdMatrix3 vhdMatrix3::operator+ | ( | const vhdMatrix3 & | rkMatrix | ) | const |
| vhdMatrix3 vhdMatrix3::operator- | ( | const vhdMatrix3 & | rkMatrix | ) | const |
| vhdMatrix3 vhdMatrix3::operator * | ( | const vhdMatrix3 & | rkMatrix | ) | const |
| vhdMatrix3 vhdMatrix3::operator- | ( | ) | const |
| vhdVector3 vhdMatrix3::operator * | ( | const vhdVector3 & | rkvhdVector | ) | const |
| vhdMatrix3 vhdMatrix3::operator * | ( | vhtReal | fScalar | ) | const |
| vhdMatrix3 vhdMatrix3::transpose | ( | ) | const |
| bool vhdMatrix3::inverse | ( | vhdMatrix3 & | rkInverse, | |
| vhtReal | fTolerance = 1e-06 | |||
| ) | const |
| vhdMatrix3 vhdMatrix3::inverse | ( | vhtReal | fTolerance = 1e-06 |
) | const |
| vhtReal vhdMatrix3::determinant | ( | ) | const |
| void vhdMatrix3::singularValueDecomposition | ( | vhdMatrix3 & | rkL, | |
| vhdVector3 & | rkS, | |||
| vhdMatrix3 & | rkR | |||
| ) | const |
| void vhdMatrix3::singularValueComposition | ( | const vhdMatrix3 & | rkL, | |
| const vhdVector3 & | rkS, | |||
| const vhdMatrix3 & | rkR | |||
| ) |
| void vhdMatrix3::orthonormalize | ( | ) |
| void vhdMatrix3::qduDecomposition | ( | vhdMatrix3 & | rkQ, | |
| vhdVector3 & | rkD, | |||
| vhdVector3 & | rkU | |||
| ) | const |
| vhtReal vhdMatrix3::spectralNorm | ( | ) | const |
| void vhdMatrix3::toAxisAngle | ( | vhdVector3 & | rkAxis, | |
| vhtReal & | rfRadians | |||
| ) | const |
| void vhdMatrix3::fromAxisAngle | ( | const vhdVector3 & | rkAxis, | |
| vhtReal | fRadians | |||
| ) |
| bool vhdMatrix3::toEulerAnglesXYZ | ( | float & | rfYAngle, | |
| float & | rfPAngle, | |||
| float & | rfRAngle | |||
| ) | const |
| bool vhdMatrix3::toEulerAnglesXZY | ( | float & | rfYAngle, | |
| float & | rfPAngle, | |||
| float & | rfRAngle | |||
| ) | const |
| bool vhdMatrix3::toEulerAnglesYXZ | ( | float & | rfYAngle, | |
| float & | rfPAngle, | |||
| float & | rfRAngle | |||
| ) | const |
| bool vhdMatrix3::toEulerAnglesYZX | ( | float & | rfYAngle, | |
| float & | rfPAngle, | |||
| float & | rfRAngle | |||
| ) | const |
| bool vhdMatrix3::toEulerAnglesZXY | ( | float & | rfYAngle, | |
| float & | rfPAngle, | |||
| float & | rfRAngle | |||
| ) | const |
| bool vhdMatrix3::toEulerAnglesZYX | ( | float & | rfYAngle, | |
| float & | rfPAngle, | |||
| float & | rfRAngle | |||
| ) | const |
| void vhdMatrix3::fromEulerAnglesXYZ | ( | float | fYAngle, | |
| float | fPAngle, | |||
| float | fRAngle | |||
| ) |
| void vhdMatrix3::fromEulerAnglesXZY | ( | float | fYAngle, | |
| float | fPAngle, | |||
| float | fRAngle | |||
| ) |
| void vhdMatrix3::fromEulerAnglesYXZ | ( | float | fYAngle, | |
| float | fPAngle, | |||
| float | fRAngle | |||
| ) |
| void vhdMatrix3::fromEulerAnglesYZX | ( | float | fYAngle, | |
| float | fPAngle, | |||
| float | fRAngle | |||
| ) |
| void vhdMatrix3::fromEulerAnglesZXY | ( | float | fYAngle, | |
| float | fPAngle, | |||
| float | fRAngle | |||
| ) |
| void vhdMatrix3::fromEulerAnglesZYX | ( | float | fYAngle, | |
| float | fPAngle, | |||
| float | fRAngle | |||
| ) |
| void vhdMatrix3::eigenSolveSymmetric | ( | vhtReal | afEigenvalue[3], | |
| vhdVector3 | akEigenvhdVector[3] | |||
| ) | const |
| void vhdMatrix3::tensorProduct | ( | const vhdVector3 & | rkU, | |
| const vhdVector3 & | rkV, | |||
| vhdMatrix3 & | rkProduct | |||
| ) | [static] |
| void vhdMatrix3::bidiagonalize | ( | vhdMatrix3 & | kA, | |
| vhdMatrix3 & | kL, | |||
| vhdMatrix3 & | kR | |||
| ) | [static] |
| void vhdMatrix3::golubKahanStep | ( | vhdMatrix3 & | kA, | |
| vhdMatrix3 & | kL, | |||
| vhdMatrix3 & | kR | |||
| ) | [static] |
friend class vhdMatrix4 [friend] |
| vhdVector3 operator * | ( | const vhdVector3 & | rkvhdVector, | |
| const vhdMatrix3 & | rkMatrix | |||
| ) | [friend] |
| vhdMatrix3 operator * | ( | vhtReal | fScalar, | |
| const vhdMatrix3 & | rkMatrix | |||
| ) | [friend] |
const vhdMatrix3 vhdMatrix3::ZERO [static] |
const vhdMatrix3 vhdMatrix3::IDENTITY [static] |
const vhtReal vhdMatrix3::ms_fSvdEpsilon [static] |
const int vhdMatrix3::ms_iSvdMaxIterations [static] |
| vhtReal vhdMatrix3::m[3][3] |
1.5.1-p1