Quaternion Class Reference

#include <Quaterni.h>

Collaboration diagram for Quaternion:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 Quaternion ()
 Quaternion (const Matrix33 &)
 Quaternion (const Matrix34 &)
 Quaternion (const Vector &vec, float scalar)
 Quaternion (float x, float y, float z, float s)
 Quaternion (const Quaternion &q)
 Quaternion (float scalar)
 Quaternion (float radangle, const Vector &axis)
 Quaternion (const RotateVector &rv)
 Quaternion (const RotateSphere &rs)
 Quaternion (const RotateSphere &rs, Bone *bone)
 Quaternion (const RotateEuler &re)
 Quaternion (const RotateEuler &re, BOOL isyxz)
const VectorGetV () const
float GetW () const
void SetV (const Vector &vec)
void SetV (int index, float value)
void SetW (float scalar)
void Set (float x, float y, float z, float pw)
void Set (Vector pv, float pw)
void Set (float fillvalue)
void SetIdentity ()
Vector GetXAxis () const
Vector GetYAxis () const
Vector GetZAxis () const
float GetAngle () const
Vector GetAxis () const
void SetAngleAxis (float radangle, const Vector &axis)
float Norm () const
QuaternionNormalize ()
Quaternion Normalized () const
float NormalizeLength (void)
Quaternion Conjugate () const
Quaternion Inverse () const
QuaternionNegate (void)
BOOL IsIdentity ()
int operator== (const Quaternion &a) const
int operator!= (const Quaternion &a) const
Quaternionoperator *= (const Quaternion &q)
Quaternionoperator *= (float scalar)
Quaternionoperator/= (float scalar)
Quaternionoperator+= (const Quaternion &q2)
Quaternionoperator-= (const Quaternion &q2)
Quaternion operator- (void) const
float & operator[] (int i)
float operator[] (int i) const
Quaternion operator * (const Quaternion &b) const
Quaternion operator * (float scalar) const
Quaternion operator/ (float scalar) const
Quaternion operator+ (const Quaternion &b) const
Quaternion operator- (const Quaternion &b) const
Vector operator * (const Vector &v) const

Protected Attributes

Vector v
float w

Friends

class Matrix33
class Matrix34
class Matrix44
class Vector
Quaternion operator * (float scalar, const Quaternion &q)
Quaternion IdentityQ ()
void TransformVector (const Quaternion &q, Vector &v)
float Dot (const Quaternion &a, const Quaternion &b)
Quaternion RotateVQ (float angle, const Vector &axis)
MATRIXEXPORT Quaternion RotateVRadiansQ (float anglerad, const Vector &axis)
Quaternion XRotateRadiansQ (float anglerad)
Quaternion YRotateRadiansQ (float anglerad)
Quaternion ZRotateRadiansQ (float anglerad)
Quaternion XRotateQ (float angle)
Quaternion YRotateQ (float angle)
Quaternion ZRotateQ (float angle)
Quaternion YXZRotateRadiansQ (float y, float x, float z)
Quaternion YXRotateRadiansQ (float y, float x)
Quaternion YXZRotateQ (float y, float x, float z)
Quaternion YXRotateQ (float y, float x)
Quaternion XYZRotateQ (float x, float y, float z)
Quaternion XYRotateQ (float x, float y)
MATRIXEXPORT Quaternion Rotate2VQ (const Vector &from, const Vector &to)
Quaternion VectorsToStandardQ (const Vector &becomezdir, const Vector &becomeydir)
MATRIXEXPORT Quaternion Blend (const Quaternion &quat1, float percent1, const Quaternion &quat2, float percent2)

Detailed Description

Definition at line 20 of file Quaterni.h.


Constructor & Destructor Documentation

Quaternion::Quaternion  )  [inline]
 

Definition at line 28 of file Quaterni.h.

Referenced by operator *(), and Quaternion().

Quaternion::Quaternion const Matrix33  ) 
 

Quaternion::Quaternion const Matrix34  ) 
 

Quaternion::Quaternion const Vector vec,
float  scalar
[inline]
 

Definition at line 31 of file Quaterni.h.

Quaternion::Quaternion float  x,
float  y,
float  z,
float  s
[inline]
 

Definition at line 36 of file Quaterni.h.

References Vector::x.

Quaternion::Quaternion const Quaternion q  )  [inline]
 

Definition at line 43 of file Quaterni.h.

References v, and w.

Quaternion::Quaternion float  scalar  )  [inline]
 

Definition at line 48 of file Quaterni.h.

Quaternion::Quaternion float  radangle,
const Vector axis
[inline]
 

Definition at line 53 of file Quaterni.h.

Quaternion::Quaternion const RotateVector rv  )  [inline]
 

Definition at line 156 of file Rotate.h.

References RotateVector::end, float(), RADIANS, RotateVector::roll, Vector::x, Vector::y, YXRotateRadiansQ, YXZRotateRadiansQ, and Vector::z.

Here is the call graph for this function:

Quaternion::Quaternion const RotateSphere rs  )  [inline]
 

Definition at line 171 of file Rotate.h.

References Quaternion().

