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
moQuaternion< Real > Class Template Reference

#include <moMathQuaternion.h>

Inheritance diagram for moQuaternion< Real >:
moAbstract

Public Member Functions

 moQuaternion ()
 
 moQuaternion (Real fW, Real fX, Real fY, Real fZ)
 
 moQuaternion (const moQuaternion &rkQ)
 
 moQuaternion (const moMatrix3< Real > &rkRot)
 
 moQuaternion (const moVector3< Real > &rkAxis, Real fAngle)
 
 moQuaternion (const moVector3< Real > akRotColumn[3])
 
 operator const Real * () const
 
 operator Real * ()
 
Real operator[] (int i) const
 
Real & operator[] (int i)
 
Real W () const
 
Real & W ()
 
Real X () const
 
Real & X ()
 
Real Y () const
 
Real & Y ()
 
Real Z () const
 
Real & Z ()
 
moQuaternionoperator= (const moQuaternion &rkQ)
 
bool operator== (const moQuaternion &rkQ) const
 
bool operator!= (const moQuaternion &rkQ) const
 
bool operator< (const moQuaternion &rkQ) const
 
bool operator<= (const moQuaternion &rkQ) const
 
bool operator> (const moQuaternion &rkQ) const
 
bool operator>= (const moQuaternion &rkQ) const
 
moQuaternion operator+ (const moQuaternion &rkQ) const
 
moQuaternion operator- (const moQuaternion &rkQ) const
 
moQuaternion operator* (const moQuaternion &rkQ) const
 
moQuaternion operator* (Real fScalar) const
 
moQuaternion operator/ (Real fScalar) const
 
moQuaternion operator- () const
 
moQuaternionoperator+= (const moQuaternion &rkQ)
 
moQuaternionoperator-= (const moQuaternion &rkQ)
 
moQuaternionoperator*= (Real fScalar)
 
moQuaternionoperator/= (Real fScalar)
 
moQuaternionFromRotationMatrix (const moMatrix3< Real > &rkRot)
 
void ToRotationMatrix (moMatrix3< Real > &rkRot) const
 
moQuaternionFromRotationMatrix (const moVector3< Real > akRotColumn[3])
 
void ToRotationMatrix (moVector3< Real > akRotColumn[3]) const
 
moQuaternionFromAxisAngle (const moVector3< Real > &rkAxis, Real fAngle)
 
void ToAxisAngle (moVector3< Real > &rkAxis, Real &rfAngle) const
 
Real Length () const
 
Real SquaredLength () const
 
Real Dot (const moQuaternion &rkQ) const
 
Real Normalize ()
 
moQuaternion Inverse () const
 
moQuaternion Conjugate () const
 
moQuaternion Exp () const
 
moQuaternion Log () const
 
moVector3< Real > Rotate (const moVector3< Real > &rkVector) const
 
moQuaternionSlerp (Real fT, const moQuaternion &rkP, const moQuaternion &rkQ)
 
moQuaternionSlerpExtraSpins (Real fT, const moQuaternion &rkP, const moQuaternion &rkQ, int iExtraSpins)
 
moQuaternionIntermediate (const moQuaternion &rkQ0, const moQuaternion &rkQ1, const moQuaternion &rkQ2)
 
moQuaternionSquad (Real fT, const moQuaternion &rkQ0, const moQuaternion &rkA0, const moQuaternion &rkA1, const moQuaternion &rkQ1)
 
moQuaternionAlign (const moVector3< Real > &rkV1, const moVector3< Real > &rkV2)
 
void DecomposeTwistTimesSwing (const moVector3< Real > &rkV1, moQuaternion &rkTwist, moQuaternion &rkSwing)
 
void DecomposeSwingTimesTwist (const moVector3< Real > &rkV1, moQuaternion &rkSwing, moQuaternion &rkTwist)
 
template<>
const moQuaternion< MOfloatIDENTITY (1.0f, 0.0f, 0.0f, 0.0f)
 
template<>
const moQuaternion< MOfloatZERO (0.0f, 0.0f, 0.0f, 0.0f)
 
template<>
const moQuaternion< MOdoubleIDENTITY (1.0, 0.0, 0.0, 0.0)
 
