Richard Boegli's CnC_Generals_Zero_Hour Fork WIP
This is documentation of Richard Boegil's Zero Hour Fork
 
Loading...
Searching...
No Matches
quat.h File Reference
#include "always.h"
#include "wwmath.h"
#include "matrix3.h"
#include "vector3.h"
#include "matrix3d.h"

Go to the source code of this file.

Classes

class  Quaternion
 
struct  SlerpInfoStruct
 

Macros

#define QUAT_H
 

Functions

WWINLINE Quaternion Inverse (const Quaternion &a)
 
WWINLINE Quaternion Conjugate (const Quaternion &a)
 
WWINLINE Quaternion operator+ (const Quaternion &a, const Quaternion &b)
 
WWINLINE Quaternion operator- (const Quaternion &a, const Quaternion &b)
 
WWINLINE Quaternion operator* (float scl, const Quaternion &a)
 
WWINLINE Quaternion operator* (const Quaternion &a, float scl)
 
WWINLINE Quaternion operator* (const Quaternion &a, const Quaternion &b)
 
WWINLINE Quaternion operator/ (const Quaternion &a, const Quaternion &b)
 
WWINLINE Quaternion Normalize (const Quaternion &a)
 
Quaternion Axis_To_Quat (const Vector3 &a, float angle)
 
Quaternion Trackball (float x0, float y0, float x1, float y1, float sphsize)
 
void __cdecl Slerp (Quaternion &result, const Quaternion &a, const Quaternion &b, float t)
 
void __cdecl Fast_Slerp (Quaternion &result, const Quaternion &a, const Quaternion &b, float t)
 
Quaternion Build_Quaternion (const Matrix3x3 &matrix)
 
Quaternion Build_Quaternion (const Matrix3D &matrix)
 
Quaternion Build_Quaternion (const Matrix4x4 &matrix)
 
Matrix3x3 Build_Matrix3 (const Quaternion &quat)
 
Matrix3DBuild_Matrix3D (const Quaternion &q, Matrix3D &out)
 
Matrix4x4 Build_Matrix4 (const Quaternion &quat)
 
void Slerp_Setup (const Quaternion &p, const Quaternion &q, SlerpInfoStruct *slerpinfo)
 
void Cached_Slerp (const Quaternion &p, const Quaternion &q, float alpha, SlerpInfoStruct *slerpinfo, Quaternion *set_q)
 
Quaternion Cached_Slerp (const Quaternion &p, const Quaternion &q, float alpha, SlerpInfoStruct *slerpinfo)
 
WWINLINE bool Equal_Within_Epsilon (const Quaternion &a, const Quaternion &b, float epsilon)
 

Macro Definition Documentation

◆ QUAT_H

#define QUAT_H

Definition at line 43 of file quat.h.

Function Documentation

◆ Axis_To_Quat()

Quaternion Axis_To_Quat ( const Vector3 & a,
float angle )

Definition at line 222 of file quat.cpp.

◆ Build_Matrix3()

Matrix3x3 Build_Matrix3 ( const Quaternion & quat)

Definition at line 805 of file quat.cpp.

◆ Build_Matrix3D()

WWINLINE Matrix3D & Build_Matrix3D ( const Quaternion & q,
Matrix3D & out )

Definition at line 208 of file quat.h.

◆ Build_Matrix4()

Matrix4x4 Build_Matrix4 ( const Quaternion & quat)

Definition at line 824 of file quat.cpp.

◆ Build_Quaternion() [1/3]

Quaternion Build_Quaternion ( const Matrix3D & matrix)

Definition at line 663 of file quat.cpp.

◆ Build_Quaternion() [2/3]

Quaternion Build_Quaternion ( const Matrix3x3 & matrix)

Definition at line 706 of file quat.cpp.

◆ Build_Quaternion() [3/3]

Quaternion Build_Quaternion ( const Matrix4x4 & matrix)

Definition at line 750 of file quat.cpp.

◆ Cached_Slerp() [1/2]

Quaternion Cached_Slerp ( const Quaternion & p,
const Quaternion & q,
float alpha,
SlerpInfoStruct * slerpinfo )

Definition at line 589 of file quat.cpp.

◆ Cached_Slerp() [2/2]

void Cached_Slerp ( const Quaternion & p,
const Quaternion & q,
float alpha,
SlerpInfoStruct * slerpinfo,
Quaternion * set_q )

Definition at line 621 of file quat.cpp.

◆ Conjugate()

WWINLINE Quaternion Conjugate ( const Quaternion & a)

Definition at line 123 of file quat.h.

◆ Equal_Within_Epsilon()

WWINLINE bool Equal_Within_Epsilon ( const Quaternion & a,
const Quaternion & b,
float epsilon )

Definition at line 283 of file quat.h.

◆ Fast_Slerp()

void __cdecl Fast_Slerp ( Quaternion & result,
const Quaternion & a,
const Quaternion & b,
float t )

Definition at line 441 of file quat.cpp.

◆ Inverse()

WWINLINE Quaternion Inverse ( const Quaternion & a)

Definition at line 117 of file quat.h.

◆ Normalize()

WWINLINE Quaternion Normalize ( const Quaternion & a)

Definition at line 171 of file quat.h.

◆ operator*() [1/3]

WWINLINE Quaternion operator* ( const Quaternion & a,
const Quaternion & b )

Definition at line 153 of file quat.h.

◆ operator*() [2/3]

WWINLINE Quaternion operator* ( const Quaternion & a,
float scl )

Definition at line 147 of file quat.h.

◆ operator*() [3/3]

WWINLINE Quaternion operator* ( float scl,
const Quaternion & a )

Definition at line 141 of file quat.h.

◆ operator+()

WWINLINE Quaternion operator+ ( const Quaternion & a,
const Quaternion & b )

Definition at line 129 of file quat.h.

◆ operator-()

WWINLINE Quaternion operator- ( const Quaternion & a,
const Quaternion & b )

Definition at line 135 of file quat.h.

◆ operator/()

WWINLINE Quaternion operator/ ( const Quaternion & a,
const Quaternion & b )

Definition at line 165 of file quat.h.

◆ Slerp()

void __cdecl Slerp ( Quaternion & result,
const Quaternion & a,
const Quaternion & b,
float t )

Definition at line 487 of file quat.cpp.

◆ Slerp_Setup()

void Slerp_Setup ( const Quaternion & p,
const Quaternion & q,
SlerpInfoStruct * slerpinfo )

Definition at line 545 of file quat.cpp.

◆ Trackball()

Quaternion Trackball ( float x0,
float y0,
float x1,
float y1,
float sphsize )

Definition at line 169 of file quat.cpp.