Main Page | Class Hierarchy | Class List | Class Members

DVR::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 ()
override int GetHashCode ()
override bool Equals (object obj)

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)
bool operator== (Quaternion left, Quaternion right)
bool operator!= (Quaternion left, Quaternion right)
Quaternion Slerp (float time, Quaternion quatA, Quaternion quatB)
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)
Quaternion Squad (float t, Quaternion p, Quaternion a, Quaternion b, Quaternion q, bool useShortestPath)

Public Attributes

const float EPSILON = 1e-03f
float w
float x
float y
float z

Properties

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

Detailed Description

Summary description for Quaternion.


Constructor & Destructor Documentation

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

Creates a new Quaternion.


Member Function Documentation

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

Used when a Quaternion is added to another Quaternion.

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

Performs a Dot Product operation on 2 Quaternions.

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

Calculates the Exponent of a Quaternion.

Quaternion DVR::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 DVR::Math::Quaternion::FromAxes Vector3  xAxis,
Vector3  yAxis,
Vector3  zAxis
[inline]
 

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

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

Computes the inverse of a Quaternion.

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

Calculates the logarithm of a Quaternion.

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

Used when a Quaternion is multiplied by a float value.

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

Used when a float value is multiplied by a Quaternion.

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

Quaternion DVR::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 DVR::Math::Quaternion::Normalize  )  [inline]
 

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

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

Used when a Quaternion is multiplied by a float value.

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

Used when a float value is multiplied by a Quaternion.

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

Quaternion DVR::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 DVR::Math::Quaternion::operator+ Quaternion  left,
Quaternion  right
[inline, static]
 

Used when a Quaternion is added to another Quaternion.

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

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

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

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

Performs spherical quadratic interpolation.

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

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

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

Gets a 3x3 rotation matrix from this Quaternion.

override string DVR::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 DVR::Math::Quaternion::Identity [static, get]
 

An Identity Quaternion.

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

Squared 'length' of this quaternion.

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

Local X-axis portion of this rotation.

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

Local Y-axis portion of this rotation.

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

Local Z-axis portion of this rotation.

Quaternion DVR::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 Tue Nov 30 22:19:44 2004 for DirectVolumeRenderer by doxygen 1.3.6