template<>
const moQuaternion< MOdoubleZERO (0.0, 0.0, 0.0, 0.0)
 
- Public Member Functions inherited from moAbstract
 moAbstract ()
 
virtual ~moAbstract ()
 
virtual MOboolean Init ()
 Inicializa el objeto. More...
 
virtual MOboolean Finish ()
 Finaliza el objeto, libera recursos. More...
 
MOboolean Initialized ()
 Pregunta si está inicializado. More...
 

Static Public Attributes

static const moQuaternion IDENTITY
 
static const moQuaternion ZERO
 
- Static Public Attributes inherited from moAbstract
static moDebugMODebug2 = new moDebug()
 Clase de impresión de errores para depuración More...
 
static moTextHeapMODebug = new moTextHeap()
 Lista de textos. More...
 

Additional Inherited Members

- Public Attributes inherited from moAbstract
MOboolean m_bInitialized
 Valor de inicialización More...
 

Detailed Description

template<class Real>
class moQuaternion< Real >

Definition at line 44 of file moMathQuaternion.h.

Constructor & Destructor Documentation

template<class Real >
moQuaternion< Real >::moQuaternion ( )

Definition at line 41 of file moMathQuaternion.cpp.

template<class Real >
moQuaternion< Real >::moQuaternion ( Real  fW,
Real  fX,
Real  fY,
Real  fZ 
)

Definition at line 47 of file moMathQuaternion.cpp.

template<class Real >
moQuaternion< Real >::moQuaternion ( const moQuaternion< Real > &  rkQ)

Definition at line 56 of file moMathQuaternion.cpp.

template<class Real >
moQuaternion< Real >::moQuaternion ( const moMatrix3< Real > &  rkRot)

Definition at line 65 of file moMathQuaternion.cpp.

template<class Real >
moQuaternion< Real >::moQuaternion ( const moVector3< Real > &  rkAxis,
Real  fAngle 
)

Definition at line 71 of file moMathQuaternion.cpp.

template<class Real >
moQuaternion< Real >::moQuaternion ( const moVector3< Real >  akRotColumn[3])

Definition at line 77 of file moMathQuaternion.cpp.

Member Function Documentation

template<class Real >
moQuaternion< Real > & moQuaternion< Real >::Align ( const moVector3< Real > &  rkV1,
const moVector3< Real > &  rkV2 
)

Definition at line 481 of file moMathQuaternion.cpp.

template<class Real >
moQuaternion< Real > moQuaternion< Real >::Conjugate ( ) const

Definition at line 305 of file moMathQuaternion.cpp.

template<class Real >
void moQuaternion< Real >::DecomposeSwingTimesTwist ( const moVector3< Real > &  rkV1,
moQuaternion< Real > &  rkSwing,
moQuaternion< Real > &  rkTwist 
)

Definition at line 561 of file moMathQuaternion.cpp.

template<class Real >
void moQuaternion< Real >::DecomposeTwistTimesSwing ( const moVector3< Real > &  rkV1,
moQuaternion< Real > &  rkTwist,
moQuaternion< Real > &  rkSwing 
)

Definition at line 552 of file moMathQuaternion.cpp.

template<class Real>
Real moQuaternion< Real >::Dot ( const moQuaternion< Real > &  rkQ) const
inline

Definition at line 230 of file moMathQuaternion.h.

template<class Real >
moQuaternion< Real > moQuaternion< Real >::Exp ( ) const

Definition at line 312 of file moMathQuaternion.cpp.

template<class Real >
moQuaternion< Real > & moQuaternion< Real >::FromAxisAngle ( const moVector3< Real > &  rkAxis,
Real  fAngle 
)

Definition at line 226 of file moMathQuaternion.cpp.

template<class Real >
moQuaternion< Real > & moQuaternion< Real >::FromRotationMatrix ( const moMatrix3< Real > &  rkRot)

Definition at line 125 of file moMathQuaternion.cpp.

template<class Real >
moQuaternion< Real > & moQuaternion< Real >::FromRotationMatrix ( const moVector3< Real >  akRotColumn[3])

Definition at line 199 of file moMathQuaternion.cpp.

