Wm4::Matrix3< Real > Class Template Reference

#include <Wm4Matrix3.h>

List of all members.

Public Member Functions

Matrix3 Adjoint () const
Real Determinant () const
Matrix3 DiagonalTimes (const Vector3< Real > &rkDiag) const
void EigenDecomposition (Matrix3 &rkRot, Matrix3 &rkDiag) const
Matrix3FromAxisAngle (const Vector3< Real > &rkAxis, Real fAngle)
Matrix3FromEulerAnglesXYZ (Real fXAngle, Real fYAngle, Real fZAngle)
Matrix3FromEulerAnglesXZY (Real fXAngle, Real fZAngle, Real fYAngle)
Matrix3FromEulerAnglesYXZ (Real fYAngle, Real fXAngle, Real fZAngle)
Matrix3FromEulerAnglesYZX (Real fYAngle, Real fZAngle, Real fXAngle)
Matrix3FromEulerAnglesZXY (Real fZAngle, Real fXAngle, Real fYAngle)
Matrix3FromEulerAnglesZYX (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
Matrix3MakeDiagonal (Real fM00, Real fM11, Real fM22)
Matrix3MakeIdentity ()
Matrix3MakeTensorProduct (const Vector3< Real > &rkU, const Vector3< Real > &rkV)
Matrix3MakeZero ()
 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
Matrix3operator*= (Real fScalar)
Matrix3 operator+ (const Matrix3 &rkM) const
Matrix3operator+= (const Matrix3 &rkM)
Matrix3 operator- () const
Matrix3 operator- (const Matrix3 &rkM) const
Matrix3operator-= (const Matrix3 &rkM)
Matrix3 operator/ (Real fScalar) const
Matrix3operator/= (Real fScalar)
bool operator< (const Matrix3 &rkM) const
bool operator<= (const Matrix3 &rkM) const
Matrix3operator= (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
Matrix3Slerp (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

Detailed Description

template<class Real>
class Wm4::Matrix3< Real >

Definition at line 61 of file Wm4Matrix3.h.


Constructor & Destructor Documentation

template<class Real >
Wm4::Matrix3< Real >::Matrix3 ( bool  bZero = true  )  [inline]
template<class Real >
Wm4::Matrix3< Real >::Matrix3 ( const Matrix3< Real > &  rkM  )  [inline]

Definition at line 34 of file Wm4Matrix3.inl.

template<class Real >
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.

template<class Real >
Wm4::Matrix3< Real >::Matrix3 ( const Real  afEntry[9],
bool  bRowMajor 
) [inline]

Definition at line 63 of file Wm4Matrix3.inl.

template<class Real >
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.

template<class Real >
Wm4::Matrix3< Real >::Matrix3 ( const Vector3< Real > *  akV,
bool  bColumns 
) [inline]

Definition at line 122 of file Wm4Matrix3.inl.

template<class Real >
Wm4::Matrix3< Real >::Matrix3 ( Real  fM00,
Real  fM11,
Real  fM22 
) [inline]

Definition at line 151 of file Wm4Matrix3.inl.

References Wm4::Matrix3< Real >::MakeDiagonal().

template<class Real >
Wm4::Matrix3< Real >::Matrix3 ( const Vector3< Real > &  rkAxis,
Real  fAngle 
) [inline]

Definition at line 157 of file Wm4Matrix3.inl.

References Wm4::Matrix3< Real >::FromAxisAngle().

template<class Real >
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().


Member Function Documentation

template<class Real >
Matrix3< Real > Wm4::Matrix3< Real >::Adjoint (  )  const [inline]

Definition at line 763 of file Wm4Matrix3.inl.

template<class Real >
Real Wm4::Matrix3< Real >::Determinant (  )  const [inline]

Definition at line 778 of file Wm4Matrix3.inl.

template<class Real >
Matrix3< Real > Wm4::Matrix3< Real >::DiagonalTimes ( const Vector3< Real > &  rkDiag  )  const [inline]

Definition at line 804 of file Wm4Matrix3.inl.

template<class Real >
void Wm4::Matrix3< Real >::EigenDecomposition ( Matrix3< Real > &  rkRot,
Matrix3< Real > &  rkDiag 
) const [inline]
template<class Real >
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().

template<class Real >
Matrix3< Real > & Wm4::Matrix3< Real >::FromEulerAnglesXYZ ( Real  fXAngle,
Real  fYAngle,
Real  fZAngle 
) [inline]

Definition at line 1046 of file Wm4Matrix3.inl.

template<class Real >
Matrix3< Real > & Wm4::Matrix3< Real >::FromEulerAnglesXZY ( Real  fXAngle,
Real  fZAngle,
Real  fYAngle 
) [inline]

Definition at line 1077 of file Wm4Matrix3.inl.

template<class Real >
Matrix3< Real > & Wm4::Matrix3< Real >::FromEulerAnglesYXZ ( Real  fYAngle,
Real  fXAngle,
Real  fZAngle 
) [inline]

Definition at line 1108 of file Wm4Matrix3.inl.

template<class Real >
Matrix3< Real > & Wm4::Matrix3< Real >::FromEulerAnglesYZX ( Real  fYAngle,
Real  fZAngle,
Real  fXAngle 
) [inline]

Definition at line 1139 of file Wm4Matrix3.inl.

template<class Real >
Matrix3< Real > & Wm4::Matrix3< Real >::FromEulerAnglesZXY ( Real  fZAngle,
Real  fXAngle,
Real  fYAngle 
) [inline]

Definition at line 1170 of file Wm4Matrix3.inl.

template<class Real >
Matrix3< Real > & Wm4::Matrix3< Real >::FromEulerAnglesZYX ( Real  fZAngle,
Real  fYAngle,
Real  fXAngle 
) [inline]

Definition at line 1201 of file Wm4Matrix3.inl.

template<class Real >
Vector3< Real > Wm4::Matrix3< Real >::GetColumn ( int  iCol  )  const [inline]
template<class Real >
void Wm4::Matrix3< Real >::GetColumnMajor ( Real *  afCMajor  )  const [inline]

Definition at line 326 of file Wm4Matrix3.inl.

template<class Real >
Vector3< Real > Wm4::Matrix3< Real >::GetRow ( int  iRow  )  const [inline]

Definition at line 305 of file Wm4Matrix3.inl.

template<class Real >
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().

template<class Real >
Matrix3< Real > & Wm4::Matrix3< Real >::MakeDiagonal ( Real  fM00,
Real  fM11,
Real  fM22 
) [inline]
template<class Real >
Matrix3< Real > & Wm4::Matrix3< Real >::MakeIdentity (  )  [inline]

Definition at line 220 of file Wm4Matrix3.inl.

Referenced by Wm4::Matrix3< Real >::Matrix3().

template<class Real >
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().

template<class Real >
Matrix3< Real > & Wm4::Matrix3< Real >::MakeZero (  )  [inline]
template<class Real >
Wm4::Matrix3< Real >::operator const Real * (  )  const [inline]

Definition at line 169 of file Wm4Matrix3.inl.

template<class Real >
Wm4::Matrix3< Real >::operator Real * (  )  [inline]

Definition at line 175 of file Wm4Matrix3.inl.

template<class Real >
bool Wm4::Matrix3< Real >::operator!= ( const Matrix3< Real > &  rkM  )  const [inline]

Definition at line 367 of file Wm4Matrix3.inl.

template<class Real >
Real & Wm4::Matrix3< Real >::operator() ( int  iRow,
int  iCol 
) [inline]

Definition at line 199 of file Wm4Matrix3.inl.

template<class Real >
Real Wm4::Matrix3< Real >::operator() ( int  iRow,
int  iCol 
) const [inline]

Definition at line 193 of file Wm4Matrix3.inl.

template<class Real >
Vector3< Real > Wm4::Matrix3< Real >::operator* ( const Vector3< Real > &  rkV  )  const [inline]

Definition at line 605 of file Wm4Matrix3.inl.

template<class Real >
Matrix3< Real > Wm4::Matrix3< Real >::operator* ( Real  fScalar  )  const [inline]

Definition at line 468 of file Wm4Matrix3.inl.

template<class Real >
Matrix3< Real > Wm4::Matrix3< Real >::operator* ( const Matrix3< Real > &  rkM  )  const [inline]

Definition at line 427 of file Wm4Matrix3.inl.

template<class Real >
Matrix3< Real > & Wm4::Matrix3< Real >::operator*= ( Real  fScalar  )  [inline]

Definition at line 558 of file Wm4Matrix3.inl.

template<class Real >
Matrix3< Real > Wm4::Matrix3< Real >::operator+ ( const Matrix3< Real > &  rkM  )  const [inline]

Definition at line 397 of file Wm4Matrix3.inl.

template<class Real >
Matrix3< Real > & Wm4::Matrix3< Real >::operator+= ( const Matrix3< Real > &  rkM  )  [inline]

Definition at line 528 of file Wm4Matrix3.inl.

template<class Real >
Matrix3< Real > Wm4::Matrix3< Real >::operator- ( void   )  const [inline]

Definition at line 513 of file Wm4Matrix3.inl.

template<class Real >
Matrix3< Real > Wm4::Matrix3< Real >::operator- ( const Matrix3< Real > &  rkM  )  const [inline]

Definition at line 412 of file Wm4Matrix3.inl.

template<class Real >
Matrix3< Real > & Wm4::Matrix3< Real >::operator-= ( const Matrix3< Real > &  rkM  )  [inline]

Definition at line 543 of file Wm4Matrix3.inl.

template<class Real >
Matrix3< Real > Wm4::Matrix3< Real >::operator/ ( Real  fScalar  )  const [inline]

Definition at line 483 of file Wm4Matrix3.inl.

template<class Real >
Matrix3< Real > & Wm4::Matrix3< Real >::operator/= ( Real  fScalar  )  [inline]

Definition at line 573 of file Wm4Matrix3.inl.

template<class Real >
bool Wm4::Matrix3< Real >::operator< ( const Matrix3< Real > &  rkM  )  const [inline]

Definition at line 373 of file Wm4Matrix3.inl.

template<class Real >
bool Wm4::Matrix3< Real >::operator<= ( const Matrix3< Real > &  rkM  )  const [inline]

Definition at line 379 of file Wm4Matrix3.inl.

template<class Real >
Matrix3< Real > & Wm4::Matrix3< Real >::operator= ( const Matrix3< Real > &  rkM  )  [inline]

Definition at line 340 of file Wm4Matrix3.inl.

template<class Real >
bool Wm4::Matrix3< Real >::operator== ( const Matrix3< Real > &  rkM  )  const [inline]

Definition at line 361 of file Wm4Matrix3.inl.

template<class Real >
bool Wm4::Matrix3< Real >::operator> ( const Matrix3< Real > &  rkM  )  const [inline]

Definition at line 385 of file Wm4Matrix3.inl.

template<class Real >
bool Wm4::Matrix3< Real >::operator>= ( const Matrix3< Real > &  rkM  )  const [inline]

Definition at line 391 of file Wm4Matrix3.inl.

template<class Real >
Real * Wm4::Matrix3< Real >::operator[] ( int  iRow  )  [inline]

Definition at line 187 of file Wm4Matrix3.inl.

template<class Real >
const Real * Wm4::Matrix3< Real >::operator[] ( int  iRow  )  const [inline]

Definition at line 181 of file Wm4Matrix3.inl.

template<class Real >
void Wm4::Matrix3< Real >::Orthonormalize (  )  [inline]

Definition at line 911 of file Wm4Matrix3.inl.

template<class Real >
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().

template<class Real >
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().

template<class Real >
void Wm4::Matrix3< Real >::SetColumn ( int  iCol,
const Vector3< Real > &  rkV 
) [inline]

Definition at line 312 of file Wm4Matrix3.inl.

template<class Real >
void Wm4::Matrix3< Real >::SetRow ( int  iRow,
const Vector3< Real > &  rkV 
) [inline]

Definition at line 296 of file Wm4Matrix3.inl.

template<class Real >
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.

template<class Real >
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().

template<class Real >
Matrix3< Real > & Wm4::Matrix3< Real >::Slerp ( Real  fT,
const Matrix3< Real > &  rkR0,
const Matrix3< Real > &  rkR1 
) [inline]
template<class Real >
Matrix3< Real > Wm4::Matrix3< Real >::TimesDiagonal ( const Vector3< Real > &  rkDiag  )  const [inline]

Definition at line 795 of file Wm4Matrix3.inl.

template<class Real >
Matrix3< Real > Wm4::Matrix3< Real >::TimesTranspose ( const Matrix3< Real > &  rkM  )  const [inline]

Definition at line 671 of file Wm4Matrix3.inl.

template<class Real >
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().

template<class Real >
bool Wm4::Matrix3< Real >::ToEulerAnglesXYZ ( Real &  rfXAngle,
Real &  rfYAngle,
Real &  rfZAngle 
) const [inline]

Definition at line 1232 of file Wm4Matrix3.inl.

References KDL::asin().

template<class Real >
bool Wm4::Matrix3< Real >::ToEulerAnglesXZY ( Real &  rfXAngle,
Real &  rfZAngle,
Real &  rfYAngle 
) const [inline]

Definition at line 1268 of file Wm4Matrix3.inl.

References KDL::asin().

template<class Real >
bool Wm4::Matrix3< Real >::ToEulerAnglesYXZ ( Real &  rfYAngle,
Real &  rfXAngle,
Real &  rfZAngle 
) const [inline]

Definition at line 1304 of file Wm4Matrix3.inl.

References KDL::asin().

template<class Real >
bool Wm4::Matrix3< Real >::ToEulerAnglesYZX ( Real &  rfYAngle,
Real &  rfZAngle,
Real &  rfXAngle 
) const [inline]

Definition at line 1340 of file Wm4Matrix3.inl.

References KDL::asin().

template<class Real >
bool Wm4::Matrix3< Real >::ToEulerAnglesZXY ( Real &  rfZAngle,
Real &  rfXAngle,
Real &  rfYAngle 
) const [inline]

Definition at line 1376 of file Wm4Matrix3.inl.

References KDL::asin().

template<class Real >
bool Wm4::Matrix3< Real >::ToEulerAnglesZYX ( Real &  rfZAngle,
Real &  rfYAngle,
Real &  rfXAngle 
) const [inline]

Definition at line 1412 of file Wm4Matrix3.inl.

References KDL::asin().

template<class Real >
Matrix3< Real > Wm4::Matrix3< Real >::Transpose (  )  const [inline]

Definition at line 614 of file Wm4Matrix3.inl.

template<class Real >
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().


Member Data Documentation

template<class Real>
const Matrix3 Wm4::Matrix3< Real >::IDENTITY [static]

Definition at line 220 of file Wm4Matrix3.h.

template<class Real>
const Matrix3 Wm4::Matrix3< Real >::ZERO [static]

Definition at line 219 of file Wm4Matrix3.h.

Referenced by Wm4::Matrix3< Real >::Inverse().


The documentation for this class was generated from the following files:

Generated on Wed Nov 23 19:02:50 2011 for FreeCAD by  doxygen 1.6.1