libmoldeo (Moldeo 1.0 Core)  1.0
libmoldeo is the group of objects and functions that executes the basic operations of Moldeo 1.0 Platform.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
moMathMatrix.h File Reference
#include "moMathVector.h"
#include "moMathVector3.h"
#include "moMathVector4.h"

Go to the source code of this file.

Classes

class  moMatrix2< Real >
 

Typedefs

typedef moMatrix2< MOfloatmoMatrix2f
 
typedef moMatrix2< MOdoublemoMatrix2d
 
typedef moMatrix3< MOfloatmoMatrix3f
 
typedef moMatrix3< MOdoublemoMatrix3d
 
typedef moMatrix4< MOfloatmoMatrix4f
 
typedef moMatrix4< MOdoublemoMatrix4d
 

Functions

template<class Real >
moMatrix2< Real > operator* (Real fScalar, const moMatrix2< Real > &rkM)
 
template<class Real >
moVector2< Real > operator* (const moVector2< Real > &rkV, const moMatrix2< Real > &rkM)
 
 moDeclareExportedDynamicArray (moMatrix2f, moMatrix2fArray)
 
 moDeclareExportedDynamicArray (moMatrix2d, moMatrix2dArray) template< class Real > class LIBMOLDEO_API moMatrix3
 
 moMatrix3 (const moMatrix3 &rkM)
 
 moMatrix3 (Real fM00, Real fM01, Real fM02, Real fM10, Real fM11, Real fM12, Real fM20, Real fM21, Real fM22)
 
 moMatrix3 (const Real afEntry[9], bool bRowMajor)
 
 moMatrix3 (const moVector3< Real > &rkU, const moVector3< Real > &rkV, const moVector3< Real > &rkW, bool bColumns)
 
 moMatrix3 (const moVector3< Real > *akV, bool bColumns)
 
 moMatrix3 (Real fM00, Real fM11, Real fM22)
 
 moMatrix3 (const moVector3< Real > &rkAxis, Real fAngle)
 
 moMatrix3 (const moVector3< Real > &rkU, const moVector3< Real > &rkV)
 
moMatrix3< Real > & MakeZero ()
 
moMatrix3< Real > & MakeIdentity ()
 
moMatrix3< Real > & MakeDiagonal (Real fM00, Real fM11, Real fM22)
 
moMatrix3< Real > & FromAxisAngle (const moVector3< Real > &rkAxis, Real fAngle)
 
moMatrix3< Real > & MakeTensorProduct (const moVector3< Real > &rkU, const moVector3< Real > &rkV)
 
void SetRow (int iRow, const moVector3< Real > &rkV)
 
moVector3< Real > GetRow (int iRow) const
 
void SetColumn (int iCol, const moVector3< Real > &rkV)
 
moVector3< Real > GetColumn (int iCol) const
 
void GetColumnMajor (Real *afCMajor) const
 
bool operator== (const moMatrix3 &rkM) const
 
bool operator!= (const moMatrix3 &rkM) const
 
bool operator< (const moMatrix3 &rkM) const
 
bool operator<= (const moMatrix3 &rkM) const
 
bool operator> (const moMatrix3 &rkM) const
 
bool operator>= (const moMatrix3 &rkM) const
 
moMatrix3< Real > Transpose () const
 
moMatrix3< Real > TransposeTimes (const moMatrix3 &rkM) const
 
moMatrix3< Real > TimesTranspose (const moMatrix3 &rkM) const
 
moMatrix3< Real > Inverse () const
 
moMatrix3< Real > Adjoint () const
 
Real Determinant () const
 
Real QForm (const moVector3< Real > &rkU, const moVector3< Real > &rkV) const
 
moMatrix3< Real > TimesDiagonal (const moVector3< Real > &rkDiag) const
 
moMatrix3< Real > DiagonalTimes (const moVector3< Real > &rkDiag) const
 
void ToAxisAngle (moVector3< Real > &rkAxis, Real &rfAngle) const
 
void Orthonormalize ()
 
void EigenDecomposition (moMatrix3 &rkRot, moMatrix3 &rkDiag) const
 
moMatrix3< Real > & FromEulerAnglesXYZ (Real fXAngle, Real fYAngle, Real fZAngle)
 
moMatrix3< Real > & FromEulerAnglesXZY (Real fXAngle, Real fZAngle, Real fYAngle)
 
moMatrix3< Real > & FromEulerAnglesYXZ (Real fYAngle, Real fXAngle, Real fZAngle)
 
moMatrix3< Real > & FromEulerAnglesYZX (Real fYAngle, Real fZAngle, Real fXAngle)
 
moMatrix3< Real > & FromEulerAnglesZXY (Real fZAngle, Real fXAngle, Real fYAngle)
 
