Pipeline graphique
 Tout Structures de données Espaces de nommage Fichiers Fonctions Variables Définitions de type Énumérations Valeurs énumérées Macros
Structures de données | Espaces de nommage | Macros | Fonctions | Variables
Référence du fichier libMath.h
#include <math.h>
#include <memory.h>
#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <utility>
Graphe des dépendances par inclusion de libMath.h:
Ce graphe montre quels fichiers incluent directement ou indirectement ce fichier :

Aller au code source de ce fichier.

Structures de données

struct  Math::coord2d
 structure pour les vecteurs 3D (de taille 3). Plus de détails...
 
struct  Math::vecteur3d
 
struct  Math::vecteur4d
 structure pour les vecteurs 4D (de taille 4 = 3D + composante w). Plus de détails...
 
struct  Math::matrice22
 structure pour les matrices 2x2 : elles sont utilisées pour l'inversion par bloc de matrice 4x4. Plus de détails...
 
struct  Math::matrice44
 structure pour les matrices 4x4 Plus de détails...
 

Espaces de nommage

 Math
 

Macros

#define MulLC(A, a, B, b)   (A.m##a##1 * B.m1##b + A.m##a##2 * B.m2##b + A.m##a##3 * B.m3##b + A.m##a##4 * B.m4##b )
 
#define SWAP(a, b)   { float c=a; a=b; b=c; }
 

Fonctions

coord2d Math::operator- (const coord2d &v1, const coord2d &v2)
 
float Math::dot3 (coord2d v1, coord2d v2)
 
vecteur3d Math::operator+ (const vecteur3d &v1, const vecteur3d &v2)
 permet l'écriture U=V1+V2. Addition de vecteurs par composante. Plus de détails...
 
vecteur3d Math::operator+ (const vecteur3d &v, const float a)
 permet l'écriture U=V+v. Addition d'un scalaire v à un vecteur V. Plus de détails...
 
vecteur3d Math::operator+ (const float a, const vecteur3d &v)
 permet l'écriture U=v+V. Addition d'un scalaire v à un vecteur V. Plus de détails...
 
vecteur3d Math::operator- (const vecteur3d &v1, const vecteur3d &v2)
 permet l'écriture U=V1-V2. Différence de vecteurs par composante. Plus de détails...
 
vecteur3d Math::operator* (const vecteur3d &v1, const vecteur3d &v2)
 permet l'écriture U=V1*V2. Multiplication de vecteurs par composante. Plus de détails...
 
vecteur3d Math::operator* (const vecteur3d &v, const float a)
 permet l'écriture U=V*v. Multiplication d'un vecteur V par un scalaire Plus de détails...
 
vecteur3d Math::operator* (const float a, const vecteur3d &v)
 permet l'écriture U=v*V. Multiplication d'un vecteur V par un scalaire Plus de détails...
 
float Math::dot3 (vecteur3d &v1, vecteur3d &v2)
 calcul du produit scalaire Plus de détails...
 
vecteur4d Math::operator+ (const vecteur4d &v1, const vecteur4d &v2)
 permet l'écriture U=V1+V2. Addition de vecteurs par composante. Plus de détails...
 
vecteur4d Math::operator+ (const vecteur4d &v, const float a)
 permet l'écriture U=V+v. Addition d'un scalaire v à un vecteur V. Plus de détails...
 
vecteur4d Math::operator+ (const float a, const vecteur4d &v)
 permet l'écriture U=v+V. Addition d'un scalaire v à un vecteur V. Plus de détails...
 
vecteur4d Math::operator- (const vecteur4d &v1, const vecteur4d &v2)
 permet l'écriture U=V1-V2. Différence de vecteurs par composante. Plus de détails...
 
vecteur4d Math::operator* (const vecteur4d &v1, const vecteur4d &v2)
 permet l'écriture U=V1*V2. Multiplication de vecteurs par composante. Plus de détails...
 
vecteur4d Math::operator* (const vecteur4d &v, const float a)
 permet l'écriture U=V*v. Multiplication d'un vecteur V par un scalaire Plus de détails...
 
vecteur4d Math::operator* (const float a, const vecteur4d &v)
 permet l'écriture U=v*V. Multiplication d'un vecteur V par un scalaire Plus de détails...
 
vecteur3d Math::operator- (const vecteur3d &v1, const vecteur4d &v2)
 
vecteur3d Math::operator- (const vecteur4d &v1, const vecteur3d &v2)
 
float Math::_det3 (float *_v1, float *_v2, float *_v3)
 calcul du déterminant 3x3 à partir de 3 vecteurs flottants (utilisé pour le calcul du déterminant 4x4). Plus de détails...
 
int Math::sign (int x)
 renvoie le signe d'un entier (-1 si négatif, +1 si position, 0 si nul). Plus de détails...
 
float Math::clamp (float x)
 seuillage: 0 si x<0, 1 si x>1, x sinon. Plus de détails...
 

Variables

const float Math::pi = 3.14159265358979323846f
 
couleurs comme vecteur3d (pour les matériaux et les lampes)
const vecteur3d Math::Black =vecteur3d(0.f,0.f,0.f)
 
const vecteur3d Math::Cyan =vecteur3d(0.f,1.f,1.f)
 
const vecteur3d Math::Red =vecteur3d(1.f,0.f,0.f)
 
const vecteur3d Math::Magenta =vecteur3d(1.f,0.f,1.f)
 
const vecteur3d Math::Green =vecteur3d(0.f,1.f,0.f)
 
const vecteur3d Math::Yellow =vecteur3d(1.f,1.f,1.f)
 
const vecteur3d Math::Blue =vecteur3d(0.f,0.f,1.f)
 
const vecteur3d Math::White =vecteur3d(1.f,1.f,1.f)
 

Documentation des macros

#define MulLC (   A,
  a,
  B,
 
)    (A.m##a##1 * B.m1##b + A.m##a##2 * B.m2##b + A.m##a##3 * B.m3##b + A.m##a##4 * B.m4##b )

Définition à la ligne 206 du fichier libMath.h.

#define SWAP (   a,
 
)    { float c=a; a=b; b=c; }