Moka kernel
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
math-extension.hh File Reference
#include <cassert>
#include <cmath>

Go to the source code of this file.

Macros

#define MIN(a, b)   (((a) < (b)) ? (a) : (b))
 
#define MAX(a, b)   (((a) > (b)) ? (a) : (b))
 
#define M_PI   (3.141592653589793238462643383279)
 

Functions

int sqr (int AValue)
 
float sqr (float AValue)
 
double sqr (double AValue)
 
bool isPositive (const TCoordinate &AValue)
 
bool isNegative (const TCoordinate &AValue)
 
bool isZero (const TCoordinate &AValue)
 
int sign (const TCoordinate &AValue)
 
int combineSigns (int ASign1, int ASign2)
 
bool isLessThan (const TCoordinate &AValue1, const TCoordinate &AValue2)
 
bool areEqual (const TCoordinate &AValue1, const TCoordinate &AValue2)
 
TCoordinate deg (const TCoordinate &AAngle)
 
TCoordinate rad (const TCoordinate &AAngle)
 
TCoordinate dSin (const TCoordinate &AAngle)
 
TCoordinate dCos (const TCoordinate &AAngle)
 
TCoordinate dTan (const TCoordinate &AAngle)
 
TCoordinate dAsin (const TCoordinate &AValue)
 
TCoordinate dAcos (const TCoordinate &AValue)
 
TCoordinate dAtan (const TCoordinate &AValue)
 
TCoordinate limit (const TCoordinate &AAngle)
 
TCoordinate positifAngle (const TCoordinate &AAngle)
 
TCoordinate angle (const TCoordinate &Ax, const TCoordinate &Ay)
 
TCoordinate det (const CVertex &ALine1, const CVertex &ALine2, const CVertex &ALine3)
 
int pgcd (int Ax, int Ay)
 
enum  TFunctionType {
  FUNCTION_LIN, FUNCTION_QUAD, FUNCTION_EXP, FUNCTION_LOG,
  FUNCTION_SIN, FUNCTION_COS
}
 
typedef double TCoordinate
 
const TCoordinate EPSILON
 

Macro Definition Documentation

#define M_PI   (3.141592653589793238462643383279)

Definition at line 58 of file math-extension.hh.

#define MAX (   a,
 
)    (((a) > (b)) ? (a) : (b))

Definition at line 54 of file math-extension.hh.

#define MIN (   a,
 
)    (((a) < (b)) ? (a) : (b))

Bibliothèque de fonctions mathématiques.

Conventions:

alpha.b signifie produit scalaire entre alpha et b résultat: ax*bx + ay*by + az*bz alpha*b signifie produit vectoriel entre alpha et b résultat: { ay*bz-az*by, az*bx-ax*bz, ax*by-ay*bx }

Author
MOKA TEAM

Definition at line 50 of file math-extension.hh.

Typedef Documentation

typedef double TCoordinate

TCoordinate est le type de base utilisé dans tous les calculs mathématiques. Les coordonnées des sommets, les composantes d'un vecteur, les cellules d'une matrice, etc, sont de ce type.

Definition at line 71 of file math-extension.hh.

Enumeration Type Documentation

TFunctionType est un type utilisé principalement par la classe CGMapVertex pour effectuer des déformations pondérées. Ces déformations prennent en paramètre une classe de fonction correspondant à une valeur de type TFunctionType.

Pour plus d'informations, voir CGMapVertex::applyFunctionOnParameter.

Enumerator:
FUNCTION_LIN 
FUNCTION_QUAD 
FUNCTION_EXP 
FUNCTION_LOG 
FUNCTION_SIN 
FUNCTION_COS 

Definition at line 86 of file math-extension.hh.

Function Documentation

TCoordinate angle ( const TCoordinate Ax,
const TCoordinate Ay 
)
inline

Calcule l'angle formé entre le vecteur OX et le vecteur (Ax,Ay).

Parameters
AxUne valeur quelconque
AyUne valeur quelconque
Returns
angle(OX,(Ax,Ay))

Definition at line 358 of file math-extension.hh.

bool areEqual ( const TCoordinate AValue1,
const TCoordinate AValue2 
)
inline

Teste si AValue1 et AValue2 sont égaux, à EPSILON près.

Parameters
AValue1Une valeur quelconque
AValue2Une valeur quelconque
Returns
Un booléen

Definition at line 217 of file math-extension.hh.

int combineSigns ( int  ASign1,
int  ASign2 
)
inline

Combine les signes ASign1 et ASign2. La valeur retournée vaut ASign1*ASign2

Parameters
ASign1Un signe (-1, 0 ou 1)
ASign2Un signe (-1, 0 ou 1)
Returns
La combinaison des signes ASign1 et ASign2

Definition at line 186 of file math-extension.hh.

TCoordinate dAcos ( const TCoordinate AValue)
inline

Calcule l'arc-cosinus de AValue. Le résultat est exprimé en degrés.

Parameters
AValueUne valeur quelconque
Returns
deg(acos(AValue))

Definition at line 294 of file math-extension.hh.

TCoordinate dAsin ( const TCoordinate AValue)
inline

Calcule l'arc-sinus de AValue. Le résultat est exprimé en degrés.

