Richard Boegli's CnC_Generals_Zero_Hour Fork WIP
This is documentation of Richard Boegil's Zero Hour Fork
 
Loading...
Searching...
No Matches
Quaternion Class Reference

#include <quat.h>

Public Member Functions

WWINLINE Quaternion (void)
 
WWINLINE Quaternion (bool init)
 
WWINLINE Quaternion (float a, float b, float c, float d)
 
WWINLINE Quaternion (const Vector3 &axis, float angle)
 
WWINLINE Quaternionoperator= (const Quaternion &source)
 
WWINLINE void Set (float a=0.0, float b=0.0, float c=0.0, float d=1.0)
 
WWINLINE void Make_Identity (void)
 
WWINLINE void Scale (float s)
 
WWINLINE float & operator[] (int i)
 
WWINLINE const float & operator[] (int i) const
 
WWINLINE Quaternion operator- () const
 
WWINLINE Quaternion operator+ () const
 
QuaternionMake_Closest (const Quaternion &qto)
 
WWINLINE float Length2 (void) const
 
WWINLINE float Length (void) const
 
void Normalize (void)
 
void Rotate_X (float theta)
 
void Rotate_Y (float theta)
 
void Rotate_Z (float theta)
 
void Randomize (void)
 
WWINLINE Vector3 Rotate_Vector (const Vector3 &v) const
 
WWINLINE void Rotate_Vector (const Vector3 &v, Vector3 *set_result) const
 
bool Is_Valid (void) const
 
 Quaternion (void)
 
 Quaternion (bool init)
 
 Quaternion (float a, float b, float c, float d)
 
 Quaternion (const Vector3 &axis, float angle)
 
Quaternionoperator= (const Quaternion &source)
 
void Set (float a=0.0, float b=0.0, float c=0.0, float d=1.0)
 
void Make_Identity (void)
 
void Scale (float s)
 
float & operator[] (int i)
 
const float & operator[] (int i) const
 
Quaternion operator- () const
 
Quaternion operator+ () const
 
QuaternionMake_Closest (const Quaternion &qto)
 
float Length2 (void) const
 
float Length (void) const
 
void Normalize (void)
 
void Rotate_X (float theta)
 
void Rotate_Y (float theta)
 
void Rotate_Z (float theta)
 
void Randomize (void)
 
Vector3 Rotate_Vector (const Vector3 &v) const
 
void Rotate_Vector (const Vector3 &v, Vector3 *set_result) const
 
bool Is_Valid (void) const
 

Public Attributes

float X
 
float Y
 
float Z
 
float W
 

Detailed Description

Definition at line 52 of file quat.h.

Constructor & Destructor Documentation

◆ Quaternion() [1/8]

WWINLINE Quaternion::Quaternion ( void )
inline

Definition at line 67 of file quat.h.

◆ Quaternion() [2/8]

WWINLINE Quaternion::Quaternion ( bool init)
inlineexplicit

Definition at line 68 of file quat.h.

◆ Quaternion() [3/8]

WWINLINE Quaternion::Quaternion ( float a,
float b,
float c,
float d )
inlineexplicit

Definition at line 69 of file quat.h.

◆ Quaternion() [4/8]

Quaternion::Quaternion ( const Vector3 & axis,
float angle )
explicit

Definition at line 89 of file quat.cpp.

◆ Quaternion() [5/8]

Quaternion::Quaternion ( void )
inline

Definition at line 66 of file w3dquat.h.

◆ Quaternion() [6/8]

Quaternion::Quaternion ( bool init)
inlineexplicit

Definition at line 67 of file w3dquat.h.

◆ Quaternion() [7/8]

Quaternion::Quaternion ( float a,
float b,
float c,
float d )
inlineexplicit

Definition at line 68 of file w3dquat.h.

◆ Quaternion() [8/8]

Quaternion::Quaternion ( const Vector3 & axis,
float angle )
explicit

Member Function Documentation

◆ Is_Valid() [1/2]

bool Quaternion::Is_Valid ( void ) const
inline

Definition at line 275 of file quat.h.

◆ Is_Valid() [2/2]

bool Quaternion::Is_Valid ( void ) const

◆ Length() [1/2]

WWINLINE float Quaternion::Length ( void ) const
inline

Definition at line 95 of file quat.h.

◆ Length() [2/2]

float Quaternion::Length ( void ) const
inline

Definition at line 94 of file w3dquat.h.

◆ Length2() [1/2]

WWINLINE float Quaternion::Length2 ( void ) const
inline

Definition at line 92 of file quat.h.

◆ Length2() [2/2]

float Quaternion::Length2 ( void ) const
inline

Definition at line 91 of file w3dquat.h.

