Sirikata
Classes | Public Types | Public Member Functions | Static Public Member Functions | Private Member Functions | Static Private Member Functions | Friends
Sirikata::Quaternion Class Reference

#include <Quaternion.hpp>

Inheritance diagram for Sirikata::Quaternion:
Collaboration diagram for Sirikata::Quaternion:

List of all members.

Classes

class  WXYZ
class  XYZW

Public Types

typedef float scalar

Public Member Functions

 Quaternion ()
 Quaternion (scalar x, scalar y, scalar z, scalar w)
 Quaternion (scalar x, scalar y, scalar z, scalar w, XYZW convention)
 Quaternion (scalar w, scalar x, scalar y, scalar z, WXYZ convention)
 Quaternion (const Vector3< scalar > &axis, scalar angle)
 Quaternion (const Vector3< scalar > &xAxis, const Vector3< scalar > &yAxis, const Vector3< scalar > &zAxis)
 Quaternion (const Matrix3x3< Quaternion::scalar > &kRot)
void toAngleAxis (scalar &returnAngleRadians, Vector3< scalar > &returnAxis) const
Quaternion normal () const
Quaternion operator+ (const Quaternion &other) const
Quaternion operator- (const Quaternion &other) const
Quaternion operator- () const
Quaternion operator* (scalar other) const
Quaternion operator/ (scalar other) const
Quaternion operator* (const Quaternion &other) const
template<typename myscalar >
Vector3< myscalar > operator* (const Vector3< myscalar > &other) const
Quaternion inverse () const
Vector3< scalarxAxis () const
Vector3< scalaryAxis () const
Vector3< scalarzAxis () const
void toAxes (Vector3< scalar > &xAxis, Vector3< scalar > &yAxis, Vector3< scalar > &zAxis) const
Quaternion exp (float32 n) const
 Raise the quaternion to a power (i.e.

Static Public Member Functions

static Quaternion identity ()
static Quaternion zero ()

Private Member Functions

 Quaternion (const Vector4< scalar > &value)

Static Private Member Functions

static void ToRotationMatrix (const Quaternion &q, Matrix3x3< Quaternion::scalar > kRot)
static void FromRotationMatrix (Quaternion &q, const Matrix3x3< Quaternion::scalar > &kRot)

Friends

Quaternion operator* (scalar, const Quaternion &)
Quaternion operator/ (scalar, const Quaternion &)

Member Typedef Documentation


Constructor & Destructor Documentation

Sirikata::Quaternion::Quaternion ( const Vector4< scalar > &  value) [inline, private]
Sirikata::Quaternion::Quaternion ( ) [inline]
Sirikata::Quaternion::Quaternion ( scalar  x,
scalar  y,
scalar  z,
scalar  w 
) [inline]
Sirikata::Quaternion::Quaternion ( scalar  x,
scalar  y,
scalar  z,
scalar  w,
XYZW  convention 
) [inline]
Sirikata::Quaternion::Quaternion ( scalar  w,
scalar  x,
scalar  y,
scalar  z,
WXYZ  convention 
) [inline]
Sirikata::Quaternion::Quaternion ( const Vector3< scalar > &  axis,
scalar  angle 
) [inline]
Sirikata::Quaternion::Quaternion ( const Vector3< scalar > &  xAxis,
const Vector3< scalar > &  yAxis,
const Vector3< scalar > &  zAxis 
) [inline]

References FromRotationMatrix().

Sirikata::Quaternion::Quaternion ( const Matrix3x3< Quaternion::scalar > &  kRot) [inline]

References FromRotationMatrix().


Member Function Documentation

Quaternion Sirikata::Quaternion::exp ( float32  n) const [inline]

Raise the quaternion to a power (i.e.

apply the rotation n times).

Parameters:
nthe exponent

References Quaternion(), and toAngleAxis().

Referenced by Sirikata::MotionQuaternion::extrapolatePosition().

static void Sirikata::Quaternion::FromRotationMatrix ( Quaternion q,
const Matrix3x3< Quaternion::scalar > &  kRot 
) [inline, static, private]
static Quaternion Sirikata::Quaternion::identity ( ) [inline, static]
Quaternion Sirikata::Quaternion::inverse ( ) const [inline]
Quaternion Sirikata::Quaternion::normal ( ) const [inline]
Quaternion Sirikata::Quaternion::operator* ( scalar  other) const [inline]

Reimplemented from Sirikata::Vector4< float >.

References Quaternion().

Quaternion Sirikata::Quaternion::operator* ( const Quaternion other) const [inline]
template<typename myscalar >
Vector3<myscalar> Sirikata::Quaternion::operator* ( const Vector3< myscalar > &  other) const [inline]
Quaternion Sirikata::Quaternion::operator+ ( const Quaternion other) const [inline]

References Quaternion().

Quaternion Sirikata::Quaternion::operator- ( ) const [inline]

Reimplemented from Sirikata::Vector4< float >.

References Quaternion().

Quaternion Sirikata::Quaternion::operator- ( const Quaternion other) const [inline]

References Quaternion().

Quaternion Sirikata::Quaternion::operator/ ( scalar  other) const [inline]

Reimplemented from Sirikata::Vector4< float >.

References Quaternion().

void Sirikata::Quaternion::toAngleAxis ( scalar returnAngleRadians,
Vector3< scalar > &  returnAxis 
) const [inline]
void Sirikata::Quaternion::toAxes ( Vector3< scalar > &  xAxis,
Vector3< scalar > &  yAxis,
Vector3< scalar > &  zAxis 
) const [inline]
static void Sirikata::Quaternion::ToRotationMatrix ( const Quaternion q,
Matrix3x3< Quaternion::scalar kRot 
) [inline, static, private]
Vector3<scalar> Sirikata::Quaternion::xAxis ( ) const [inline]
Vector3<scalar> Sirikata::Quaternion::yAxis ( ) const [inline]
Vector3<scalar> Sirikata::Quaternion::zAxis ( ) const [inline]
static Quaternion Sirikata::Quaternion::zero ( ) [inline, static]

Reimplemented from Sirikata::Vector4< float >.

References Quaternion().

Referenced by inverse().


Friends And Related Function Documentation

Quaternion operator* ( Quaternion::scalar  s,
const Quaternion q 
) [friend]
Quaternion operator/ ( Quaternion::scalar  s,
const Quaternion q 
) [friend]

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