src/lib-gmapkernel/tools/geometry/math-extension.hh File Reference

#include <cassert>
#include <cmath>

Include dependency graph for math-extension.hh:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Defines

#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
static const int NB_FUNCTION_TYPES = 6


Define 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:
Ax Une valeur quelconque
Ay Une 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:
AValue1 Une valeur quelconque
AValue2 Une 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:
ASign1 Un signe (-1, 0 ou 1)
ASign2 Un 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:
AValue Une 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:
AValue Une 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:
AValue Une 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:
AAngle Une 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:
AAngle Une 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:
AAngle Une 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:
AAngle Une 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:
AValue1 Une valeur quelconque
AValue2 Une 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:
AValue Une 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:
AValue Une 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:
AValue Une 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:
AValue Une 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:
Ax Une valeur entière positive ou nulle.
Ay Une 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:
AValue Une 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:
AAngle Une 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:
AValue Une valeur quelconque
Returns:
-1 si AValue<=-EPSILON, +1 si AValue>=+EPSILON, 0 sinon

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

double sqr ( double  AValue  )  [inline]

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

float sqr ( float  AValue  )  [inline]

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

int sqr ( int  AValue  )  [inline]

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

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

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


Variable Documentation

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

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

const int NB_FUNCTION_TYPES = 6 [static]

Le nombre de classes de fonctions répertoriées par TFunctionType.

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


Generated on Tue Jul 7 15:20:25 2009 for Moka gmapkernel by  doxygen 1.5.8