moMatrix3< Real > & FromEulerAnglesZYX (Real fZAngle, Real fYAngle, Real fXAngle)
 
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
 
moMatrix3< Real > & Slerp (Real fT, const moMatrix3 &rkR0, const moMatrix3 &rkR1)
 
void SingularValueDecomposition (moMatrix3 &rkL, moMatrix3 &rkD, moMatrix3 &rkRTranspose) const
 
void SingularValueComposition (const moMatrix3 &rkL, const moMatrix3 &rkD, const moMatrix3 &rkRTranspose)
 
void PolarDecomposition (moMatrix3 &rkQ, moMatrix3 &rkS)
 
void QDUDecomposition (moMatrix3 &rkQ, moMatrix3 &rkD, moMatrix3 &rkU) const
 
 operator const Real * () const
 
 operator Real * ()
 
const Real * operator[] (int iRow) const
 
Real operator() (int iRow, int iCol) const
 
moMatrix3operator= (const moMatrix3 &rkM)
 
moMatrix3 operator+ (const moMatrix3 &rkM) const
 
moMatrix3 operator- (const moMatrix3 &rkM) const
 
moMatrix3 operator* (const moMatrix3 &rkM) const
 
moMatrix3 operator* (Real fScalar) const
 
moMatrix3 operator/ (Real fScalar) const
 
moMatrix3 operator- () const
 
moMatrix3operator+= (const moMatrix3 &rkM)
 
moMatrix3operator-= (const moMatrix3 &rkM)
 
moMatrix3operator*= (Real fScalar)
 
moMatrix3operator/= (Real fScalar)
 
moVector3< Real > operator* (const moVector3< Real > &rkV) const
 

Variables

template class LIBMOLDEO_API moMatrix2< MOfloat >
 
template class LIBMOLDEO_API moMatrix2< MOdouble >
 
Real m_afEntry [9]
 
template class LIBMOLDEO_API moMatrix3< MOfloat >
 
template class LIBMOLDEO_API moMatrix3< MOdouble >
 
template class LIBMOLDEO_API moMatrix4< MOfloat >
 
template class LIBMOLDEO_API moMatrix4< MOdouble >
 

Typedef Documentation

Definition at line 639 of file moMathMatrix.h.

Definition at line 632 of file moMathMatrix.h.

Definition at line 2878 of file moMathMatrix.h.

Definition at line 2869 of file moMathMatrix.h.

typedef moMatrix4<MOdouble> moMatrix4d

Definition at line 3976 of file moMathMatrix.h.

typedef moMatrix4<MOfloat> moMatrix4f

Definition at line 3967 of file moMathMatrix.h.

Function Documentation

moMatrix3<Real> Adjoint ( ) const

Definition at line 1128 of file moMathMatrix.h.

Real Determinant ( ) const

Definition at line 1143 of file moMathMatrix.h.

moMatrix3<Real> DiagonalTimes ( const moVector3< Real > &  rkDiag) const

Definition at line 1169 of file moMathMatrix.h.

void EigenDecomposition ( moMatrix3 rkRot,
moMatrix3 rkDiag 
) const

Definition at line 1331 of file moMathMatrix.h.

moMatrix3<Real>& FromAxisAngle ( const moVector3< Real > &  rkAxis,
Real  fAngle 
)

Definition at line 849 of file moMathMatrix.h.

moMatrix3<Real>& FromEulerAnglesXYZ ( Real  fXAngle,
Real  fYAngle,
Real  fZAngle 
)

Definition at line 1410 of file moMathMatrix.h.

moMatrix3<Real>& FromEulerAnglesXZY ( Real  fXAngle,
Real  fZAngle,
Real  fYAngle 
)

Definition at line 1441 of file moMathMatrix.h.

moMatrix3<Real>& FromEulerAnglesYXZ ( Real  fYAngle,
Real  fXAngle,
Real  fZAngle 
)

Definition at line 1472 of file moMathMatrix.h.

moMatrix3<Real>& FromEulerAnglesYZX ( Real  fYAngle,
Real  fZAngle,
Real  fXAngle 
)

Definition at line 1503 of file moMathMatrix.h.

moMatrix3<Real>& FromEulerAnglesZXY ( Real  fZAngle,
Real  fXAngle,
Real  fYAngle 
)

Definition at line 1534 of file moMathMatrix.h.

moMatrix3<Real>& FromEulerAnglesZYX ( Real  fZAngle,
Real  fYAngle,
Real  fXAngle 
)

Definition at line 1565 of file moMathMatrix.h.

moVector3<Real> GetColumn ( int  iCol) const

Definition at line 919 of file moMathMatrix.h.

void GetColumnMajor ( Real *  afCMajor) const