◆ Make_Closest() [1/2]

Quaternion & Quaternion::Make_Closest ( const Quaternion & qto)

Definition at line 139 of file quat.cpp.

◆ Make_Closest() [2/2]

Quaternion & Quaternion::Make_Closest ( const Quaternion & qto)

◆ Make_Identity() [1/2]

WWINLINE void Quaternion::Make_Identity ( void )
inline

Definition at line 74 of file quat.h.

◆ Make_Identity() [2/2]

void Quaternion::Make_Identity ( void )
inline

Definition at line 73 of file w3dquat.h.

◆ Normalize() [1/2]

void Quaternion::Normalize ( void )

Definition at line 112 of file quat.cpp.

◆ Normalize() [2/2]

void Quaternion::Normalize ( void )

◆ operator+() [1/2]

WWINLINE Quaternion Quaternion::operator+ ( ) const
inline

Definition at line 84 of file quat.h.

◆ operator+() [2/2]

Quaternion Quaternion::operator+ ( ) const
inline

Definition at line 83 of file w3dquat.h.

◆ operator-() [1/2]

WWINLINE Quaternion Quaternion::operator- ( ) const
inline

Definition at line 83 of file quat.h.

◆ operator-() [2/2]

Quaternion Quaternion::operator- ( ) const
inline

Definition at line 82 of file w3dquat.h.

◆ operator=() [1/2]

Quaternion & Quaternion::operator= ( const Quaternion & source)

Definition at line 303 of file quat.h.

◆ operator=() [2/2]

Quaternion & Quaternion::operator= ( const Quaternion & source)

◆ operator[]() [1/4]

WWINLINE float & Quaternion::operator[] ( int i)
inline

Definition at line 78 of file quat.h.

◆ operator[]() [2/4]

float & Quaternion::operator[] ( int i)
inline

Definition at line 77 of file w3dquat.h.

◆ operator[]() [3/4]

WWINLINE const float & Quaternion::operator[] ( int i) const
inline

Definition at line 79 of file quat.h.

◆ operator[]() [4/4]

const float & Quaternion::operator[] ( int i) const
inline

Definition at line 78 of file w3dquat.h.

◆ Randomize() [1/2]

void Quaternion::Randomize ( void )

Definition at line 885 of file quat.cpp.

◆ Randomize() [2/2]

void Quaternion::Randomize ( void )

◆ Rotate_Vector() [1/4]

Vector3 Quaternion::Rotate_Vector ( const Vector3 & v) const
inline

Definition at line 246 of file quat.h.

◆ Rotate_Vector() [2/4]

Vector3 Quaternion::Rotate_Vector ( const Vector3 & v) const

◆ Rotate_Vector() [3/4]

void Quaternion::Rotate_Vector ( const Vector3 & v,
Vector3 * set_result ) const
inline

Definition at line 261 of file quat.h.

◆ Rotate_Vector() [4/4]

void Quaternion::Rotate_Vector ( const Vector3 & v,
Vector3 * set_result ) const

◆ Rotate_X() [1/2]

void Quaternion::Rotate_X ( float theta)

Definition at line 850 of file quat.cpp.

◆ Rotate_X() [2/2]

void Quaternion::Rotate_X ( float theta)

◆ Rotate_Y() [1/2]

void Quaternion::Rotate_Y ( float theta)

Definition at line 856 of file quat.cpp.

◆ Rotate_Y() [2/2]

void Quaternion::Rotate_Y ( float theta)

◆ Rotate_Z() [1/2]

void Quaternion::Rotate_Z ( float theta)

Definition at line 862 of file quat.cpp.

◆ Rotate_Z() [2/2]

void Quaternion::Rotate_Z ( float theta)

◆ Scale() [1/2]

WWINLINE void Quaternion::Scale ( float s)
inline

Definition at line 75 of file quat.h.

◆ Scale() [2/2]

void Quaternion::Scale ( float s)
inline

Definition at line 74 of file w3dquat.h.

◆ Set() [1/2]

WWINLINE void Quaternion::Set ( float a = 0.0,
float b = 0.0,
float c = 0.0,
float d = 1.0 )
inline

Definition at line 73 of file quat.h.

◆ Set() [2/2]

void Quaternion::Set ( float a = 0.0,
float b = 0.0,
float c = 0.0,
float d = 1.0 )
inline

Definition at line 72 of file w3dquat.h.

Member Data Documentation

◆ W

float Quaternion::W

Definition at line 63 of file quat.h.

◆ X

float Quaternion::X

Definition at line 60 of file quat.h.

◆ Y

float Quaternion::Y

Definition at line 61 of file quat.h.

◆ Z

float Quaternion::Z

Definition at line 62 of file quat.h.


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