Page principale Liste des namespaces Hiérarchie des classes Liste par ordre alphabétique Liste des composants Liste des fichiers Membres des namespaces Composants Déclarations

# Référence de la classe ExQuaternion

`#include <ExQuaternion.h>`

## Membres publics
| ExQuaternion ()
| ExQuaternion (float w, float x, float y, float z)
| ~ExQuaternion ()
void | LoadIdentity (void)
void | SetQuaternion (float w, float x, float y, float z)
void | Normalize (void)
void | Conjugate (void)
float | GetMagnitude (void)
void | SetEuler (float yaw, float pitch, float roll)
ExQuaternion | operator- (const ExQuaternion &Q)
ExQuaternion | operator+ (const ExQuaternion &Q)
ExQuaternion | operator * (const float scalar)
ExQuaternion | operator * (const ExQuaternion &Q)
## Attributs Publics
float | qw
float | qx
float | qy
float | qz
## Amis (friends)
std::ostream & | operator<< (std::ostream &s, const ExQuaternion &q)

## Documentation des contructeurs et destructeurs

ExQuaternion | ( |  | ) |

| Définition à la ligne 26 du fichier ExQuaternion.cpp. Références SetQuaternion().
    00027 {
    00028         SetQuaternion(1,0,0,0);
    00029 }

ExQuaternion | ( | float | w,
|  | float | x,
|  | float | y,
|  | float | z
| ) |

| Définition à la ligne 31 du fichier ExQuaternion.cpp. Références SetQuaternion().
    00032 {
    00033         SetQuaternion(w,x,y,z);
    00034 }

~ExQuaternion | ( |  | ) |

| Définition à la ligne 36 du fichier ExQuaternion.cpp.
    00037 {
    00038
    00039 }

## Documentation des méthodes

void Conjugate | ( | void |  | ) |

| Définition à la ligne 52 du fichier ExQuaternion.cpp.
    00053 {
    00054
    00055 }

float GetMagnitude | ( | void |  | ) |

| Définition à la ligne 63 du fichier ExQuaternion.cpp. Références qw, qx, qy, et qz. Référencé par Normalize().
    00064 {
    00065         return(sqrt(qw*qw+qx*qx+qy*qy+qz*qz));
    00066
    00067 }

void LoadIdentity | ( | void |  | ) |

| Définition à la ligne 57 du fichier ExQuaternion.cpp. Références qx, qy, et qz.
    00058 {
    00059         qx=-qx;
    00060         qy=-qy;
    00061         qz=-qz;
    00062 }

void Normalize | ( | void |  | ) |

| Définition à la ligne 68 du fichier ExQuaternion.cpp. Références GetMagnitude(), qw, qx, qy, et qz.
    00069 {
    00070         float factor=GetMagnitude();
    00071         float scaleby(1.0/sqrt(factor));
    00072         qw=qw*scaleby;
    00073         qx=qx*scaleby;
    00074         qy=qy*scaleby;
    00075         qz=qz*scaleby;
    00076 }

ExQuaternion operator * | ( | const ExQuaternion & | Q | ) |

| Définition à la ligne 96 du fichier ExQuaternion.cpp. Références qw, qx, qy, et qz.
    00097 {
    00098         ExQuaternion result;
    00099         result.qw=(Q.qw*result.qw)-(Q.qx*result.qx)-(Q.qy*result.qy)-(Q.qz*result.qz);
    00100         result.qx=(Q.qw*result.qx)-(Q.qx*result.qw)-(Q.qy*result.qz)-(Q.qz*result.qw);
    00101         result.qy=(Q.qw*result.qy)-(Q.qx*result.qz)-(Q.qy*result.qw)-(Q.qz*result.qx);
    00102         result.qz=(Q.qw*result.qz)-(Q.qx*result.qy)-(Q.qy*result.qx)-(Q.qz*result.qw);
    00103         return result;
    00104 }

ExQuaternion operator * | ( | const float | scalar | ) |

ExQuaternion operator+ | ( | const ExQuaternion & | Q | ) |

ExQuaternion operator- | ( | const ExQuaternion & | Q | ) |

void SetEuler | ( | float | yaw,
|  | float | pitch,
|  | float | roll
| ) |

| Définition à la ligne 78 du fichier ExQuaternion.cpp. Références qw, qx, qy, et qz.
    00079 {
    00080         float cosY = cosf(yaw/2.0f);
    00081         float sinY = sinf(yaw/2.0f);
    00082         float cosP = cosf(pitch/2.0f);
    00083         float sinP = sinf(pitch/2.0f);
    00084         float cosR = cosf(roll/2.0f);
    00085         float sinR = sinf(roll/2.0f);
    00086
    00087         qw=cosR*sinP*cosY+sinR*cosP*sinY;
    00088         qx=cosR*cosP*sinY-sinR*sinP*cosY;
    00089         qy=sinR*cosP*cosY-cosR*sinP*sinY;
    00090         qz=cosR*cosP*cosY+sinR*sinP*sinY;
    00091
    00092 }

void SetQuaternion | ( | float | w,
|  | float | x,
|  | float | y,
|  | float | z
| ) |

| Définition à la ligne 44 du fichier ExQuaternion.cpp. Référencé par ExQuaternion().
    00045 {
    00046         qw=w;
    00047         qx=x;
    00048         qy=y;
    00049         qz=z;
    00050 }

## Documentation des fonctions amies et associées

std::ostream& operator<< | ( | std::ostream & | s,
|  | const ExQuaternion & | q
| ) | `[friend]`

| Définition à la ligne 109 du fichier ExQuaternion.cpp.
    00110 {
    00111 Guard(friend std::ostream& operator<<(std::ostream& s,const ExQuaternion &q))
    00112         s<<"W:"<<q.qw<<"X:"<<q.qx<<"Y:"<<q.qy<<"Z:"<<q.qz<<std::endl;
    00113         return s;
    00114 UnGuard
    00115 }

## Documentation des données imbriquées

float qw

| Définition à la ligne 55 du fichier ExQuaternion.h. Référencé par GetMagnitude(), GetMatrixFromQuaternion(), GetQuaternionFromEuler(), Normalize(), operator *(), operator<<(), et SetEuler().

float qx

| Définition à la ligne 55 du fichier ExQuaternion.h. Référencé par GetAxisFromQuaternion(), GetMagnitude(), GetMatrixFromQuaternion(), GetQuaternionFromEuler(), LoadIdentity(), Normalize(), operator *(), operator<<(), et SetEuler().

float qy

| Définition à la ligne 55 du fichier ExQuaternion.h. Référencé par GetAxisFromQuaternion(), GetMagnitude(), GetMatrixFromQuaternion(), GetQuaternionFromEuler(), LoadIdentity(), Normalize(), operator *(), operator<<(), et SetEuler().

float qz

| Définition à la ligne 55 du fichier ExQuaternion.h. Référencé par GetAxisFromQuaternion(), GetMagnitude(), GetMatrixFromQuaternion(), GetQuaternionFromEuler(), LoadIdentity(), Normalize(), operator *(), operator<<(), et SetEuler().

La documentation associée à cette classe a été générée à partir des fichiers suivants :

- ExQuaternion.h
- ExQuaternion.cpp