template<>
const moQuaternion< MOfloat > moQuaternion< MOfloat >::IDENTITY ( 1.  0f,
0.  0f,
0.  0f,
0.  0f 
)
template<>
const moQuaternion< MOdouble > moQuaternion< MOdouble >::IDENTITY ( 1.  0,
0.  0,
0.  0,
0.  0 
)
template<class Real >
moQuaternion< Real > & moQuaternion< Real >::Intermediate ( const moQuaternion< Real > &  rkQ0,
const moQuaternion< Real > &  rkQ1,
const moQuaternion< Real > &  rkQ2 
)

Definition at line 456 of file moMathQuaternion.cpp.

template<class Real >
moQuaternion< Real > moQuaternion< Real >::Inverse ( ) const

Definition at line 273 of file moMathQuaternion.cpp.

template<class Real>
Real moQuaternion< Real >::Length ( ) const
inline

Definition at line 214 of file moMathQuaternion.h.

template<class Real >
moQuaternion< Real > moQuaternion< Real >::Log ( ) const

Definition at line 348 of file moMathQuaternion.cpp.

template<class Real>
Real moQuaternion< Real >::Normalize ( )
inline

Definition at line 236 of file moMathQuaternion.h.

template<class Real>
moQuaternion< Real >::operator const Real * ( ) const
inline

Definition at line 65 of file moMathQuaternion.h.

template<class Real>
moQuaternion< Real >::operator Real * ( )
inline

Definition at line 66 of file moMathQuaternion.h.

template<class Real >
bool moQuaternion< Real >::operator!= ( const moQuaternion< Real > &  rkQ) const

Definition at line 95 of file moMathQuaternion.cpp.

template<class Real>
moQuaternion moQuaternion< Real >::operator* ( const moQuaternion< Real > &  rkQ) const
inline

Definition at line 109 of file moMathQuaternion.h.

template<class Real>
moQuaternion moQuaternion< Real >::operator* ( Real  fScalar) const
inline

Definition at line 142 of file moMathQuaternion.h.

template<class Real>
moQuaternion& moQuaternion< Real >::operator*= ( Real  fScalar)
inline

Definition at line 183 of file moMathQuaternion.h.

template<class Real>
moQuaternion moQuaternion< Real >::operator+ ( const moQuaternion< Real > &  rkQ) const
inline

Definition at line 97 of file moMathQuaternion.h.

template<class Real>
moQuaternion& moQuaternion< Real >::operator+= ( const moQuaternion< Real > &  rkQ)
inline

Definition at line 173 of file moMathQuaternion.h.

template<class Real>
moQuaternion moQuaternion< Real >::operator- ( const moQuaternion< Real > &  rkQ) const
inline

Definition at line 103 of file moMathQuaternion.h.

template<class Real>
moQuaternion moQuaternion< Real >::operator- ( ) const
inline

Definition at line 165 of file moMathQuaternion.h.

template<class Real>
moQuaternion& moQuaternion< Real >::operator-= ( const moQuaternion< Real > &  rkQ)
inline

Definition at line 178 of file moMathQuaternion.h.

template<class Real>
moQuaternion moQuaternion< Real >::operator/ ( Real  fScalar) const
inline

Definition at line 148 of file moMathQuaternion.h.

template<class Real>
moQuaternion& moQuaternion< Real >::operator/= ( Real  fScalar)
inline

Definition at line 188 of file moMathQuaternion.h.

template<class Real >
bool moQuaternion< Real >::operator< ( const moQuaternion< Real > &  rkQ) const

Definition at line 101 of file moMathQuaternion.cpp.

template<class Real >
bool moQuaternion< Real >::operator<= ( const moQuaternion< Real > &  rkQ) const

Definition at line 107 of file moMathQuaternion.cpp.

template<class Real>
moQuaternion& moQuaternion< Real >::operator= ( const moQuaternion< Real > &  rkQ)
inline

Definition at line 79 of file moMathQuaternion.h.

template<class Real >
bool moQuaternion< Real >::operator== ( const moQuaternion< Real > &  rkQ) const

Definition at line 89 of file moMathQuaternion.cpp.

