- Cal3D 0.9 API Reference -

Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   Related Pages  

CalQuaternion Class Reference

The quaternion class. More...

#include <quaternion.h>

List of all members.

Public Methods

 CalQuaternion ()
 Constructs the quaternion instance. More...

 CalQuaternion (const CalQuaternion &q)
 Constructs the quaternion instance. More...

 CalQuaternion (float qx, float qy, float qz, float qw)
 Constructs the quaternion instance. More...

 ~CalQuaternion ()
 Destructs the quaternion instance. More...

float & operator[] (unsigned int index)
 Provides access to the components of the quaternion instance. More...

const float & operator[] (unsigned int index) const
 Provides access to the components of the quaternion instance. More...

void operator= (const CalQuaternion &q)
 Equates the quaternion instance with another quaternion. More...

void operator *= (const CalQuaternion &q)
 Multiplies another quaternion to the quaternion instance. More...

void operator *= (const CalVector &v)
 Multiplies a vector to the quaternion instance. More...

void blend (float d, const CalQuaternion &q)
 Interpolates the quaternion instance to another quaternion. More...

void clear ()
 Clears the quaternion instance. More...

void conjugate ()
 Conjugates the quaternion instance. More...

void invert ()
 Inverts the quaternion instance. More...

void set (float qx, float qy, float qz, float qw)
 Sets new values. More...


Public Attributes

float x
float y
float z
float w

Friends

CAL3D_API CalQuaternion operator * (const CalQuaternion &q, const CalQuaternion &r)
 Calculates the product of two quaternions. More...

CAL3D_API CalQuaternion shortestArc (const CalVector &from, const CalVector &to)
 Computes the shortest arc quaternion that will rotate one vector to another. More...


Detailed Description

The quaternion class.


Constructor & Destructor Documentation

CalQuaternion::CalQuaternion  
 

Constructs the quaternion instance.

This function is the default constructor of the quaternion instance.

CalQuaternion::CalQuaternion const CalQuaternion &    q
 

Constructs the quaternion instance.

This function is a constructor of the quaternion instance.

Parameters:
q  The quaternion to construct this quaternion instance from.

CalQuaternion::CalQuaternion float    qx,
float    qy,
float    qz,
float    qw
 

Constructs the quaternion instance.

This function is a constructor of the quaternion instance.

Parameters:
qx  The x component.
qy  The y component.
qz  The z component.
qw  The w component.

CalQuaternion::~CalQuaternion  
 

Destructs the quaternion instance.

This function is the destructor of the quaternion instance.


Member Function Documentation

void CalQuaternion::blend float    d,
const CalQuaternion &    q
 

Interpolates the quaternion instance to another quaternion.

This function interpolates the quaternion instance to another quaternion by a given factor.

Parameters:
d  The blending factor in the range [0.0, 1.0].
v  The quaternion to be interpolated to.

void CalQuaternion::clear  
 

Clears the quaternion instance.

This function clears the quaternion instance.

void CalQuaternion::conjugate  
 

Conjugates the quaternion instance.

This function conjugates the quaternion instance.

void CalQuaternion::invert  
 

Inverts the quaternion instance.

This function inverts the quaternion instance.

void CalQuaternion::operator *= const CalVector   v
 

Multiplies a vector to the quaternion instance.

This operator multiplies a vector to the quaternion instance.

Parameters:
v  The vector to be multiplied.

void CalQuaternion::operator *= const CalQuaternion &    q
 

Multiplies another quaternion to the quaternion instance.

This operator multiplies another quaternion to the quaternion instance.

Parameters:
q  The quaternion to be multiplied.

void CalQuaternion::operator= const CalQuaternion &    q
 

Equates the quaternion instance with another quaternion.

This operator equates the quaternion instance with another quaternion.

Parameters:
q  The quaternion to equate the quaternion instance with.

const float & CalQuaternion::operator[] unsigned int    index const
 

Provides access to the components of the quaternion instance.

This function provides read access to the three components of the quaternion instance.

Parameters:
index  The index to the specific component.
Returns:
A constant reference to the specific component.

float & CalQuaternion::operator[] unsigned int    index
 

Provides access to the components of the quaternion instance.

This function provides read and write access to the three components of the quaternion instance.

Parameters:
index  The index to the specific component.
Returns:
A reference to the specific component.

void CalQuaternion::set float    qx,
float    qy,
float    qz,
float    qw
 

Sets new values.

This function sets new values in the quaternion instance.

Parameters:
qx  The x component.
qy  The y component.
qz  The z component.
qw  The w component.


Friends And Related Function Documentation

CAL3D_API CalQuaternion operator * const CalQuaternion &    q,
const CalQuaternion &    r
[friend]
 

Calculates the product of two quaternions.

This operator calculates the product of two quaternions.

Parameters:
q  The first quaternion.
r  The second quaternion.
Returns:
The product of the two quaternions.

CAL3D_API CalQuaternion shortestArc const CalVector   from,
const CalVector   to
[friend]
 

Computes the shortest arc quaternion that will rotate one vector to another.

This function finds the shortest arc quaternion. Based on equations from "Game Programming Gems" - chapter 2.10

Parameters:
from  The original vector
to  The target vector


The documentation for this class was generated from the following files:
Generated at Sun Oct 12 18:38:50 2003 by The Cal3D Team with doxygen 1.2.14 © 1997-2001 Dimitri van Heesch