Here is the call graph for this function:

Quaternion::Quaternion const RotateSphere rs,
Bone *  bone
 

Quaternion::Quaternion const RotateEuler re  )  [inline]
 

Definition at line 176 of file Rotate.h.

References RotateEuler::x, RotateEuler::y, YXRotateQ, YXZRotateQ, and RotateEuler::z.

Quaternion::Quaternion const RotateEuler re,
BOOL  isyxz
[inline]
 

Definition at line 184 of file Rotate.h.

References RotateEuler::x, XYRotateQ, XYZRotateQ, RotateEuler::y, YXRotateQ, YXZRotateQ, and RotateEuler::z.


Member Function Documentation

Quaternion Quaternion::Conjugate  )  const [inline]
 

Definition at line 119 of file Quaterni.h.

float Quaternion::GetAngle  )  const [inline]
 

Definition at line 73 of file Quaterni.h.

References float().

Here is the call graph for this function:

Vector Quaternion::GetAxis  )  const [inline]
 

Definition at line 81 of file Quaterni.h.

References float().

Here is the call graph for this function:

const Vector& Quaternion::GetV  )  const [inline]
 

Definition at line 61 of file Quaterni.h.

float Quaternion::GetW  )  const [inline]
 

Definition at line 62 of file Quaterni.h.

Vector Quaternion::GetXAxis  )  const [inline]
 

Definition at line 70 of file Quaterni.h.

Vector Quaternion::GetYAxis  )  const [inline]
 

Definition at line 71 of file Quaterni.h.

Referenced by RotateEuler::RotateEuler(), and RotateVector::RotateVector().

Vector Quaternion::GetZAxis  )  const [inline]
 

Definition at line 72 of file Quaterni.h.

Referenced by RotateEuler::RotateEuler(), and RotateVector::RotateVector().

Quaternion Quaternion::Inverse void   )  const [inline]
 

Definition at line 123 of file Quaterni.h.

Referenced by RotateEuler::RotateEuler(), and RotateVector::RotateVector().

BOOL Quaternion::IsIdentity  )  [inline]
 

Definition at line 133 of file Quaterni.h.

References IdentityQ().

Here is the call graph for this function:

Quaternion& Quaternion::Negate void   )  [inline]
 

Definition at line 127 of file Quaterni.h.

float Quaternion::Norm  )  const [inline]
 

Definition at line 99 of file Quaterni.h.

References Dot().

Here is the call graph for this function:

Quaternion& Quaternion::Normalize  )  [inline]
 

Definition at line 103 of file Quaterni.h.

Referenced by TSQ::PostBlend().

Quaternion Quaternion::Normalized  )  const [inline]
 

Definition at line 108 of file Quaterni.h.

float Quaternion::NormalizeLength void   )  [inline]
 

Definition at line 112 of file Quaterni.h.

Vector Quaternion::operator * const Vector v  )  const [inline]
 

Definition at line 171 of file Quaterni.h.

Quaternion Quaternion::operator * float  scalar  )  const [inline]
 

Definition at line 151 of file Quaterni.h.

Quaternion Quaternion::operator * const Quaternion b  )  const [inline]
 

Definition at line 280 of file Quaterni.h.

References Quaternion(), v, and w.

Here is the call graph for this function:

Quaternion& Quaternion::operator *= float  scalar  )  [inline]
 

Definition at line 142 of file Quaterni.h.

Quaternion& Quaternion::operator *= const Quaternion q  )  [inline]
 

Definition at line 141 of file Quaterni.h.

int Quaternion::operator!= const Quaternion a  )  const [inline]
 

Definition at line 140 of file Quaterni.h.

Quaternion Quaternion::operator+ const Quaternion b  )  const [inline]
 

Definition at line 163 of file Quaterni.h.

References v, and w.

Quaternion& Quaternion::operator+= const Quaternion q2  )  [inline]
 

Definition at line 144 of file Quaterni.h.

References v, and w.

Quaternion Quaternion::operator- const Quaternion b  )  const [inline]
 

Definition at line 167 of file Quaterni.h.

References v, and w.

Quaternion Quaternion::operator- void   )  const [inline]
 

Definition at line 146 of file Quaterni.h.

References Vector2::Negate().

Here is the call graph for this function:

Quaternion& Quaternion::operator-= const Quaternion q2  )  [inline]
 

Definition at line 145 of file Quaterni.h.

References v, and w.

Quaternion Quaternion::operator/ float  scalar  )  const [inline]
 

Definition at line 159 of file Quaterni.h.

Quaternion& Quaternion::operator/= float  scalar  )  [inline]
 

Definition at line 143 of file Quaterni.h.

int Quaternion::operator== const Quaternion a  )  const [inline]
 

Definition at line 139 of file Quaterni.h.

References v, and w.

float Quaternion::operator[] int  i  )  const [inline]
 

Definition at line 148 of file Quaterni.h.

float& Quaternion::operator[] int  i  )  [inline]
 

Definition at line 147 of file Quaterni.h.

void Quaternion::Set float  fillvalue  )  [inline]
 

Definition at line 68 of file Quaterni.h.