Definition at line 925 of file moMathMatrix.h.

moVector3<Real> GetRow ( int  iRow) const

Definition at line 904 of file moMathMatrix.h.

moMatrix3<Real> Inverse ( ) const

Definition at line 1077 of file moMathMatrix.h.

moMatrix3<Real>& MakeDiagonal ( Real  fM00,
Real  fM11,
Real  fM22 
)

Definition at line 834 of file moMathMatrix.h.

moMatrix3<Real>& MakeIdentity ( )

Definition at line 819 of file moMathMatrix.h.

moMatrix3<Real>& MakeTensorProduct ( const moVector3< Real > &  rkU,
const moVector3< Real > &  rkV 
)

Definition at line 879 of file moMathMatrix.h.

moMatrix3<Real>& MakeZero ( )

Definition at line 804 of file moMathMatrix.h.

moDeclareExportedDynamicArray ( moMatrix2f  ,
moMatrix2fArray   
)
moDeclareExportedDynamicArray ( moMatrix2d  ,
moMatrix2dArray   
)

Definition at line 642 of file moMathMatrix.h.

moMatrix3 ( const moMatrix3 &  rkM)

Definition at line 669 of file moMathMatrix.h.

moMatrix3 ( Real  fM00,
Real  fM01,
Real  fM02,
Real  fM10,
Real  fM11,
Real  fM12,
Real  fM20,
Real  fM21,
Real  fM22 
)

Definition at line 683 of file moMathMatrix.h.

moMatrix3 ( const Real  afEntry[9],
bool  bRowMajor 
)

Definition at line 698 of file moMathMatrix.h.

moMatrix3 ( const moVector3< Real > &  rkU,
const moVector3< Real > &  rkV,
const moVector3< Real > &  rkW,
bool  bColumns 
)

Definition at line 727 of file moMathMatrix.h.

moMatrix3 ( const moVector3< Real > *  akV,
bool  bColumns 
)

Definition at line 757 of file moMathMatrix.h.

moMatrix3 ( Real  fM00,
Real  fM11,
Real  fM22 
)

Definition at line 786 of file moMathMatrix.h.

moMatrix3 ( const moVector3< Real > &  rkAxis,
Real  fAngle 
)

Definition at line 792 of file moMathMatrix.h.

moMatrix3 ( const moVector3< Real > &  rkU,
const moVector3< Real > &  rkV 
)

Definition at line 798 of file moMathMatrix.h.

operator const Real * ( ) const
inline

Definition at line 2093 of file moMathMatrix.h.

operator Real * ( )
inline

Definition at line 2094 of file moMathMatrix.h.

bool operator!= ( const moMatrix3 rkM) const

Definition at line 948 of file moMathMatrix.h.

Real & operator() ( int  iRow,
int  iCol 
) const
inline

Definition at line 2097 of file moMathMatrix.h.

template<class Real >
moMatrix2<Real> operator* ( Real  fScalar,
const moMatrix2< Real > &  rkM 
)
inline

Definition at line 612 of file moMathMatrix.h.

template<class Real >
moVector2<Real> operator* ( const moVector2< Real > &  rkV,
const moMatrix2< Real > &  rkM 
)
inline

Definition at line 619 of file moMathMatrix.h.

moMatrix3 operator* ( const moMatrix3 rkM) const
inline

Definition at line 2145 of file moMathMatrix.h.

moMatrix3 operator* ( Real  fScalar) const
inline

Definition at line 2184 of file moMathMatrix.h.

moVector3<Real> operator* ( const moVector3< Real > &  rkV) const
inline

Definition at line 2311 of file moMathMatrix.h.

moMatrix3& operator*= ( Real  fScalar)
inline

Definition at line 2266 of file moMathMatrix.h.

moMatrix3 operator+ ( const moMatrix3 rkM) const
inline

Definition at line 2119 of file moMathMatrix.h.

moMatrix3& operator+= ( const moMatrix3 rkM)
inline

Definition at line 2240 of file moMathMatrix.h.

moMatrix3 operator- ( const moMatrix3 rkM) const
inline

Definition at line 2132 of file moMathMatrix.h.

moMatrix3 operator- ( ) const
inline

Definition at line 2225 of file moMathMatrix.h.

moMatrix3& operator-= ( const moMatrix3 rkM)
inline

Definition at line 2253 of file moMathMatrix.h.

moMatrix3 operator/ ( Real  fScalar) const
inline

Definition at line 2197 of file moMathMatrix.h.

moMatrix3& operator/= ( Real  fScalar)
inline

Definition at line 2279 of file moMathMatrix.h.

bool operator< ( const moMatrix3 rkM) const

Definition at line 954 of file moMathMatrix.h.

bool operator<= ( const moMatrix3 rkM) const

