Fonctions membres publiques

# Référence de la classe USpeedGameEngine::Math::Quaternion

Classe de calcul sur le corps des quaternions (les rotations en 3D). Plus de détails...

Liste de tous les membres

## Fonctions membres publiques

| Quaternion ()
| Constructeur par défaut.
| Quaternion (float w, float x, float y, float z)
| Constructeur avec les 4 composantes.
| Quaternion (float xEuler, float yEuler, float zEuler)
| Constructeur avec les 3 angles d'Euler.
| Quaternion (Math::Vector3D *vector, float angle)
| Constructeur avec les 3 angles d'Euler.
| ~Quaternion ()
| Destructeur par défaut.
Math::Quaternion | operator* (const Math::Quaternion &q) const
| Effectue le produit de deux quaternions.
Math::Quaternion & | operator= (const Math::Quaternion &q)
| Effectue l'affectation d'un quaternion vers l'actuel.
Math::Quaternion & | operator*= (const Math::Quaternion &q)
| Effectue l'affectation d'un quaternion après l'avoir multiplié au quaternion actuel.
void | getValues (float *w, float *x, float *y, float *z)
| Récupération des 4 composantes.
float | getNorm ()
| Calcule et retourne la norme du quaternion.
void | getMatrix (Math::Matrix4x4 *matrix)
| Génère la matrice 4x4 associée au quaternion.
void | normalize ()
| Normalisation du quaternion.
void | loadIdentity ()
| Définit le quaternion courant comme étant le quaternion identité [1, 0, 0, 0].
void | toEuler (float *xEuler, float *yEuler, float *zEuler)
| Convertion d'un quaternion en 3 angles d'Euler.
void | toAxis (Math::Vector3D *vector, float *angle)
| Convertion d'un quaternion en un vecteur et un angle.
void | fromEuler (float xEuler, float yEuler, float zEuler)
| Convertion des 3 angles d'Euler en un quaternion.
void | fromAxis (Math::Vector3D *vector, float angle)
| Convertion d'un vecteur et d'un angle en un quaternion.

## Description détaillée

Classe de calcul sur le corps des quaternions (les rotations en 3D).

Auteur:
  U.Speed

## Documentation des constructeurs et destructeur

Math::Quaternion::Quaternion | ( |  | ) |

Constructeur par défaut.

Auteur:
  U.Speed

Math::Quaternion::Quaternion | ( | float | w,
|  | float | x,
|  | float | y,
|  | float | z |
| ) |  |  |

Constructeur avec les 4 composantes.

Le quaternion est ensuite normalisé. Forme d'un quaternion : `w + x * i + y * j + z * k`

Auteur:
  U.Speed

Paramètres:

  | w | float : la composante w
  | x | float : la composante x
  | y | float : la composante y
  | z | float : la composante z

Math::Quaternion::Quaternion | ( | float | xEuler,
|  | float | yEuler,
|  | float | zEuler |
| ) |  |  |

Constructeur avec les 3 angles d'Euler.

Le quaternion est ensuite normalisé

Auteur:
  U.Speed

Math::Quaternion::Quaternion | ( | Math::Vector3D * | vector,
|  | float | angle |
| ) |  |  |

Constructeur avec les 3 angles d'Euler.

Le quaternion est ensuite normalisé

Auteur:
  U.Speed

Paramètres:

  | vector | Math::Vector3D* : le vecteur
  | angle | float : l'angle

Math::Quaternion::~Quaternion | ( |  | ) |

Destructeur par défaut.

Auteur:
  U.Speed

## Documentation des fonctions membres

void Math::Quaternion::fromAxis | ( | Math::Vector3D * | vector,
|  | float | angle |
| ) |  |  |

Convertion d'un vecteur et d'un angle en un quaternion.

Auteur:
  U.Speed

Paramètres:

  | vector | Math::Vector3D : le vecteur
  | angle | float : l'angle

void Math::Quaternion::fromEuler | ( | float | xEuler,
|  | float | yEuler,
|  | float | zEuler |
| ) |  |  |

