src/lib-gmapkernel/g-map-vertex/gmv-geometry.hh File Reference

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

Go to the source code of this file.

Functions

CVertex basicBarycenter (CDart *ADart, TOrbit AOrbit, int AOrbitMark, int ATreatedMark, int ADirectInfoVertex=-1)
CVertex barycenter (CDart *ADart, TOrbit AOrbit, int ADirectInfoVertex=-1)
CVertex barycenter (int AMarkNumber)
CVertex directInfoBarycenter (int ADirectInfoVertex)
void boundingBox (int AMarkNumber, CVertex &AMin, CVertex &AMax)
CVertex centerOfBoundingBox (int AMarkNumber)
void boundingBox (CDart *ADart, TOrbit AOrbit, CVertex &AMin, CVertex &AMax)
CVertex centerOfBoundingBox (CDart *ADart, TOrbit AOrbit)
TCoordinate edgeLength (CDart *ADart)
TCoordinate facePerimeter (CDart *ADart)
TCoordinate border1Length (CDart *ADart)
TCoordinate border2Length (CDart *ADart)
CVertex edgeVector (CDart *ADart)
CVertex edgeNormalVector (CDart *ADart)
CVertex faceNormalVector (CDart *ADart)
CVertex cellNormalVector (int ADim, CDart *ADart)
CVertex border2NormalVector (CDart *ADart)
CVertex regionNormalVector (CDart *ADart, int ADim)
CVertex regionNormalVector (CDart *ADart, int ADim, int AMarkNumber)
CVertex cellDimensionNormalVector (CDart *ADart, int ADim)
TCoordinate orbitLength (CDart *ADart, TOrbit AOrbit)
CVertex orbitNormalVector (CDart *ADart, TOrbit AOrbit)


Function Documentation

CVertex barycenter ( int  AMarkNumber  ) 

Calcule le barycentre d'un ensemble de sommets marqués avec la marque AMarkNumber.

Parameters:
AMarkNumber Un numéro de marque

CVertex barycenter ( CDart *  ADart,
TOrbit  AOrbit,
int  ADirectInfoVertex = -1 
)

Calcule le barycentre d'un ensemble de sommets déterminé par un brin ADart et une orbite AOrbit.

Si ADirectInfoVertex est positif ou nul, le plongement des sommets n'est pas recherché à l'aide de la méthode 'findVertex' mais est accédé directement à l'aide du champ directInfo[ADirectInfoVertex].

Parameters:
ADart Un brin de la carte
AOrbit Une orbite quelconque
ADirectInfoVertex Un indice correspondant à un champ directInfo

CVertex basicBarycenter ( CDart *  ADart,
TOrbit  AOrbit,
int  AOrbitMark,
int  ATreatedMark,
int  ADirectInfoVertex = -1 
)

Calcule le barycentre d'un ensemble de sommets déterminé par un brin ADart et une orbite AOrbit. Les brins marqués ne sont pas démarqués à la fin du parcours.

La méthode utilise un itérateur qui marque les brins avec les marques ATreatedMark et AOrbitMark et qui n'effectue pas de démarquage à la fin.

Si ADirectInfoVertex est positif ou nul, le plongement des sommets n'est pas recherché à l'aide de la méthode 'findVertex' mais est accédé directement à l'aide du champ directInfo[ADirectInfoVertex].

Parameters:
ADart Un brin de la carte
AOrbit Une orbite quelconque
AOrbitMark Le numéro de marque utilisé par l'itérateur pour le marquage des brins atteints
ATreatedMark Le numéro de marque utilisé pour le marquage des brins déjà traités
ADirectInfoVertex Un indice correspondant à un champ directInfo
AOrbit==ORBIT012 || AOrbit==ORBIT123 || AOrbit==ORBIT0123

TCoordinate border1Length ( CDart *  ADart  ) 

Calcule la longueur d'un 1-bord, c'est-à-dire la longueur de l'arête qui permettrait de boucher ce 1-bord.

Parameters:
ADart Un brin de la carte
Returns:
La longueur du 1-bord incident à ADart

TCoordinate border2Length ( CDart *  ADart  ) 

Calcule la longueur d'une 2-bord, c'est-à-dire la somme de la longueur de toutes les arêtes qui le constituent.

Parameters:
ADart Un brin de la carte
Returns:
La longueur du 2-bord incident à ADart

CVertex border2NormalVector ( CDart *  ADart  ) 

Calcule le vecteur normal d'un 2-bord. Ce vecteur n'est jamais nul. Le 2-bord n'est pas forcément plan. Il peut être ouvert. Il peut comporter moins de 3 sommets (le résultat est alors OZ).

Parameters:
ADart Un brin de la carte
Returns:
Le vecteur normal du 2-bord incident à ADart

void boundingBox ( CDart *  ADart,
TOrbit  AOrbit,
CVertex AMin,
CVertex AMax 
)

Calcule la boîte englobante d'un ensemble de sommets situés sur l'orbite (ADart, AOrbit).

Parameters:
ADart Un brin de la carte
AOrbit Une orbite quelconque
AMin Le point minimum de la boîte englobante
AMax Le point maximum de la boîte englobante

void boundingBox ( int  AMarkNumber,
CVertex AMin,
CVertex AMax 
)

Calcule la boîte englobante d'un ensemble de sommets dont un brin au moins est marqué avec la marque AMarkNumber.

Parameters:
AMarkNumber Un numéro de marque
AMin Le point minimum de la boîte englobante
AMax Le point maximum de la boîte englobante

