Main Page | Class Hierarchy | Class List | Class Members

SC::Math::Quaternion Struct Reference

List of all members.

Public Member Functions

 Quaternion (float w, float x, float y, float z)
float Dot (Quaternion quat)
void Normalize ()
void ToAngleAxis (ref float angle, ref Vector3 axis)
Matrix3 ToRotationMatrix ()
Quaternion Inverse ()
void ToAxes (out Vector3 xAxis, out Vector3 yAxis, out Vector3 zAxis)
void FromAxes (Vector3 xAxis, Vector3 yAxis, Vector3 zAxis)
void FromRotationMatrix (Matrix3 matrix)
Quaternion Log ()
Quaternion Exp ()
override string ToString ()

Static Public Member Functions

Quaternion Multiply (Quaternion left, Quaternion right)
Quaternion operator * (Quaternion left, Quaternion right)
Vector3 Multiply (Quaternion quat, Vector3 vector)
Vector3 operator * (Quaternion quat, Vector3 vector)
Quaternion Multiply (float scalar, Quaternion right)
Quaternion operator * (float scalar, Quaternion right)
Quaternion Multiply (Quaternion left, float scalar)
Quaternion operator * (Quaternion left, float scalar)
Quaternion Add (Quaternion left, Quaternion right)
Quaternion operator+ (Quaternion left, Quaternion right)
Quaternion operator- (Quaternion right)
Quaternion Slerp (float time, Quaternion quatA, Quaternion quatB, bool useShortestPath)
Quaternion FromAngleAxis (float angle, Vector3 axis)
Quaternion Squad (float t, Quaternion p, Quaternion a, Quaternion b, Quaternion q, bool useShortestPath)

Properties

Quaternion Identity
Quaternion Zero
float Norm
Vector3 XAxis
Vector3 YAxis
Vector3 ZAxis

Detailed Description

Summary description for Quaternion.


Constructor & Destructor Documentation

SC::Math::Quaternion::Quaternion float  w,
float  x,
float  y,
float  z
[inline]
 

Creates a new Quaternion.


Member Function Documentation

Quaternion SC::Math::Quaternion::Add Quaternion  left,
Quaternion  right
[inline, static]
 

Used when a Quaternion is added to another Quaternion.

float SC::Math::Quaternion::Dot Quaternion  quat  )  [inline]
 

Performs a Dot Product operation on 2 Quaternions.

Quaternion SC::Math::Quaternion::Exp  )  [inline]
 

Calculates the Exponent of a Quaternion.

Quaternion SC::Math::Quaternion::FromAngleAxis float  angle,
Vector3  axis
[inline, static]
 

Creates a Quaternion from a supplied angle and axis. Value of an angle in radians. Arbitrary axis vector.

void SC::Math::Quaternion::FromAxes Vector3  xAxis,
Vector3  yAxis,
Vector3  zAxis
[inline]
 

void SC::Math::Quaternion::FromRotationMatrix Matrix3  matrix  )  [inline]
 

Quaternion SC::Math::Quaternion::Inverse  )  [inline]
 

Computes the inverse of a Quaternion.

Quaternion SC::Math::Quaternion::Log  )  [inline]
 

Calculates the logarithm of a Quaternion.

Quaternion SC::Math::Quaternion::Multiply Quaternion  left,
float  scalar
[inline, static]
 

Used when a Quaternion is multiplied by a float value.

Quaternion SC::Math::Quaternion::Multiply float  scalar,
Quaternion  right
[inline, static]
 

Used when a float value is multiplied by a Quaternion.

Vector3 SC::Math::Quaternion::Multiply Quaternion  quat,
Vector3  vector
[inline, static]
 

Quaternion SC::Math::Quaternion::Multiply Quaternion  left,
Quaternion  right
[inline, static]
 

Used to multiply 2 Quaternions together. Quaternion multiplication is not communative in most cases. i.e. p*q != q*p

void SC::Math::Quaternion::Normalize  )  [inline]
 

Normalizes elements of this quaterion to the range [0,1].

Quaternion SC::Math::Quaternion::operator * Quaternion  left,
float  scalar
[inline, static]
 

Used when a Quaternion is multiplied by a float value.

Quaternion SC::Math::Quaternion::operator * float  scalar,
Quaternion  right
[inline, static]
 

Used when a float value is multiplied by a Quaternion.

Vector3 SC::Math::Quaternion::operator * Quaternion  quat,
Vector3  vector
[inline, static]
 

Quaternion SC::Math::Quaternion::operator * Quaternion  left,
Quaternion  right
[inline, static]
 

Used to multiply 2 Quaternions together. Quaternion multiplication is not communative in most cases. i.e. p*q != q*p

Quaternion SC::Math::Quaternion::operator+ Quaternion  left,
Quaternion  right
[inline, static]
 

Used when a Quaternion is added to another Quaternion.

Quaternion SC::Math::Quaternion::operator- Quaternion  right  )  [inline, static]
 

Negates a Quaternion, which simply returns a new Quaternion with all components negated.

Quaternion SC::Math::Quaternion::Slerp float  time,
Quaternion  quatA,
Quaternion  quatB,
bool  useShortestPath
[inline, static]
 

Quaternion SC::Math::Quaternion::Squad float  t,
Quaternion  p,
Quaternion  a,
Quaternion  b,
Quaternion  q,
bool  useShortestPath
[inline, static]
 

Performs spherical quadratic interpolation.

void SC::Math::Quaternion::ToAngleAxis ref float  angle,
ref Vector3  axis
[inline]
 

void SC::Math::Quaternion::ToAxes out Vector3  xAxis,
out Vector3  yAxis,
out Vector3  zAxis
[inline]
 

Matrix3 SC::Math::Quaternion::ToRotationMatrix  )  [inline]
 

Gets a 3x3 rotation matrix from this Quaternion.

override string SC::Math::Quaternion::ToString  )  [inline]
 

Overrides the Object.ToString() method to provide a text representation of a Quaternion. A string representation of a Quaternion.


Property Documentation

Quaternion SC::Math::Quaternion::Identity [static, get]
 

An Identity Quaternion.

float SC::Math::Quaternion::Norm [get]
 

Squared 'length' of this quaternion.

Vector3 SC::Math::Quaternion::XAxis [get]
 

Local X-axis portion of this rotation.

Vector3 SC::Math::Quaternion::YAxis [get]
 

Local Y-axis portion of this rotation.

Vector3 SC::Math::Quaternion::ZAxis [get]
 

Local Z-axis portion of this rotation.

Quaternion SC::Math::Quaternion::Zero [static, get]
 

A Quaternion with all elements set to 0.0f;


The documentation for this struct was generated from the following file:
Generated on Sat Jan 15 23:59:00 2005 for StreamCtrl by doxygen 1.3.6