vtdata library
Public Member Functions | Public Attributes | List of all members
FQuat Class Reference

Public Member Functions

 FQuat (float qx, float qy, float qz, float qw)
 FQuat (const FQuat &q)
 FQuat (const FPoint3 &axis, float angle)
void Init ()
void Set (float qx, float qy, float qz, float qw)
void SetFromMatrix (const FMatrix3 &matrix)
void SetFromVectors (const FPoint3 &forward, const FPoint3 &up)
void SetFromVector (const FPoint3 &direction)
void AxisAngle (const FPoint3 &axis, float angle)
void GetMatrix (FMatrix3 &matrix) const
void Slerp (const FQuat &from, const FQuat &to, double f)
float LengthSquared () const
const FQuat Inverse () const
void Invert ()
const FQuat operator* (const FQuat &q) const
FQuatoperator*= (const FQuat &q)
const FQuat operator/ (const FQuat &q) const
FQuatoperator/= (const FQuat &q)
FQuatoperator= (const FQuat &q)

Public Attributes

float x
float y
float z
float w

Detailed Description

Single-precision quaternion class. Quaternions are very useful for efficiently representing an orientations/rotation and operations such as interpolating between orientations.

Member Function Documentation

void FQuat::GetMatrix ( FMatrix3 mat) const

Get the equivalent matrix for this quaternion.

void FQuat::SetFromMatrix ( const FMatrix3 mat)

Set quaternion to be equivalent to specified matrix.

void FQuat::Slerp ( const FQuat from,
const FQuat to,
double  f 

Spherical Linear Interpolation. As f goes from 0 to 1, the quaternion goes from "from" to "to".

Reference: Shoemake at SIGGRAPH 89, See also: http://www.gamasutra.com/features/19980703/quaternions_01.htm