Definition at line 960 of file moMathMatrix.h.

moMatrix3& operator= ( const moMatrix3 rkM)
inline

Definition at line 2102 of file moMathMatrix.h.

bool operator== ( const moMatrix3 rkM) const

Definition at line 942 of file moMathMatrix.h.

bool operator> ( const moMatrix3 rkM) const

Definition at line 966 of file moMathMatrix.h.

bool operator>= ( const moMatrix3 rkM) const

Definition at line 972 of file moMathMatrix.h.

Real * operator[] ( int  iRow) const
inline

Definition at line 2095 of file moMathMatrix.h.

void Orthonormalize ( )

Definition at line 1276 of file moMathMatrix.h.

void PolarDecomposition ( moMatrix3 rkQ,
moMatrix3 rkS 
)

Definition at line 1963 of file moMathMatrix.h.

void QDUDecomposition ( moMatrix3 rkQ,
moMatrix3 rkD,
moMatrix3 rkU 
) const

Definition at line 1987 of file moMathMatrix.h.

Real QForm ( const moVector3< Real > &  rkU,
const moVector3< Real > &  rkV 
) const

Definition at line 1153 of file moMathMatrix.h.

void SetColumn ( int  iCol,
const moVector3< Real > &  rkV 
)

Definition at line 911 of file moMathMatrix.h.

void SetRow ( int  iRow,
const moVector3< Real > &  rkV 
)

Definition at line 895 of file moMathMatrix.h.

void SingularValueComposition ( const moMatrix3 rkL,
const moMatrix3 rkD,
const moMatrix3 rkRTranspose 
)

Definition at line 1956 of file moMathMatrix.h.

void SingularValueDecomposition ( moMatrix3 rkL,
moMatrix3 rkD,
moMatrix3 rkRTranspose 
) const

Definition at line 1825 of file moMathMatrix.h.

moMatrix3<Real>& Slerp ( Real  fT,
const moMatrix3 rkR0,
const moMatrix3 rkR1 
)

Definition at line 1812 of file moMathMatrix.h.

moMatrix3<Real> TimesDiagonal ( const moVector3< Real > &  rkDiag) const

Definition at line 1160 of file moMathMatrix.h.

moMatrix3<Real> TimesTranspose ( const moMatrix3 rkM) const

Definition at line 1035 of file moMathMatrix.h.

void ToAxisAngle ( moVector3< Real > &  rkAxis,
Real &  rfAngle 
) const

Definition at line 1178 of file moMathMatrix.h.

bool ToEulerAnglesXYZ ( Real &  rfXAngle,
Real &  rfYAngle,
Real &  rfZAngle 
) const

Definition at line 1596 of file moMathMatrix.h.

bool ToEulerAnglesXZY ( Real &  rfXAngle,
Real &  rfZAngle,
Real &  rfYAngle 
) const

Definition at line 1632 of file moMathMatrix.h.

bool ToEulerAnglesYXZ ( Real &  rfYAngle,
Real &  rfXAngle,
Real &  rfZAngle 
) const

Definition at line 1668 of file moMathMatrix.h.

bool ToEulerAnglesYZX ( Real &  rfYAngle,
Real &  rfZAngle,
Real &  rfXAngle 
) const

Definition at line 1704 of file moMathMatrix.h.

bool ToEulerAnglesZXY ( Real &  rfZAngle,
Real &  rfXAngle,
Real &  rfYAngle 
) const

Definition at line 1740 of file moMathMatrix.h.

bool ToEulerAnglesZYX ( Real &  rfZAngle,
Real &  rfYAngle,
Real &  rfXAngle 
) const

Definition at line 1776 of file moMathMatrix.h.

moMatrix3<Real> Transpose ( ) const

Definition at line 978 of file moMathMatrix.h.

moMatrix3<Real> TransposeTimes ( const moMatrix3 rkM) const

Definition at line 993 of file moMathMatrix.h.

Variable Documentation

Real m_afEntry[9]

Definition at line 2841 of file moMathMatrix.h.

template class LIBMOLDEO_API moMatrix2< MOdouble >

Definition at line 636 of file moMathMatrix.h.

template class LIBMOLDEO_API moMatrix2< MOfloat >

Definition at line 629 of file moMathMatrix.h.

template class LIBMOLDEO_API moMatrix3< MOdouble >

Definition at line 2874 of file moMathMatrix.h.

template class LIBMOLDEO_API moMatrix3< MOfloat >

Definition at line 2865 of file moMathMatrix.h.

template class LIBMOLDEO_API moMatrix4< MOdouble >

Definition at line 3972 of file moMathMatrix.h.

template class LIBMOLDEO_API moMatrix4< MOfloat >

Definition at line 3963 of file moMathMatrix.h.