Parameters
AValueUne valeur quelconque
Returns
deg(asin(AValue))

Definition at line 283 of file math-extension.hh.

TCoordinate dAtan ( const TCoordinate AValue)
inline

Calcule l'arc-tangente de AValue. Le résultat est exprimé en degrés.

Parameters
AValueUne valeur quelconque
Returns
deg(atan(AValue))

Definition at line 305 of file math-extension.hh.

TCoordinate dCos ( const TCoordinate AAngle)
inline

Calcule le cosinus de AAngle. AAngle est exprimé en degrés.

Parameters
AAngleUne valeur quelconque
Returns
cos(rad(AAngle))

Definition at line 261 of file math-extension.hh.

TCoordinate deg ( const TCoordinate AAngle)
inline

Convertit AAngle (exprimé en radians) en degrés.

Parameters
AAngleUne valeur quelconque
Returns
AAngle*180/PI

Definition at line 228 of file math-extension.hh.

TCoordinate det ( const CVertex ALine1,
const CVertex ALine2,
const CVertex ALine3 
)

Calcule le déterminant de la matrice 3*3 donnée par les sommets ALine1, ALine2 et ALine3.

Parameters
ALine-Des sommets correspondant aux lignes de la matrice
Returns
Le déterminant de la matrice 3*3

Definition at line 30 of file math-extension.cc.

TCoordinate dSin ( const TCoordinate AAngle)
inline

Calcule le sinus de AAngle. AAngle est exprimé en degrés.

Parameters
AAngleUne valeur quelconque
Returns
sin(rad(AAngle))

Definition at line 250 of file math-extension.hh.

TCoordinate dTan ( const TCoordinate AAngle)
inline

Calcule la tangente de AAngle. AAngle est exprimé en degrés.

Parameters
AAngleUne valeur quelconque
Returns
tan(rad(AAngle))

Definition at line 272 of file math-extension.hh.

bool isLessThan ( const TCoordinate AValue1,
const TCoordinate AValue2 
)
inline

Teste si AValue1 est strictement inférieur à AValue2, à EPSILON près. (renvoie vrai si AValue1 + EPSILON < AValue2)

Parameters
AValue1Une valeur quelconque
AValue2Une valeur quelconque
Returns
Un booléen

Definition at line 205 of file math-extension.hh.

bool isNegative ( const TCoordinate AValue)
inline

Teste si AValue est négatif ou nul (à epsilon près).

Parameters
AValueUne valeur quelconque
Returns
true ssi AValue > -EPSILON

Definition at line 146 of file math-extension.hh.

bool isPositive ( const TCoordinate AValue)
inline

Teste si AValue est positif ou nul (à epsilon près).

Parameters
AValueUne valeur quelconque
Returns
true ssi AValue > 0

Definition at line 134 of file math-extension.hh.

bool isZero ( const TCoordinate AValue)
inline

Teste si AValue est nul (à epsilon près).

Parameters
AValueUne valeur quelconque
Returns
true ssi abs(AValue)<EPSILON

Definition at line 158 of file math-extension.hh.

TCoordinate limit ( const TCoordinate AAngle)
inline

Calcule la valeur A du segment ]-180,180] telle que A = AAngle + 360*k.

Parameters
AValueUne valeur quelconque
Returns
La valeur A du segment ]-180,180] telle que A = AAngle + 360*k.

Definition at line 316 of file math-extension.hh.

int pgcd ( int  Ax,
int  Ay 
)
inline
Parameters
AxUne valeur entière positive ou nulle.
AyUne valeur entière positive ou nulle.
Returns
Le plus grand commun diviseur de Ax et Ay

Definition at line 392 of file math-extension.hh.

TCoordinate positifAngle ( const TCoordinate AAngle)
inline

Calcule la valeur A du segment [0,360[ telle que A = AAngle + 360*k.

Parameters
AValueUne valeur quelconque
Returns
la valeur A du segment [0,360[ telle que A = AAngle + 360*k.

Definition at line 336 of file math-extension.hh.

TCoordinate rad ( const TCoordinate AAngle)
inline

Convertit AAngle (exprimé en degrés) en radians.

Parameters
AAngleUne valeur quelconque
Returns
AAngle*PI/180

Definition at line 239 of file math-extension.hh.

int sign ( const TCoordinate AValue)
inline

Donne le signe de AValue.

Parameters
AValueUne valeur quelconque
Returns
-1 si AValue<=-EPSILON, +1 si AValue>=+EPSILON, 0 sinon

Definition at line 170 of file math-extension.hh.

int sqr ( int  AValue)
inline

Calcule le carré d'un entier ou d'un flottant.

Parameters
AValueUn nombre quelconque (entier ou flottant)
Returns
AValue au carré

Definition at line 113 of file math-extension.hh.

float sqr ( float  AValue)
inline

Definition at line 118 of file math-extension.hh.

double sqr ( double  AValue)
inline

Definition at line 123 of file math-extension.hh.

Variable Documentation

const TCoordinate EPSILON

EPSILON représente la tolérance utilisée pour la comparaison de deux valeurs.

Definition at line 28 of file math-extension.cc.