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
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

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