Convertion des 3 angles d'Euler en un quaternion.

Auteur:
  U.Speed

Paramètres:

  | xEuler | float : angle selon X en degrés
  | yEuler | float : angle selon Y en degrés
  | zEuler | float : angle selon Z en degrés

void Math::Quaternion::getMatrix | ( | Math::Matrix4x4 * | matrix | ) |

Génère la matrice 4x4 associée au quaternion.

Auteur:
  U.Speed

Paramètres:

  | matrix | Math::Matrix4x4* : le pointeur d'une matrice d'accueil

float Math::Quaternion::getNorm | ( |  | ) |

Calcule et retourne la norme du quaternion.

Auteur:
  U.Speed

Renvoie:
  float : la norme du quaternion

void Math::Quaternion::getValues | ( | float * | w,
|  | float * | x,
|  | float * | y,
|  | float * | z |
| ) |  |  |

Récupération des 4 composantes.

Auteur:
  U.Speed

Paramètres:

  | w | float* : pointeur pour récupérer cette composante
  | x | float* : pointeur pour récupérer cette composante
  | y | float* : pointeur pour récupérer cette composante
  | z | float* : pointeur pour récupérer cette composante

void Math::Quaternion::loadIdentity | ( |  | ) |

Définit le quaternion courant comme étant le quaternion identité [1, 0, 0, 0].

Auteur:
  U.Speed

void Math::Quaternion::normalize | ( |  | ) |

Normalisation du quaternion.

Auteur:
  U.Speed

Math::Quaternion Math::Quaternion::operator* | ( | const Math::Quaternion & | q | ) | const

Effectue le produit de deux quaternions.

Auteur:
  U.Speed

Paramètres:

  | q | const Math::Quaternion& : le quaternion à multiplier au quaternion actuel

Renvoie:
  Math::Quaternion : le quaternion résultant

Math::Quaternion & Math::Quaternion::operator*= | ( | const Math::Quaternion & | q | ) |

Effectue l'affectation d'un quaternion après l'avoir multiplié au quaternion actuel.

Auteur:
  U.Speed

Paramètres:

  | q | const Math::Quaternion& : le quaternion à multiplier

Renvoie:
  Math::Quaternion& : le quaternion résultant

Math::Quaternion & Math::Quaternion::operator= | ( | const Math::Quaternion & | q | ) |

Effectue l'affectation d'un quaternion vers l'actuel.

Auteur:
  U.Speed

Paramètres:

  | q | const Math::Quaternion& : le quaternion à copier

Renvoie:
  Math::Quaternion& : le quaternion résultant

void Math::Quaternion::toAxis | ( | Math::Vector3D * | vector,
|  | float * | angle |
| ) |  |  |

Convertion d'un quaternion en un vecteur et un angle.

Auteur:
  U.Speed

Paramètres:

  | vector | Math::Vector3D* : le vecteur
  | angle | float* : l'angle

void Math::Quaternion::toEuler | ( | float * | xEuler,
|  | float * | yEuler,
|  | float * | zEuler |
| ) |  |  |

Convertion d'un quaternion en 3 angles d'Euler.

Auteur:
  U.Speed

Paramètres:

  | xEuler | float : angle selon X en degrés
  | yEuler | float : angle selon Y en degrés
  | zEuler | float : angle selon Z en degrés

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

- src/Math/Quaternion.hpp
- src/Math/Quaternion.cpp
- src/Math/Quaternion_fromAxis.cpp
- src/Math/Quaternion_fromEuler.cpp
- src/Math/Quaternion_getMatrix.cpp
- src/Math/Quaternion_getNorm.cpp
- src/Math/Quaternion_getValues.cpp
- src/Math/Quaternion_loadIdentity.cpp
- src/Math/Quaternion_normalize.cpp
- src/Math/Quaternion_operator.cpp
- src/Math/Quaternion_toAxis.cpp
- src/Math/Quaternion_toEuler.cpp