template<class Real >
bool moQuaternion< Real >::operator> ( const moQuaternion< Real > &  rkQ) const

Definition at line 113 of file moMathQuaternion.cpp.

template<class Real >
bool moQuaternion< Real >::operator>= ( const moQuaternion< Real > &  rkQ) const

Definition at line 119 of file moMathQuaternion.cpp.

template<class Real>
Real moQuaternion< Real >::operator[] ( int  i) const
inline

Definition at line 67 of file moMathQuaternion.h.

template<class Real>
Real& moQuaternion< Real >::operator[] ( int  i)
inline

Definition at line 68 of file moMathQuaternion.h.

template<class Real >
moVector3< Real > moQuaternion< Real >::Rotate ( const moVector3< Real > &  rkVector) const

Definition at line 382 of file moMathQuaternion.cpp.

template<class Real >
moQuaternion< Real > & moQuaternion< Real >::Slerp ( Real  fT,
const moQuaternion< Real > &  rkP,
const moQuaternion< Real > &  rkQ 
)

Definition at line 409 of file moMathQuaternion.cpp.

template<class Real >
moQuaternion< Real > & moQuaternion< Real >::SlerpExtraSpins ( Real  fT,
const moQuaternion< Real > &  rkP,
const moQuaternion< Real > &  rkQ,
int  iExtraSpins 
)

Definition at line 432 of file moMathQuaternion.cpp.

template<class Real >
moQuaternion< Real > & moQuaternion< Real >::Squad ( Real  fT,
const moQuaternion< Real > &  rkQ0,
const moQuaternion< Real > &  rkA0,
const moQuaternion< Real > &  rkA1,
const moQuaternion< Real > &  rkQ1 
)

Definition at line 471 of file moMathQuaternion.cpp.

template<class Real>
Real moQuaternion< Real >::SquaredLength ( ) const
inline

Definition at line 222 of file moMathQuaternion.h.

template<class Real >
void moQuaternion< Real >::ToAxisAngle ( moVector3< Real > &  rkAxis,
Real &  rfAngle 
) const

Definition at line 245 of file moMathQuaternion.cpp.

template<class Real >
void moQuaternion< Real >::ToRotationMatrix ( moMatrix3< Real > &  rkRot) const

Definition at line 172 of file moMathQuaternion.cpp.

template<class Real >
void moQuaternion< Real >::ToRotationMatrix ( moVector3< Real >  akRotColumn[3]) const

Definition at line 213 of file moMathQuaternion.cpp.

template<class Real>
Real moQuaternion< Real >::W ( ) const
inline

Definition at line 69 of file moMathQuaternion.h.

template<class Real>
Real& moQuaternion< Real >::W ( )
inline

Definition at line 70 of file moMathQuaternion.h.

template<class Real>
Real moQuaternion< Real >::X ( ) const
inline

Definition at line 71 of file moMathQuaternion.h.

template<class Real>
Real& moQuaternion< Real >::X ( )
inline

Definition at line 72 of file moMathQuaternion.h.

template<class Real>
Real moQuaternion< Real >::Y ( ) const
inline

Definition at line 73 of file moMathQuaternion.h.

template<class Real>
Real& moQuaternion< Real >::Y ( )
inline

Definition at line 74 of file moMathQuaternion.h.

template<class Real>
Real moQuaternion< Real >::Z ( ) const
inline

Definition at line 75 of file moMathQuaternion.h.

template<class Real>
Real& moQuaternion< Real >::Z ( )
inline

Definition at line 76 of file moMathQuaternion.h.

template<>
const moQuaternion< MOfloat > moQuaternion< MOfloat >::ZERO ( 0.  0f,
0.  0f,
0.  0f,
0.  0f 
)
template<>
const moQuaternion< MOdouble > moQuaternion< MOdouble >::ZERO ( 0.  0,
0.  0,
0.  0,
0.  0 
)

Member Data Documentation

template<class Real>
const moQuaternion moQuaternion< Real >::IDENTITY
static

Definition at line 305 of file moMathQuaternion.h.

template<class Real>
const moQuaternion moQuaternion< Real >::ZERO
static

Definition at line 306 of file moMathQuaternion.h.


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