CVertex cellDimensionNormalVector ( CDart *  ADart,
int  ADim 
)

Calcule la moyenne des vecteurs normaux des faces de la cellule de dimension ADim incidente à ADart. Si la cellule n'est pas orientable, le vecteur retourné est nul.

Parameters:
ADart Un brin de la carte
ADim Une dimension (3 ou 4)
Returns:
Un vecteur (éventuellement nul)

CVertex cellNormalVector ( int  ADim,
CDart *  ADart 
)

Calcule le vecteur normal d'une cellule en s'appuyant sur les méthodes 'edgeNormalVector' et 'faceNormalVector'.

Parameters:
ADim La dimension de la cellule (0, 1 ou 2)
ADart Un brin incident à la cellule
Returns:
Le vecteur normal de la cellule

CVertex centerOfBoundingBox ( CDart *  ADart,
TOrbit  AOrbit 
)

Calcule la boîte englobante d'un ensemble de sommets situés sur l'orbite (ADart, AOrbit) puis retourne le centre de cette boîte englobante.

Parameters:
ADart Un brin de la carte
AOrbit Une orbite quelconque
Returns:
Le centre de la boîte englobante

CVertex centerOfBoundingBox ( int  AMarkNumber  ) 

Calcule la boîte englobante d'un ensemble de sommets dont un brin au moins est marqué avec la marque AMarkNumber puis retourne le centre de cette boîte englobante.

Parameters:
AMarkNumber Un numéro de marque
Returns:
Le centre de la boîte englobante

CVertex directInfoBarycenter ( int  ADirectInfoVertex  ) 

Calcule le barycentre d'un ensemble de sommets se trouvant dans le champ directInfo d'indice ADirectInfoVertex. Les champs directinfo doivent être initialisés avec la méthode duplicateVertexToDirectInfo.

Parameters:
ADirectInfoVertex Un indice correspondant à un champ directInfo

TCoordinate edgeLength ( CDart *  ADart  ) 

Calcule la longueur d'une arête.

Parameters:
ADart Un brin de la carte
Returns:
La longueur de l'arête incidente à ADart

CVertex edgeNormalVector ( CDart *  ADart  ) 

Calcule le vecteur normal d'une arête. Ce vecteur n'est jamais nul. Si l'arête est de longueur nulle, la méthode retourne OX, sinon elle appelle 'CGeometrygetNormalVector'.

Parameters:
ADart Un brin de la carte
Returns:
Le vecteur normal de l'arête incidente à ADart

CVertex edgeVector ( CDart *  ADart  ) 

Calcule * findVertex(alpha0(ADart)) - * findVertex(ADart).

Parameters:
ADart Un brin de la carte
Returns:
Le vecteur correpondant à l'arête incidente à ADart

CVertex faceNormalVector ( CDart *  ADart  ) 

Calcule le vecteur normal d'une face. Ce vecteur n'est jamais nul. La face n'est pas forcément plane. Elle peut être ouverte. Elle peut comporter moins de 3 sommets (le résultat est alors OZ).

Parameters:
ADart Un brin de la carte
Returns:
Le vecteur normal de la face incidente à ADart

TCoordinate facePerimeter ( CDart *  ADart  ) 

Calcule le périmètre d'une face.

Parameters:
ADart Un brin de la carte
Returns:
Le périmètre de la face incidente à ADart

TCoordinate orbitLength ( CDart *  ADart,
TOrbit  AOrbit 
) [protected]

Calcule la longueur de la circonférence d'une orbite, c'est-à-dire la somme de la longueur de toutes les arêtes qui la constituent. Ce calcul n'alpha de sens que si AOrbit==ORBIT01 ou si AOrbit==ORBIT_BORDER1 ou si AOrbit==ORBIT_BORDER2.

Parameters:
ADart Un brin de la carte
AOrbit Une orbite
Returns:
La longueur de la circonférence de l'orbite

CVertex orbitNormalVector ( CDart *  ADart,
TOrbit  AOrbit 
) [protected]

Calcule le vecteur normal d'une orbite. Ce calcul n'alpha de sens que si AOrbit==ORBIT01 ou si AOrbit==ORBIT_BORDER1 ou si AOrbit==ORBIT_BORDER2.

Parameters:
ADart Un brin de la carte
AOrbit Une orbite
Returns:
Le vecteur normal de l'orbite

CVertex regionNormalVector ( CDart *  ADart,
int  ADim,
int  AMarkNumber 
)

Calcule la moyenne des vecteurs normaux des faces incidentes à la cellule de dimension ADim à laquelle ADart appartient. Seules les faces dont un brin commun avec l'orbite (ADart, ORBIT_INF[ADart]) est marqué sont prises en compte. Le vecteur calculé peut être nul.

Parameters:
ADart Un brin de la carte
ADim Une dimension (0, 1 ou 2)
AMarkNumber Un numéro de marque
Returns:
La moyenne des vecteurs normaux des faces de la région donnée

CVertex regionNormalVector ( CDart *  ADart,
int  ADim 
)

Calcule la moyenne des vecteurs normaux des faces (restreintes au volume auquel appartient ADart) incidentes à la cellule de dimension ADim à laquelle ADart appartient. Les faces 3-cousues ne sont pas prises en compte dans le calcul. Le vecteur calculé peut être nul.

Parameters:
ADart Un brin de la carte
ADim Une dimension (0, 1 ou 2)
Returns:
La moyenne des vecteurs normaux des faces de la région donnée


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