Moka kernel
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
gmv-direct-info.hh File Reference

Go to the source code of this file.

Functions

void allocCoordToDirectInfo (int AMarkNumber, int ADirectInfoIndex, TOrbit AOrbitUsed=ORBIT_NONE)
 
void allocCoordToDirectInfo (CDart *ADart, TOrbit AOrbit, int ADirectInfoIndex, TOrbit AOrbitUsed=ORBIT_NONE)
 
void duplicateVertexToDirectInfo (int AMarkNumber, int ADirectInfoNumber)
 
void deleteDuplicatedVertex (int ADirectInfoNumber)
 
void updateDirectInfoWithVertex (int ADirectInfoNumber)
 
void pointDirectInfoToAttributeVertex (int ADirectInfoIndex)
 
void pointDirectInfoToAttributeVertex (int ADirectInfoIndex, CDart *ADart)
 
void pointDirectInfoToAttributeVertex (int ADirectInfoIndex, CDart *ADart, TOrbit AOrbit)
 

Function Documentation

void allocCoordToDirectInfo ( int  AMarkNumber,
int  ADirectInfoIndex,
TOrbit  AOrbitUsed = ORBIT_NONE 
)

Alloue et si nécessaire initialise (dans le cas où la librairie GMP est utilisée) l'espace mémoire nécessaire pour stocker une valeur de type TCoordinate, ceci pour le champ directInfo[ADirectInfoIndex] des brins marqués avec la marque AMarkNumber.

Si AOrbitUsed est différent de ORBIT_NONE, l'allocation n'est faite que pour le brin porteur du plongement AOrbitUsed de chaque cellule d'orbite AOrbitUsed dont un brin au moins est marqué.

Parameters
AMarkNumberUn numéro de marque
ADirectInfoIndexL'indice du champ directInfo à utiliser
AOrbitUsedUne orbite quelconque
void allocCoordToDirectInfo ( CDart *  ADart,
TOrbit  AOrbit,
int  ADirectInfoIndex,
TOrbit  AOrbitUsed = ORBIT_NONE 
)

Alloue et si nécessaire initialise (dans le cas où la librairie GMP est utilisée) l'espace mémoire nécessaire pour stocker une valeur de type TCoordinate, ceci pour le champ directInfo[ADirectInfoIndex] des brins correspondant à l'orbite donnée par le couple (ADart, AOrbit).

Si AOrbitUsed est différent de ORBIT_NONE, l'allocation n'est faite que pour le brin porteur du plongement AOrbitUsed de chaque cellule d'orbite AOrbitUsed dont un brin au moins est sur l'orbite (ADart, AOrbit).

Parameters
ADartUn brin quelconque de la carte
AOrbitUne orbite
ADirectInfoIndexL'indice du champ directInfo à utiliser
AOrbitUsedUne orbite quelconque
void deleteDuplicatedVertex ( int  ADirectInfoNumber)

Libère l'espace mémoire alloué par la méthode 'duplicateVertexToDirectInfo'. Les champs directInfo libérés ne sont pas positionnés à NULL.

Attention: les brins sélectionnés devraient être les mêmes qu'au moment de l'appel à duplicateVertexToDirectInfo!

Parameters
ADirectInfoNumberUn indice indiquant quel directInfo utiliser
void duplicateVertexToDirectInfo ( int  AMarkNumber,
int  ADirectInfoNumber 
)

Duplique le plongement sommet des sommets sélectionnés. Le sommet dupliqué est rattaché à un brin de l'orbite sommet, qui est le même que celui qui porte l'attribut original.

Un sommet est sélectionné si au moins un de ses brins est marqué avec la marque AMarkNumber.

L'espace alloué par cette méthode peut être libéré à l'aide de la méthode 'deleteDuplicatedVertex'.

Parameters
AMarkNumberUn numéro de marque
ADirectInfoNumberUn indice indiquant quel directInfo utiliser
void pointDirectInfoToAttributeVertex ( int  ADirectInfoIndex)

Pour chaque brin b de la carte, fait pointer le champ directInfo numéro ADirectInfoNumber vers le plongement sommet du sommet auquel b appartient.

Parameters
ADirectInfoIndexUn indice indiquant quel directInfo utiliser
void pointDirectInfoToAttributeVertex ( int  ADirectInfoIndex,
CDart *  ADart 
)

Pour chaque brin b de l'orbite sommet correspondant à ADart, fait pointer le champ directInfo numéro ADirectInfoNumber vers le plongement sommet du sommet auquel b appartient.

Parameters
ADirectInfoIndexUn indice indiquant quel directInfo utiliser
ADartUn brin de la carte
void pointDirectInfoToAttributeVertex ( int  ADirectInfoIndex,
CDart *  ADart,
TOrbit  AOrbit 
)

Pour chaque brin b de l'orbite AOrbit correspondant à ADart, fait pointer le champ directInfo numéro ADirectInfoNumber de tous les brins du sommet vers le plongement de ce sommet.

Parameters
ADirectInfoIndexUn indice indiquant quel directInfo utiliser
ADartUn brin de la carte
AOrbitUne orbite
void updateDirectInfoWithVertex ( int  ADirectInfoNumber)

Copie les attributs sommets vers le champ directInfo spécifié, pour les brins dont ce champ est non NULL.

Attention: ces brins sélectionnés devraient être les mêmes qu'au moment de l'appel à duplicateVertexToDirectInfo!

Parameters
ADirectInfoNumberUn indice indiquant quel directInfo utiliser