#include <Wm4Quaternion.h>
Collaboration diagram for Wm4::Quaternion< Real >:
Public Member Functions | |
Quaternion () | |
Quaternion (Real fW, Real fX, Real fY, Real fZ) | |
Quaternion (const Quaternion &rkQ) | |
Quaternion (const Matrix3< Real > &rkRot) | |
Quaternion (const Vector3< Real > &rkAxis, Real fAngle) | |
Quaternion (const Vector3< 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 () |
Quaternion & | operator= (const Quaternion &rkQ) |
bool | operator== (const Quaternion &rkQ) const |
bool | operator!= (const Quaternion &rkQ) const |
bool | operator< (const Quaternion &rkQ) const |
bool | operator<= (const Quaternion &rkQ) const |
bool | operator> (const Quaternion &rkQ) const |
bool | operator>= (const Quaternion &rkQ) const |
Quaternion | operator+ (const Quaternion &rkQ) const |
Quaternion | operator- (const Quaternion &rkQ) const |
Quaternion | operator * (const Quaternion &rkQ) const |
Quaternion | operator * (Real fScalar) const |
Quaternion | operator/ (Real fScalar) const |
Quaternion | operator- () const |
Quaternion & | operator+= (const Quaternion &rkQ) |
Quaternion & | operator-= (const Quaternion &rkQ) |
Quaternion & | operator *= (Real fScalar) |
Quaternion & | operator/= (Real fScalar) |
Quaternion & | FromRotationMatrix (const Matrix3< Real > &rkRot) |
void | ToRotationMatrix (Matrix3< Real > &rkRot) const |
Quaternion & | FromRotationMatrix (const Vector3< Real > akRotColumn[3]) |
void | ToRotationMatrix (Vector3< Real > akRotColumn[3]) const |
Quaternion & | FromAxisAngle (const Vector3< Real > &rkAxis, Real fAngle) |
void | ToAxisAngle (Vector3< Real > &rkAxis, Real &rfAngle) const |
Real | Length () const |
Real | SquaredLength () const |
Real | Dot (const Quaternion &rkQ) const |
Real | Normalize () |
Quaternion | Inverse () const |
Quaternion | Conjugate () const |
Quaternion | Exp () const |
Quaternion | Log () const |
Vector3< Real > | Rotate (const Vector3< Real > &rkVector) const |
Quaternion & | Slerp (Real fT, const Quaternion &rkP, const Quaternion &rkQ) |
Quaternion & | SlerpExtraSpins (Real fT, const Quaternion &rkP, const Quaternion &rkQ, int iExtraSpins) |
Quaternion & | Intermediate (const Quaternion &rkQ0, const Quaternion &rkQ1, const Quaternion &rkQ2) |
Quaternion & | Squad (Real fT, const Quaternion &rkQ0, const Quaternion &rkA0, const Quaternion &rkA1, const Quaternion &rkQ1) |
Quaternion & | Align (const Vector3< Real > &rkV1, const Vector3< Real > &rkV2) |
void | DecomposeTwistTimesSwing (const Vector3< Real > &rkV1, Quaternion &rkTwist, Quaternion &rkSwing) |
void | DecomposeSwingTimesTwist (const Vector3< Real > &rkV1, Quaternion &rkSwing, Quaternion &rkTwist) |
Quaternion | GetClosestX () const |
Quaternion | GetClosestY () const |
Quaternion | GetClosestZ () const |
Quaternion | GetClosestXY () const |
Quaternion | GetClosestYX () const |
Quaternion | GetClosestZX () const |
Quaternion | GetClosestXZ () const |
Quaternion | GetClosestYZ () const |
Quaternion | GetClosestZY () const |
void | FactorXYZ (Real &rfCx, Real &rfSx, Real &rfCy, Real &rfSy, Real &rfCz, Real &rfSz) |
void | FactorXZY (Real &rfCx, Real &rfSx, Real &rfCz, Real &rfSz, Real &rfCy, Real &rfSy) |
void | FactorYZX (Real &rfCy, Real &rfSy, Real &rfCz, Real &rfSz, Real &rfCx, Real &rfSx) |
void | FactorYXZ (Real &rfCy, Real &rfSy, Real &rfCx, Real &rfSx, Real &rfCz, Real &rfSz) |
void | FactorZXY (Real &rfCz, Real &rfSz, Real &rfCx, Real &rfSx, Real &rfCy, Real &rfSy) |
void | FactorZYX (Real &rfCz, Real &rfSz, Real &rfCy, Real &rfSy, Real &rfCx, Real &rfSx) |
Quaternion | GetClosestX (const Constraints &rkXCon) const |
Quaternion | GetClosestY (const Constraints &rkYCon) const |
Quaternion | GetClosestZ (const Constraints &rkZCon) const |
Quaternion | GetClosestXY (const Constraints &rkXCon, const Constraints &rkYCon) const |
Quaternion | GetClosestYX (const Constraints &rkYCon, const Constraints &rkXCon) const |
Quaternion | GetClosestZX (const Constraints &rkZCon, const Constraints &rkXCon) const |
Quaternion | GetClosestXZ (const Constraints &rkXCon, const Constraints &rkZCon) const |
Quaternion | GetClosestZY (const Constraints &rkZCon, const Constraints &rkYCon) const |
Quaternion | GetClosestYZ (const Constraints &rkYCon, const Constraints &rkZCon) const |
template<> | |
const Quaternion< float > | IDENTITY (1.0f, 0.0f, 0.0f, 0.0f) |
template<> | |
const Quaternion< float > | ZERO (0.0f, 0.0f, 0.0f, 0.0f) |
template<> | |
int | ms_iNext [3] |
template<> | |
float | ms_fTolerance |
template<> | |
float | ms_fRootTwo |
template<> | |
float | ms_fRootHalf |
template<> | |
const Quaternion< double > | IDENTITY (1.0, 0.0, 0.0, 0.0) |
template<> | |
const Quaternion< double > | ZERO (0.0, 0.0, 0.0, 0.0) |
template<> | |
int | ms_iNext [3] |
template<> | |
double | ms_fTolerance |
template<> | |
double | ms_fRootTwo |
template<> | |
double | ms_fRootHalf |
Static Public Attributes | |
static WM4_FOUNDATION_ITEM const Quaternion | IDENTITY |
static WM4_FOUNDATION_ITEM const Quaternion | ZERO |
Classes | |
class | Constraints |
Wm4::Quaternion< Real >::Quaternion | ( | ) |
Wm4::Quaternion< Real >::Quaternion | ( | Real | fW, | |
Real | fX, | |||
Real | fY, | |||
Real | fZ | |||
) |
Wm4::Quaternion< Real >::Quaternion | ( | const Quaternion< Real > & | rkQ | ) |
Wm4::Quaternion< Real >::Quaternion | ( | const Matrix3< Real > & | rkRot | ) |
Wm4::Quaternion< Real >::Quaternion | ( | const Vector3< Real > & | rkAxis, | |
Real | fAngle | |||
) |
Wm4::Quaternion< Real >::Quaternion | ( | const Vector3< Real > | akRotColumn[3] | ) |
Wm4::Quaternion< Real >::operator const Real * | ( | ) | const [inline] |
Wm4::Quaternion< Real >::operator Real * | ( | ) | [inline] |
Real Wm4::Quaternion< Real >::operator[] | ( | int | i | ) | const [inline] |
Real & Wm4::Quaternion< Real >::operator[] | ( | int | i | ) | [inline] |
Real Wm4::Quaternion< Real >::W | ( | ) | const [inline] |
Real & Wm4::Quaternion< Real >::W | ( | ) | [inline] |
Real Wm4::Quaternion< Real >::X | ( | ) | const [inline] |
Real & Wm4::Quaternion< Real >::X | ( | ) | [inline] |
Real Wm4::Quaternion< Real >::Y | ( | ) | const [inline] |
Real & Wm4::Quaternion< Real >::Y | ( | ) | [inline] |
Real Wm4::Quaternion< Real >::Z | ( | ) | const [inline] |
Real & Wm4::Quaternion< Real >::Z | ( | ) | [inline] |
Quaternion< Real > & Wm4::Quaternion< Real >::operator= | ( | const Quaternion< Real > & | rkQ | ) | [inline] |
bool Wm4::Quaternion< Real >::operator== | ( | const Quaternion< Real > & | rkQ | ) | const |
bool Wm4::Quaternion< Real >::operator!= | ( | const Quaternion< Real > & | rkQ | ) | const |
bool Wm4::Quaternion< Real >::operator< | ( | const Quaternion< Real > & | rkQ | ) | const |
bool Wm4::Quaternion< Real >::operator<= | ( | const Quaternion< Real > & | rkQ | ) | const |
bool Wm4::Quaternion< Real >::operator> | ( | const Quaternion< Real > & | rkQ | ) | const |
bool Wm4::Quaternion< Real >::operator>= | ( | const Quaternion< Real > & | rkQ | ) | const |
Quaternion< Real > Wm4::Quaternion< Real >::operator+ | ( | const Quaternion< Real > & | rkQ | ) | const [inline] |
Quaternion< Real > Wm4::Quaternion< Real >::operator- | ( | const Quaternion< Real > & | rkQ | ) | const [inline] |
Quaternion< Real > Wm4::Quaternion< Real >::operator * | ( | const Quaternion< Real > & | rkQ | ) | const [inline] |
Quaternion< Real > Wm4::Quaternion< Real >::operator * | ( | Real | fScalar | ) | const [inline] |
Quaternion< Real > Wm4::Quaternion< Real >::operator/ | ( | Real | fScalar | ) | const [inline] |
Quaternion< Real > Wm4::Quaternion< Real >::operator- | ( | ) | const [inline] |
Quaternion< Real > & Wm4::Quaternion< Real >::operator+= | ( | const Quaternion< Real > & | rkQ | ) | [inline] |
Quaternion< Real > & Wm4::Quaternion< Real >::operator-= | ( | const Quaternion< Real > & | rkQ | ) | [inline] |
Quaternion< Real > & Wm4::Quaternion< Real >::operator *= | ( | Real | fScalar | ) | [inline] |
Quaternion< Real > & Wm4::Quaternion< Real >::operator/= | ( | Real | fScalar | ) | [inline] |
Quaternion< Real > & Wm4::Quaternion< Real >::FromRotationMatrix | ( | const Matrix3< Real > & | rkRot | ) |
void Wm4::Quaternion< Real >::ToRotationMatrix | ( | Matrix3< Real > & | rkRot | ) | const |
Quaternion< Real > & Wm4::Quaternion< Real >::FromRotationMatrix | ( | const Vector3< Real > | akRotColumn[3] | ) |
void Wm4::Quaternion< Real >::ToRotationMatrix | ( | Vector3< Real > | akRotColumn[3] | ) | const |
Quaternion< Real > & Wm4::Quaternion< Real >::FromAxisAngle | ( | const Vector3< Real > & | rkAxis, | |
Real | fAngle | |||
) |
void Wm4::Quaternion< Real >::ToAxisAngle | ( | Vector3< Real > & | rkAxis, | |
Real & | rfAngle | |||
) | const |
Real Wm4::Quaternion< Real >::Length | ( | ) | const [inline] |
Real Wm4::Quaternion< Real >::SquaredLength | ( | ) | const [inline] |
Real Wm4::Quaternion< Real >::Dot | ( | const Quaternion< Real > & | rkQ | ) | const [inline] |
Real Wm4::Quaternion< Real >::Normalize | ( | ) | [inline] |
Quaternion< Real > Wm4::Quaternion< Real >::Inverse | ( | ) | const |
Quaternion< Real > Wm4::Quaternion< Real >::Conjugate | ( | ) | const |
Quaternion< Real > Wm4::Quaternion< Real >::Exp | ( | ) | const |
Quaternion< Real > Wm4::Quaternion< Real >::Log | ( | ) | const |
Vector3< Real > Wm4::Quaternion< Real >::Rotate | ( | const Vector3< Real > & | rkVector | ) | const |
Quaternion< Real > & Wm4::Quaternion< Real >::Slerp | ( | Real | fT, | |
const Quaternion< Real > & | rkP, | |||
const Quaternion< Real > & | rkQ | |||
) |
Quaternion< Real > & Wm4::Quaternion< Real >::SlerpExtraSpins | ( | Real | fT, | |
const Quaternion< Real > & | rkP, | |||
const Quaternion< Real > & | rkQ, | |||
int | iExtraSpins | |||
) |
Quaternion< Real > & Wm4::Quaternion< Real >::Intermediate | ( | const Quaternion< Real > & | rkQ0, | |
const Quaternion< Real > & | rkQ1, | |||
const Quaternion< Real > & | rkQ2 | |||
) |
Quaternion< Real > & Wm4::Quaternion< Real >::Squad | ( | Real | fT, | |
const Quaternion< Real > & | rkQ0, | |||
const Quaternion< Real > & | rkA0, | |||
const Quaternion< Real > & | rkA1, | |||
const Quaternion< Real > & | rkQ1 | |||
) |
Quaternion< Real > & Wm4::Quaternion< Real >::Align | ( | const Vector3< Real > & | rkV1, | |
const Vector3< Real > & | rkV2 | |||
) |
void Wm4::Quaternion< Real >::DecomposeTwistTimesSwing | ( | const Vector3< Real > & | rkV1, | |
Quaternion< Real > & | rkTwist, | |||
Quaternion< Real > & | rkSwing | |||
) |
void Wm4::Quaternion< Real >::DecomposeSwingTimesTwist | ( | const Vector3< Real > & | rkV1, | |
Quaternion< Real > & | rkSwing, | |||
Quaternion< Real > & | rkTwist | |||
) |
Quaternion< Real > Wm4::Quaternion< Real >::GetClosestX | ( | ) | const |
Quaternion< Real > Wm4::Quaternion< Real >::GetClosestY | ( | ) | const |
Quaternion< Real > Wm4::Quaternion< Real >::GetClosestZ | ( | ) | const |
Quaternion< Real > Wm4::Quaternion< Real >::GetClosestXY | ( | ) | const |
Quaternion< Real > Wm4::Quaternion< Real >::GetClosestYX | ( | ) | const |
Quaternion< Real > Wm4::Quaternion< Real >::GetClosestZX | ( | ) | const |
Quaternion< Real > Wm4::Quaternion< Real >::GetClosestXZ | ( | ) | const |
Quaternion< Real > Wm4::Quaternion< Real >::GetClosestYZ | ( | ) | const |
Quaternion< Real > Wm4::Quaternion< Real >::GetClosestZY | ( | ) | const |
void Wm4::Quaternion< Real >::FactorXYZ | ( | Real & | rfCx, | |
Real & | rfSx, | |||
Real & | rfCy, | |||
Real & | rfSy, | |||
Real & | rfCz, | |||
Real & | rfSz | |||
) |
void Wm4::Quaternion< Real >::FactorXZY | ( | Real & | rfCx, | |
Real & | rfSx, | |||
Real & | rfCz, | |||
Real & | rfSz, | |||
Real & | rfCy, | |||
Real & | rfSy | |||
) |
void Wm4::Quaternion< Real >::FactorYZX | ( | Real & | rfCy, | |
Real & | rfSy, | |||
Real & | rfCz, | |||
Real & | rfSz, | |||
Real & | rfCx, | |||
Real & | rfSx | |||
) |
void Wm4::Quaternion< Real >::FactorYXZ | ( | Real & | rfCy, | |
Real & | rfSy, | |||
Real & | rfCx, | |||
Real & | rfSx, | |||
Real & | rfCz, | |||
Real & | rfSz | |||
) |
void Wm4::Quaternion< Real >::FactorZXY | ( | Real & | rfCz, | |
Real & | rfSz, | |||
Real & | rfCx, | |||
Real & | rfSx, | |||
Real & | rfCy, | |||
Real & | rfSy | |||
) |
void Wm4::Quaternion< Real >::FactorZYX | ( | Real & | rfCz, | |
Real & | rfSz, | |||
Real & | rfCy, | |||
Real & | rfSy, | |||
Real & | rfCx, | |||
Real & | rfSx | |||
) |
Quaternion< Real > Wm4::Quaternion< Real >::GetClosestX | ( | const Constraints & | rkXCon | ) | const |
Quaternion< Real > Wm4::Quaternion< Real >::GetClosestY | ( | const Constraints & | rkYCon | ) | const |
Quaternion< Real > Wm4::Quaternion< Real >::GetClosestZ | ( | const Constraints & | rkZCon | ) | const |
Quaternion< Real > Wm4::Quaternion< Real >::GetClosestXY | ( | const Constraints & | rkXCon, | |
const Constraints & | rkYCon | |||
) | const |
Quaternion< Real > Wm4::Quaternion< Real >::GetClosestYX | ( | const Constraints & | rkYCon, | |
const Constraints & | rkXCon | |||
) | const |
Quaternion< Real > Wm4::Quaternion< Real >::GetClosestZX | ( | const Constraints & | rkZCon, | |
const Constraints & | rkXCon | |||
) | const |
Quaternion< Real > Wm4::Quaternion< Real >::GetClosestXZ | ( | const Constraints & | rkXCon, | |
const Constraints & | rkZCon | |||
) | const |
Quaternion< Real > Wm4::Quaternion< Real >::GetClosestZY | ( | const Constraints & | rkZCon, | |
const Constraints & | rkYCon | |||
) | const |
Quaternion< Real > Wm4::Quaternion< Real >::GetClosestYZ | ( | const Constraints & | rkYCon, | |
const Constraints & | rkZCon | |||
) | const |
const Quaternion< float > Wm4::Quaternion< float >::IDENTITY | ( | 1. | 0f, | |
0. | 0f, | |||
0. | 0f, | |||
0. | 0f | |||
) |
const Quaternion< float > Wm4::Quaternion< float >::ZERO | ( | 0. | 0f, | |
0. | 0f, | |||
0. | 0f, | |||
0. | 0f | |||
) |
int Wm4::Quaternion< float >::ms_iNext | ( | ) |
float Wm4::Quaternion< float >::ms_fTolerance | ( | ) |
float Wm4::Quaternion< float >::ms_fRootTwo | ( | ) |
float Wm4::Quaternion< float >::ms_fRootHalf | ( | ) |
const Quaternion< double > Wm4::Quaternion< double >::IDENTITY | ( | 1. | 0, | |
0. | 0, | |||
0. | 0, | |||
0. | 0 | |||
) |
const Quaternion< double > Wm4::Quaternion< double >::ZERO | ( | 0. | 0, | |
0. | 0, | |||
0. | 0, | |||
0. | 0 | |||
) |
int Wm4::Quaternion< double >::ms_iNext | ( | ) |
double Wm4::Quaternion< double >::ms_fTolerance | ( | ) |
double Wm4::Quaternion< double >::ms_fRootTwo | ( | ) |
double Wm4::Quaternion< double >::ms_fRootHalf | ( | ) |
WM4_FOUNDATION_ITEM const Quaternion Wm4::Quaternion< Real >::IDENTITY [static] |
WM4_FOUNDATION_ITEM const Quaternion Wm4::Quaternion< Real >::ZERO [static] |