References Vector::Set().

Here is the call graph for this function:

void Quaternion::Set Vector  pv,
float  pw
[inline]
 

Definition at line 67 of file Quaterni.h.

void Quaternion::Set float  x,
float  y,
float  z,
float  pw
[inline]
 

Definition at line 66 of file Quaterni.h.

References Vector::Set().

Here is the call graph for this function:

void Quaternion::SetAngleAxis float  radangle,
const Vector axis
[inline]
 

Definition at line 90 of file Quaterni.h.

References float(), and Vector::Normalize().

Here is the call graph for this function:

void Quaternion::SetIdentity  )  [inline]
 

Definition at line 69 of file Quaterni.h.

void Quaternion::SetV int  index,
float  value
[inline]
 

Definition at line 64 of file Quaterni.h.

void Quaternion::SetV const Vector vec  )  [inline]
 

Definition at line 63 of file Quaterni.h.

void Quaternion::SetW float  scalar  )  [inline]
 

Definition at line 65 of file Quaterni.h.


Friends And Related Function Documentation

MATRIXEXPORT Quaternion Blend const Quaternion quat1,
float  percent1,
const Quaternion quat2,
float  percent2
[friend]
 

float Dot const Quaternion a,
const Quaternion b
[friend]
 

Definition at line 213 of file Quaterni.h.

Quaternion IdentityQ  )  [friend]
 

Definition at line 205 of file Quaterni.h.

friend class Matrix33 [friend]
 

Definition at line 177 of file Quaterni.h.

friend class Matrix34 [friend]
 

Definition at line 178 of file Quaterni.h.

friend class Matrix44 [friend]
 

Definition at line 179 of file Quaterni.h.

Quaternion operator * float  scalar,
const Quaternion q
[friend]
 

Definition at line 155 of file Quaterni.h.

MATRIXEXPORT Quaternion Rotate2VQ const Vector from,
const Vector to
[friend]
 

Quaternion RotateVQ float  angle,
const Vector axis
[friend]
 

Definition at line 217 of file Quaterni.h.

MATRIXEXPORT Quaternion RotateVRadiansQ float  anglerad,
const Vector axis
[friend]
 

void TransformVector const Quaternion q,
Vector v
[friend]
 

Definition at line 209 of file Quaterni.h.

friend class Vector [friend]
 

Definition at line 201 of file Quaterni.h.

Quaternion VectorsToStandardQ const Vector becomezdir,
const Vector becomeydir
[friend]
 

Definition at line 270 of file Quaterni.h.

Quaternion XRotateQ float  angle  )  [friend]
 

Definition at line 233 of file Quaterni.h.

Quaternion XRotateRadiansQ float  anglerad  )  [friend]
 

Definition at line 221 of file Quaterni.h.

Quaternion XYRotateQ float  x,
float  y
[friend]
 

Definition at line 265 of file Quaterni.h.

Referenced by Quaternion().

Quaternion XYZRotateQ float  x,
float  y,
float  z
[friend]
 

Definition at line 261 of file Quaterni.h.

Referenced by Quaternion().

Quaternion YRotateQ float  angle  )  [friend]
 

Definition at line 237 of file Quaterni.h.

Quaternion YRotateRadiansQ float  anglerad  )  [friend]
 

Definition at line 225 of file Quaterni.h.

Quaternion YXRotateQ float  y,
float  x
[friend]
 

Definition at line 257 of file Quaterni.h.

Referenced by Quaternion().

Quaternion YXRotateRadiansQ float  y,
float  x
[friend]
 

Definition at line 249 of file Quaterni.h.

Referenced by Quaternion().

Quaternion YXZRotateQ float  y,
float  x,
float  z
[friend]
 

Definition at line 253 of file Quaterni.h.

Referenced by Quaternion().

Quaternion YXZRotateRadiansQ float  y,
float  x,
float  z
[friend]
 

Definition at line 245 of file Quaterni.h.

Referenced by Quaternion().

Quaternion ZRotateQ float  angle  )  [friend]
 

Definition at line 241 of file Quaterni.h.

Quaternion ZRotateRadiansQ float  anglerad  )  [friend]
 

Definition at line 229 of file Quaterni.h.


Member Data Documentation

Vector Quaternion::v [protected]
 

Definition at line 23 of file Quaterni.h.

Referenced by Dot(), operator *(), Vector::operator *=(), operator+(), operator+=(), operator-(), operator-=(), operator==(), and Quaternion().

float Quaternion::w [protected]
 

Definition at line 24 of file Quaterni.h.

Referenced by Dot(), operator *(), Vector::operator *=(), operator+(), operator+=(), operator-(), operator-=(), operator==(), and Quaternion().


The documentation for this class was generated from the following files:
This A:M SDK v12.0 documentation is maintained by Hash Inc. Please address any comments concerning this documentation to AMReports. If you have any information, knowledge, or documentation to share with the A:M developer community, please post them on the Hash SDK forum.

Generated on Thu Oct 27 11:47:02 2005 with doxygen 1.4.5 written by Dimitri van Heesch, © 1997-2001