Main Page | Namespace List | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members

peon::Quaternion Class Reference

Implementation of a Quaternion, i.e. More...

#include <Quaternion.h>

List of all members.

Public Member Functions

 Quaternion (Real fW=1.0, Real fX=0.0, Real fY=0.0, Real fZ=0.0)
 Quaternion (const Quaternion &rkQ)
 Quaternion (const Matrix33 &rot)
 Construct a quaternion from a rotation matrix.
 Quaternion (const Radian &rfAngle, const Vector3 &rkAxis)
 Construct a quaternion from an angle/axis.
 Quaternion (const Real &rfAngle, const Vector3 &rkAxis)
 Quaternion (const Vector3 &xaxis, const Vector3 &yaxis, const Vector3 &zaxis)
 Construct a quaternion from 3 orthonormal local axes.
 Quaternion (Vector3 *akAxis)
 Construct a quaternion from 3 orthonormal local axes.
void FromRotationMatrix (const Matrix33 &kRot)
void ToRotationMatrix (Matrix33 &kRot) const
void FromAngleAxis (const Radian &rfAngle, const Vector3 &rkAxis)
void ToAngleAxis (Radian &rfAngle, Vector3 &rkAxis) const
void ToAngleAxis (Degree &dAngle, Vector3 &rkAxis) const
void FromAngleAxis (const Real &rfAngle, const Vector3 &rkAxis)
void ToAngleAxis (Real &rfAngle, Vector3 &rkAxis) const
void FromAxes (const Vector3 *akAxis)
void FromAxes (const Vector3 &xAxis, const Vector3 &yAxis, const Vector3 &zAxis)
void ToAxes (Vector3 *akAxis) const
void ToAxes (Vector3 &xAxis, Vector3 &yAxis, Vector3 &zAxis) const
Vector3 xAxis (void) const
 Get the local x-axis.
Vector3 yAxis (void) const
 Get the local y-axis.
Vector3 zAxis (void) const
 Get the local z-axis.
Quaternionoperator= (const Quaternion &rkQ)
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- () const
bool operator== (const Quaternion &rhs) const
bool operator!= (const Quaternion &rhs) const
Real Dot (const Quaternion &rkQ) const
Real Norm () const
Real normalise (void)
 Normalises this quaternion, and returns the previous length.
Quaternion Inverse () const
Quaternion UnitInverse () const
Quaternion Exp () const
Quaternion Log () const
Vector3 operator * (const Vector3 &rkVector) const
Radian getRoll (void) const
 Calculate the local roll element of this quaternion.
Radian getPitch (void) const
 Calculate the local pitch element of this quaternion.
Radian getYaw (void) const
 Calculate the local yaw element of this quaternion.
bool equals (const Quaternion &rhs, const Radian &tolerance)
 Equality with tolerance (tolerance is max angle difference).

Static Public Member Functions

static Quaternion Slerp (Real fT, const Quaternion &rkP, const Quaternion &rkQ, bool shortestPath=false)
static Quaternion SlerpExtraSpins (Real fT, const Quaternion &rkP, const Quaternion &rkQ, int iExtraSpins)
static void Intermediate (const Quaternion &rkQ0, const Quaternion &rkQ1, const Quaternion &rkQ2, Quaternion &rka, Quaternion &rkB)
static Quaternion Squad (Real fT, const Quaternion &rkP, const Quaternion &rkA, const Quaternion &rkB, const Quaternion &rkQ, bool shortestPath=false)
static Quaternion nlerp (Real fT, const Quaternion &rkP, const Quaternion &rkQ, bool shortestPath=false)

Public Attributes

Real w
Real x
Real y
Real z

Static Public Attributes

static const Real ms_fEpsilon
static const Quaternion ZERO
static const Quaternion IDENTITY

Friends

_PeonExport friend Quaternion operator * (Real fScalar, const Quaternion &rkQ)
_PeonExport friend std::ostream & operator<< (std::ostream &o, const Quaternion &q)
 Function for writing to a stream.


Detailed Description

Implementation of a Quaternion, i.e.

a rotation around an axis.


The documentation for this class was generated from the following file:
Generated on Wed Nov 9 09:37:08 2005 for Peon by  doxygen 1.4.3