#include <Matrix33.h>
Public Member Functions | |
Matrix33 () | |
Default constructor. | |
Matrix33 (const Real arr[3][3]) | |
Matrix33 (const Matrix33 &rkMatrix) | |
Matrix33 (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) |
Matrix33 & | operator= (const Matrix33 &rkMatrix) |
bool | operator== (const Matrix33 &rkMatrix) const |
bool | operator!= (const Matrix33 &rkMatrix) const |
Matrix33 | operator+ (const Matrix33 &rkMatrix) const |
Matrix33 | operator- (const Matrix33 &rkMatrix) const |
Matrix33 | operator * (const Matrix33 &rkMatrix) const |
Matrix33 | operator- () const |
Vector3 | operator * (const Vector3 &rkVector) const |
Matrix33 | operator * (Real fScalar) const |
Matrix33 | Transpose () const |
bool | Inverse (Matrix33 &rkInverse, Real fTolerance=1e-06) const |
Matrix33 | Inverse (Real fTolerance=1e-06) const |
Real | Determinant () const |
void | SingularValueDecomposition (Matrix33 &rkL, Vector3 &rkS, Matrix33 &rkR) const |
void | SingularValueComposition (const Matrix33 &rkL, const Vector3 &rkS, const Matrix33 &rkR) |
void | Orthonormalize () |
void | QDUDecomposition (Matrix33 &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) |
void | ToAxisAngle (Vector3 &rkAxis, Real &rfRadians) const |
void | FromAxisAngle (const Vector3 &rkAxis, Real 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) |
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 (Real afEigenvalue[3], Vector3 akEigenvector[3]) const |
Static Public Member Functions | |
static void | TensorProduct (const Vector3 &rkU, const Vector3 &rkV, Matrix33 &rkProduct) |
Static Public Attributes | |
static const Real | EPSILON |
static const Matrix33 | ZERO |
static const Matrix33 | IDENTITY |
Protected Member Functions | |
void | Tridiagonal (Real afDiag[3], Real afSubDiag[3]) |
bool | QLAlgorithm (Real afDiag[3], Real afSubDiag[3]) |
Static Protected Member Functions | |
static void | Bidiagonalize (Matrix33 &kA, Matrix33 &kL, Matrix33 &kR) |
static void | GolubKahanStep (Matrix33 &kA, Matrix33 &kL, Matrix33 &kR) |
static Real | MaxCubicRoot (Real afCoeff[3]) |
Protected Attributes | |
Real | m [3][3] |
Static Protected Attributes | |
static const Real | ms_fSvdEpsilon |
static const unsigned int | ms_iSvdMaxIterations |
Friends | |
class | Matrix44 |
_PeonExport friend Vector3 | operator * (const Vector3 &rkVector, const Matrix33 &rkMatrix) |
_PeonExport friend Matrix33 | operator * (Real fScalar, const Matrix33 &rkMatrix) |
|
Default constructor.
|