#include <Wm4Matrix3.h>
Public Member Functions | |
Matrix3 | Adjoint () const |
Real | Determinant () const |
Matrix3 | DiagonalTimes (const Vector3< Real > &rkDiag) const |
void | EigenDecomposition (Matrix3 &rkRot, Matrix3 &rkDiag) const |
Matrix3 & | FromAxisAngle (const Vector3< Real > &rkAxis, Real fAngle) |
Matrix3 & | FromEulerAnglesXYZ (Real fXAngle, Real fYAngle, Real fZAngle) |
Matrix3 & | FromEulerAnglesXZY (Real fXAngle, Real fZAngle, Real fYAngle) |
Matrix3 & | FromEulerAnglesYXZ (Real fYAngle, Real fXAngle, Real fZAngle) |
Matrix3 & | FromEulerAnglesYZX (Real fYAngle, Real fZAngle, Real fXAngle) |
Matrix3 & | FromEulerAnglesZXY (Real fZAngle, Real fXAngle, Real fYAngle) |
Matrix3 & | FromEulerAnglesZYX (Real fZAngle, Real fYAngle, Real fXAngle) |
Vector3< Real > | GetColumn (int iCol) const |
void | GetColumnMajor (Real *afCMajor) const |
Vector3< Real > | GetRow (int iRow) const |
Matrix3 | Inverse () const |
Matrix3 & | MakeDiagonal (Real fM00, Real fM11, Real fM22) |
Matrix3 & | MakeIdentity () |
Matrix3 & | MakeTensorProduct (const Vector3< Real > &rkU, const Vector3< Real > &rkV) |
Matrix3 & | MakeZero () |
Matrix3 (const Vector3< Real > &rkU, const Vector3< Real > &rkV) | |
Matrix3 (const Vector3< Real > &rkAxis, Real fAngle) | |
Matrix3 (Real fM00, Real fM11, Real fM22) | |
Matrix3 (const Vector3< Real > *akV, bool bColumns) | |
Matrix3 (const Vector3< Real > &rkU, const Vector3< Real > &rkV, const Vector3< Real > &rkW, bool bColumns) | |
Matrix3 (const Real afEntry[9], bool bRowMajor) | |
Matrix3 (Real fM00, Real fM01, Real fM02, Real fM10, Real fM11, Real fM12, Real fM20, Real fM21, Real fM22) | |
Matrix3 (const Matrix3 &rkM) | |
Matrix3 (bool bZero=true) | |
operator const Real * () const | |
operator Real * () | |
bool | operator!= (const Matrix3 &rkM) const |
Real & | operator() (int iRow, int iCol) |
Real | operator() (int iRow, int iCol) const |
Vector3< Real > | operator* (const Vector3< Real > &rkV) const |
Matrix3 | operator* (Real fScalar) const |
Matrix3 | operator* (const Matrix3 &rkM) const |
Matrix3 & | operator*= (Real fScalar) |
Matrix3 | operator+ (const Matrix3 &rkM) const |
Matrix3 & | operator+= (const Matrix3 &rkM) |
Matrix3 | operator- () const |
Matrix3 | operator- (const Matrix3 &rkM) const |
Matrix3 & | operator-= (const Matrix3 &rkM) |
Matrix3 | operator/ (Real fScalar) const |
Matrix3 & | operator/= (Real fScalar) |
bool | operator< (const Matrix3 &rkM) const |
bool | operator<= (const Matrix3 &rkM) const |
Matrix3 & | operator= (const Matrix3 &rkM) |
bool | operator== (const Matrix3 &rkM) const |
bool | operator> (const Matrix3 &rkM) const |
bool | operator>= (const Matrix3 &rkM) const |
Real * | operator[] (int iRow) |
const Real * | operator[] (int iRow) const |
void | Orthonormalize () |
void | QDUDecomposition (Matrix3 &rkQ, Matrix3 &rkD, Matrix3 &rkU) const |
Real | QForm (const Vector3< Real > &rkU, const Vector3< Real > &rkV) const |
void | SetColumn (int iCol, const Vector3< Real > &rkV) |
void | SetRow (int iRow, const Vector3< Real > &rkV) |
void | SingularValueComposition (const Matrix3 &rkL, const Matrix3 &rkS, const Matrix3 &rkR) |
void | SingularValueDecomposition (Matrix3 &rkL, Matrix3 &rkS, Matrix3 &rkR) const |
Matrix3 & | Slerp (Real fT, const Matrix3 &rkR0, const Matrix3 &rkR1) |
Matrix3 | TimesDiagonal (const Vector3< Real > &rkDiag) const |
Matrix3 | TimesTranspose (const Matrix3 &rkM) const |
void | ToAxisAngle (Vector3< Real > &rkAxis, Real &rfAngle) const |
bool | ToEulerAnglesXYZ (Real &rfXAngle, Real &rfYAngle, Real &rfZAngle) const |
bool | ToEulerAnglesXZY (Real &rfXAngle, Real &rfZAngle, Real &rfYAngle) const |
bool | ToEulerAnglesYXZ (Real &rfYAngle, Real &rfXAngle, Real &rfZAngle) const |
bool | ToEulerAnglesYZX (Real &rfYAngle, Real &rfZAngle, Real &rfXAngle) const |
bool | ToEulerAnglesZXY (Real &rfZAngle, Real &rfXAngle, Real &rfYAngle) const |
bool | ToEulerAnglesZYX (Real &rfZAngle, Real &rfYAngle, Real &rfXAngle) const |
Matrix3 | Transpose () const |
Matrix3 | TransposeTimes (const Matrix3 &rkM) const |
Static Public Attributes | |
static const Matrix3 | IDENTITY |
static const Matrix3 | ZERO |
Definition at line 61 of file Wm4Matrix3.h.
Wm4::Matrix3< Real >::Matrix3 | ( | bool | bZero = true |
) | [inline] |
Definition at line 21 of file Wm4Matrix3.inl.
References Wm4::Matrix3< Real >::MakeIdentity(), and Wm4::Matrix3< Real >::MakeZero().
Wm4::Matrix3< Real >::Matrix3 | ( | const Matrix3< Real > & | rkM | ) | [inline] |
Definition at line 34 of file Wm4Matrix3.inl.
Wm4::Matrix3< Real >::Matrix3 | ( | Real | fM00, | |
Real | fM01, | |||
Real | fM02, | |||
Real | fM10, | |||
Real | fM11, | |||
Real | fM12, | |||
Real | fM20, | |||
Real | fM21, | |||
Real | fM22 | |||
) | [inline] |
Definition at line 48 of file Wm4Matrix3.inl.
Wm4::Matrix3< Real >::Matrix3 | ( | const Real | afEntry[9], | |
bool | bRowMajor | |||
) | [inline] |
Definition at line 63 of file Wm4Matrix3.inl.
Wm4::Matrix3< Real >::Matrix3 | ( | const Vector3< Real > & | rkU, | |
const Vector3< Real > & | rkV, | |||
const Vector3< Real > & | rkW, | |||
bool | bColumns | |||
) | [inline] |
Definition at line 92 of file Wm4Matrix3.inl.
Wm4::Matrix3< Real >::Matrix3 | ( | const Vector3< Real > * | akV, | |
bool | bColumns | |||
) | [inline] |
Definition at line 122 of file Wm4Matrix3.inl.
Wm4::Matrix3< Real >::Matrix3 | ( | Real | fM00, | |
Real | fM11, | |||
Real | fM22 | |||
) | [inline] |
Definition at line 151 of file Wm4Matrix3.inl.
References Wm4::Matrix3< Real >::MakeDiagonal().
Wm4::Matrix3< Real >::Matrix3 | ( | const Vector3< Real > & | rkAxis, | |
Real | fAngle | |||
) | [inline] |
Definition at line 157 of file Wm4Matrix3.inl.
References Wm4::Matrix3< Real >::FromAxisAngle().
Wm4::Matrix3< Real >::Matrix3 | ( | const Vector3< Real > & | rkU, | |
const Vector3< Real > & | rkV | |||
) | [inline] |
Definition at line 163 of file Wm4Matrix3.inl.
References Wm4::Matrix3< Real >::MakeTensorProduct().
Matrix3< Real > Wm4::Matrix3< Real >::Adjoint | ( | ) | const [inline] |
Definition at line 763 of file Wm4Matrix3.inl.
Real Wm4::Matrix3< Real >::Determinant | ( | ) | const [inline] |
Definition at line 778 of file Wm4Matrix3.inl.
Matrix3< Real > Wm4::Matrix3< Real >::DiagonalTimes | ( | const Vector3< Real > & | rkDiag | ) | const [inline] |
Definition at line 804 of file Wm4Matrix3.inl.
void Wm4::Matrix3< Real >::EigenDecomposition | ( | Matrix3< Real > & | rkRot, | |
Matrix3< Real > & | rkDiag | |||
) | const [inline] |
Definition at line 966 of file Wm4Matrix3.inl.
References Wm4::Matrix3< Real >::MakeDiagonal().
Referenced by MeshCore::QuadraticFit::CalcEigenValues(), and MeshCore::PlaneFit::Fit().
Matrix3< Real > & Wm4::Matrix3< Real >::FromAxisAngle | ( | const Vector3< Real > & | rkAxis, | |
Real | fAngle | |||
) | [inline] |
Definition at line 250 of file Wm4Matrix3.inl.
Referenced by Wm4::Matrix3< Real >::Matrix3(), and Wm4::Matrix3< Real >::Slerp().
Matrix3< Real > & Wm4::Matrix3< Real >::FromEulerAnglesXYZ | ( | Real | fXAngle, | |
Real | fYAngle, | |||
Real | fZAngle | |||
) | [inline] |
Definition at line 1046 of file Wm4Matrix3.inl.
Matrix3< Real > & Wm4::Matrix3< Real >::FromEulerAnglesXZY | ( | Real | fXAngle, | |
Real | fZAngle, | |||
Real | fYAngle | |||
) | [inline] |
Definition at line 1077 of file Wm4Matrix3.inl.
Matrix3< Real > & Wm4::Matrix3< Real >::FromEulerAnglesYXZ | ( | Real | fYAngle, | |
Real | fXAngle, | |||
Real | fZAngle | |||
) | [inline] |
Definition at line 1108 of file Wm4Matrix3.inl.
Matrix3< Real > & Wm4::Matrix3< Real >::FromEulerAnglesYZX | ( | Real | fYAngle, | |
Real | fZAngle, | |||
Real | fXAngle | |||
) | [inline] |
Definition at line 1139 of file Wm4Matrix3.inl.
Matrix3< Real > & Wm4::Matrix3< Real >::FromEulerAnglesZXY | ( | Real | fZAngle, | |
Real | fXAngle, | |||
Real | fYAngle | |||
) | [inline] |
Definition at line 1170 of file Wm4Matrix3.inl.
Matrix3< Real > & Wm4::Matrix3< Real >::FromEulerAnglesZYX | ( | Real | fZAngle, | |
Real | fYAngle, | |||
Real | fXAngle | |||
) | [inline] |
Definition at line 1201 of file Wm4Matrix3.inl.
Vector3< Real > Wm4::Matrix3< Real >::GetColumn | ( | int | iCol | ) | const [inline] |
Definition at line 320 of file Wm4Matrix3.inl.
Referenced by MeshCore::QuadraticFit::CalcEigenValues(), and MeshCore::PlaneFit::Fit().
void Wm4::Matrix3< Real >::GetColumnMajor | ( | Real * | afCMajor | ) | const [inline] |
Definition at line 326 of file Wm4Matrix3.inl.
Vector3< Real > Wm4::Matrix3< Real >::GetRow | ( | int | iRow | ) | const [inline] |
Definition at line 305 of file Wm4Matrix3.inl.
Matrix3< Real > Wm4::Matrix3< Real >::Inverse | ( | ) | const [inline] |
Definition at line 713 of file Wm4Matrix3.inl.
References Wm4::Matrix3< Real >::ZERO.
Referenced by Wm4::MeshCurvature< Real >::MeshCurvature().
Matrix3< Real > & Wm4::Matrix3< Real >::MakeDiagonal | ( | Real | fM00, | |
Real | fM11, | |||
Real | fM22 | |||
) | [inline] |
Definition at line 235 of file Wm4Matrix3.inl.
Referenced by Wm4::Matrix3< Real >::EigenDecomposition(), Wm4::Matrix3< Real >::Matrix3(), and Wm4::Matrix3< Real >::QDUDecomposition().
Matrix3< Real > & Wm4::Matrix3< Real >::MakeIdentity | ( | ) | [inline] |
Definition at line 220 of file Wm4Matrix3.inl.
Referenced by Wm4::Matrix3< Real >::Matrix3().
Matrix3< Real > & Wm4::Matrix3< Real >::MakeTensorProduct | ( | const Vector3< Real > & | rkU, | |
const Vector3< Real > & | rkV | |||
) | [inline] |
Definition at line 280 of file Wm4Matrix3.inl.
Referenced by Wm4::Matrix3< Real >::Matrix3().
Matrix3< Real > & Wm4::Matrix3< Real >::MakeZero | ( | ) | [inline] |
Definition at line 205 of file Wm4Matrix3.inl.
Referenced by Wm4::Matrix3< Real >::Matrix3(), and Wm4::Matrix3< Real >::SingularValueDecomposition().
Wm4::Matrix3< Real >::operator const Real * | ( | ) | const [inline] |
Definition at line 169 of file Wm4Matrix3.inl.
Wm4::Matrix3< Real >::operator Real * | ( | ) | [inline] |
Definition at line 175 of file Wm4Matrix3.inl.
bool Wm4::Matrix3< Real >::operator!= | ( | const Matrix3< Real > & | rkM | ) | const [inline] |
Definition at line 367 of file Wm4Matrix3.inl.
Real & Wm4::Matrix3< Real >::operator() | ( | int | iRow, | |
int | iCol | |||
) | [inline] |
Definition at line 199 of file Wm4Matrix3.inl.
Real Wm4::Matrix3< Real >::operator() | ( | int | iRow, | |
int | iCol | |||
) | const [inline] |
Definition at line 193 of file Wm4Matrix3.inl.
Vector3< Real > Wm4::Matrix3< Real >::operator* | ( | const Vector3< Real > & | rkV | ) | const [inline] |
Definition at line 605 of file Wm4Matrix3.inl.
Matrix3< Real > Wm4::Matrix3< Real >::operator* | ( | Real | fScalar | ) | const [inline] |
Definition at line 468 of file Wm4Matrix3.inl.
Matrix3< Real > Wm4::Matrix3< Real >::operator* | ( | const Matrix3< Real > & | rkM | ) | const [inline] |
Definition at line 427 of file Wm4Matrix3.inl.
Matrix3< Real > & Wm4::Matrix3< Real >::operator*= | ( | Real | fScalar | ) | [inline] |
Definition at line 558 of file Wm4Matrix3.inl.
Matrix3< Real > Wm4::Matrix3< Real >::operator+ | ( | const Matrix3< Real > & | rkM | ) | const [inline] |
Definition at line 397 of file Wm4Matrix3.inl.
Matrix3< Real > & Wm4::Matrix3< Real >::operator+= | ( | const Matrix3< Real > & | rkM | ) | [inline] |
Definition at line 528 of file Wm4Matrix3.inl.
Matrix3< Real > Wm4::Matrix3< Real >::operator- | ( | void | ) | const [inline] |
Definition at line 513 of file Wm4Matrix3.inl.
Matrix3< Real > Wm4::Matrix3< Real >::operator- | ( | const Matrix3< Real > & | rkM | ) | const [inline] |
Definition at line 412 of file Wm4Matrix3.inl.
Matrix3< Real > & Wm4::Matrix3< Real >::operator-= | ( | const Matrix3< Real > & | rkM | ) | [inline] |
Definition at line 543 of file Wm4Matrix3.inl.
Matrix3< Real > Wm4::Matrix3< Real >::operator/ | ( | Real | fScalar | ) | const [inline] |
Definition at line 483 of file Wm4Matrix3.inl.
Matrix3< Real > & Wm4::Matrix3< Real >::operator/= | ( | Real | fScalar | ) | [inline] |
Definition at line 573 of file Wm4Matrix3.inl.
bool Wm4::Matrix3< Real >::operator< | ( | const Matrix3< Real > & | rkM | ) | const [inline] |
Definition at line 373 of file Wm4Matrix3.inl.
bool Wm4::Matrix3< Real >::operator<= | ( | const Matrix3< Real > & | rkM | ) | const [inline] |
Definition at line 379 of file Wm4Matrix3.inl.
Matrix3< Real > & Wm4::Matrix3< Real >::operator= | ( | const Matrix3< Real > & | rkM | ) | [inline] |
Definition at line 340 of file Wm4Matrix3.inl.
bool Wm4::Matrix3< Real >::operator== | ( | const Matrix3< Real > & | rkM | ) | const [inline] |
Definition at line 361 of file Wm4Matrix3.inl.
bool Wm4::Matrix3< Real >::operator> | ( | const Matrix3< Real > & | rkM | ) | const [inline] |
Definition at line 385 of file Wm4Matrix3.inl.
bool Wm4::Matrix3< Real >::operator>= | ( | const Matrix3< Real > & | rkM | ) | const [inline] |
Definition at line 391 of file Wm4Matrix3.inl.
Real * Wm4::Matrix3< Real >::operator[] | ( | int | iRow | ) | [inline] |
Definition at line 187 of file Wm4Matrix3.inl.
const Real * Wm4::Matrix3< Real >::operator[] | ( | int | iRow | ) | const [inline] |
Definition at line 181 of file Wm4Matrix3.inl.
void Wm4::Matrix3< Real >::Orthonormalize | ( | ) | [inline] |
Definition at line 911 of file Wm4Matrix3.inl.
void Wm4::Matrix3< Real >::QDUDecomposition | ( | Matrix3< Real > & | rkQ, | |
Matrix3< Real > & | rkD, | |||
Matrix3< Real > & | rkU | |||
) | const [inline] |
Definition at line 2098 of file Wm4Matrix3.inl.
References Wm4::Matrix3< Real >::MakeDiagonal().
Real Wm4::Matrix3< Real >::QForm | ( | const Vector3< Real > & | rkU, | |
const Vector3< Real > & | rkV | |||
) | const [inline] |
Definition at line 788 of file Wm4Matrix3.inl.
References Wm4::Vector3< Real >::Dot().
void Wm4::Matrix3< Real >::SetColumn | ( | int | iCol, | |
const Vector3< Real > & | rkV | |||
) | [inline] |
Definition at line 312 of file Wm4Matrix3.inl.
void Wm4::Matrix3< Real >::SetRow | ( | int | iRow, | |
const Vector3< Real > & | rkV | |||
) | [inline] |
Definition at line 296 of file Wm4Matrix3.inl.
void Wm4::Matrix3< Real >::SingularValueComposition | ( | const Matrix3< Real > & | rkL, | |
const Matrix3< Real > & | rkS, | |||
const Matrix3< Real > & | rkR | |||
) | [inline] |
Definition at line 2091 of file Wm4Matrix3.inl.
void Wm4::Matrix3< Real >::SingularValueDecomposition | ( | Matrix3< Real > & | rkL, | |
Matrix3< Real > & | rkS, | |||
Matrix3< Real > & | rkR | |||
) | const [inline] |
Definition at line 1962 of file Wm4Matrix3.inl.
References Wm4::Matrix3< Real >::MakeZero().
Matrix3< Real > & Wm4::Matrix3< Real >::Slerp | ( | Real | fT, | |
const Matrix3< Real > & | rkR0, | |||
const Matrix3< Real > & | rkR1 | |||
) | [inline] |
Definition at line 1448 of file Wm4Matrix3.inl.
References Wm4::Matrix3< Real >::FromAxisAngle(), Wm4::Matrix3< Real >::ToAxisAngle(), and Wm4::Matrix3< Real >::TransposeTimes().
Matrix3< Real > Wm4::Matrix3< Real >::TimesDiagonal | ( | const Vector3< Real > & | rkDiag | ) | const [inline] |
Definition at line 795 of file Wm4Matrix3.inl.
Matrix3< Real > Wm4::Matrix3< Real >::TimesTranspose | ( | const Matrix3< Real > & | rkM | ) | const [inline] |
Definition at line 671 of file Wm4Matrix3.inl.
void Wm4::Matrix3< Real >::ToAxisAngle | ( | Vector3< Real > & | rkAxis, | |
Real & | rfAngle | |||
) | const [inline] |
Definition at line 813 of file Wm4Matrix3.inl.
References Wm4::Vector3< Real >::Normalize().
Referenced by Wm4::Matrix3< Real >::Slerp().
bool Wm4::Matrix3< Real >::ToEulerAnglesXYZ | ( | Real & | rfXAngle, | |
Real & | rfYAngle, | |||
Real & | rfZAngle | |||
) | const [inline] |
Definition at line 1232 of file Wm4Matrix3.inl.
References KDL::asin().
bool Wm4::Matrix3< Real >::ToEulerAnglesXZY | ( | Real & | rfXAngle, | |
Real & | rfZAngle, | |||
Real & | rfYAngle | |||
) | const [inline] |
Definition at line 1268 of file Wm4Matrix3.inl.
References KDL::asin().
bool Wm4::Matrix3< Real >::ToEulerAnglesYXZ | ( | Real & | rfYAngle, | |
Real & | rfXAngle, | |||
Real & | rfZAngle | |||
) | const [inline] |
Definition at line 1304 of file Wm4Matrix3.inl.
References KDL::asin().
bool Wm4::Matrix3< Real >::ToEulerAnglesYZX | ( | Real & | rfYAngle, | |
Real & | rfZAngle, | |||
Real & | rfXAngle | |||
) | const [inline] |
Definition at line 1340 of file Wm4Matrix3.inl.
References KDL::asin().
bool Wm4::Matrix3< Real >::ToEulerAnglesZXY | ( | Real & | rfZAngle, | |
Real & | rfXAngle, | |||
Real & | rfYAngle | |||
) | const [inline] |
Definition at line 1376 of file Wm4Matrix3.inl.
References KDL::asin().
bool Wm4::Matrix3< Real >::ToEulerAnglesZYX | ( | Real & | rfZAngle, | |
Real & | rfYAngle, | |||
Real & | rfXAngle | |||
) | const [inline] |
Definition at line 1412 of file Wm4Matrix3.inl.
References KDL::asin().
Matrix3< Real > Wm4::Matrix3< Real >::Transpose | ( | ) | const [inline] |
Definition at line 614 of file Wm4Matrix3.inl.
Matrix3< Real > Wm4::Matrix3< Real >::TransposeTimes | ( | const Matrix3< Real > & | rkM | ) | const [inline] |
Definition at line 629 of file Wm4Matrix3.inl.
Referenced by Wm4::Matrix3< Real >::Slerp().
const Matrix3 Wm4::Matrix3< Real >::IDENTITY [static] |
Definition at line 220 of file Wm4Matrix3.h.
const Matrix3 Wm4::Matrix3< Real >::ZERO [static] |
Definition at line 219 of file Wm4Matrix3.h.
Referenced by Wm4::Matrix3< Real >::Inverse().