Go to the source code of this file.
|
void | allocMemoryToDirectInfo (int AMarkNumber, int ADirectInfoIndex, int ABytes, TOrbit AOrbitUsed=ORBIT_NONE) |
|
void | allocMemoryToDirectInfo (CDart *ADart, TOrbit AOrbit, int ADirectInfoIndex, int ABytes, TOrbit AOrbitUsed=ORBIT_NONE) |
|
void | freeMemoryFromDirectInfo (int AMarkNumber, int ADirectInfoIndex, TOrbit AOrbitUsed=ORBIT_NONE) |
|
void | freeMemoryFromDirectInfo (CDart *ADart, TOrbit AOrbit, int ADirectInfoIndex, TOrbit AOrbitUsed=ORBIT_NONE) |
|
void | saveAlphaInDirectInfo (int AAlphaIndex, int ADirectInfoIndex) |
|
void | initUnionFindTrees (int AIndex, TOrbit AOrbit) |
|
void | initTwoUnionFindTrees (int AIndex1, TOrbit AOrbit1, int AIndex2, TOrbit AOrbit2) |
|
void | initUnionFindTreesFaceVolume (int AIndexFace, int AIndexVol) |
|
void | initUnionFindTreesVerticesEdges (int AIndexVertex, int AIndexEdge) |
|
CDart * | findUnionFindTrees (CDart *ADart, int AIndex) |
|
void | mergeUnionFindTrees (CDart *ADart1, CDart *ADart2, int AIndex) |
|
void allocMemoryToDirectInfo |
( |
int |
AMarkNumber, |
|
|
int |
ADirectInfoIndex, |
|
|
int |
ABytes, |
|
|
TOrbit |
AOrbitUsed = ORBIT_NONE |
|
) |
| |
Alloue ABytes octets au 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
-
AMarkNumber | Un numéro de marque |
ADirectInfoIndex | L'indice du champ directInfo à utiliser |
ABytes | Le nombre d'octets à allouer |
AOrbitUsed | Une orbite quelconque |
void allocMemoryToDirectInfo |
( |
CDart * |
ADart, |
|
|
TOrbit |
AOrbit, |
|
|
int |
ADirectInfoIndex, |
|
|
int |
ABytes, |
|
|
TOrbit |
AOrbitUsed = ORBIT_NONE |
|
) |
| |
Alloue ABytes octets au 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
-
ADart | Un brin quelconque de la carte |
AOrbit | Une orbite |
ADirectInfoIndex | L'indice du champ directInfo à utiliser |
ABytes | Le nombre d'octets à allouer |
AOrbitUsed | Une orbite quelconque |
CDart* findUnionFindTrees |
( |
CDart * |
ADart, |
|
|
int |
AIndex |
|
) |
| |
Return the root of the uf-tree containing ADart.
- Parameters
-
ADart | the dart to find the root. |
AIndex | the direct info index to use. |
void freeMemoryFromDirectInfo |
( |
int |
AMarkNumber, |
|
|
int |
ADirectInfoIndex, |
|
|
TOrbit |
AOrbitUsed = ORBIT_NONE |
|
) |
| |
Libère l'espace mémoire affecté au 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
-
AMarkNumber | Un numéro de marque |
ADirectInfoIndex | L'indice du champ directInfo à utiliser |
AOrbitUsed | Une orbite quelconque |
void freeMemoryFromDirectInfo |
( |
CDart * |
ADart, |
|
|
TOrbit |
AOrbit, |
|
|
int |
ADirectInfoIndex, |
|
|
TOrbit |
AOrbitUsed = ORBIT_NONE |
|
) |
| |
Libère l'espace mémoire affecté au champ directInfo[ADirectInfoIndex] des brins marqués avec la marque AMarkNumber.
Si AOrbitUsed est différent de ORBIT_NONE, la libération 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
-
ADart | Un brin quelconque de la carte |
AOrbit | Une orbite |
ADirectInfoIndex | L'indice du champ directInfo à utiliser |
AOrbitUsed | Une orbite quelconque |
void initTwoUnionFindTrees |
( |
int |
AIndex1, |
|
|
TOrbit |
AOrbit1, |
|
|
int |
AIndex2, |
|
|
TOrbit |
AOrbit2 |
|
) |
| |
Init union find trees for two direct info, and two orbits.
- Parameters
-
AIndex1 | the first direct info index to use. |
AOrbit1 | the first orbit for which initialize union find trees. |
AIndex2 | the second direct info index to use. |
AOrbit2 | the second orbit for which initialize union find trees. |
void initUnionFindTrees |
( |
int |
AIndex, |
|
|
TOrbit |
AOrbit |
|
) |
| |
Point each dart of a same AOrbit to the first dart of this orbit. This dart point to itself. Allows to use union-find trees on this orbit.
- Parameters
-
AIndex | the direct info index to use. |
AOrbit | the orbit for which initialize union find trees. |
void initUnionFindTreesFaceVolume |
( |
int |
AIndexFace, |
|
|
int |
AIndexVol |
|
) |
| |
Init union find trees for two direct info, for faces and volumes. This method is equivalent to calling initTwoUnionFindTrees with ORBIT_FACE and ORBIT_VOLUME, but it is optimized.
- Parameters
-
AIndexFace | the direct info index for faces. |
AIndexVol | the direct info index for volumes. |
void initUnionFindTreesVerticesEdges |
( |
int |
AIndexVertex, |
|
|
int |
AIndexEdge |
|
) |
| |
Init union find trees for two direct info, for vertices and edges. This method is equivalent to calling initTwoUnionFindTrees with ORBIT_VERTEX and ORBIT_EDGE, but it is optimized.
- Parameters
-
AIndexVertex | the direct info index for vertices. |
AIndexEdge | the direct info index for edges. |
void mergeUnionFindTrees |
( |
CDart * |
ADart1, |
|
|
CDart * |
ADart2, |
|
|
int |
AIndex |
|
) |
| |
Merge the two uf-trees containing ADart1 and ADart2.
- Parameters
-
ADart1 | the dart of a first uf-tree. |
ADart2 | the dart of a second uf-tree. |
AIndex | the direct info index to use. |
- Todo:
- we can improve this by counting the size of the tree and putting the small one under the big one.
void saveAlphaInDirectInfo |
( |
int |
AAlphaIndex, |
|
|
int |
ADirectInfoIndex |
|
) |
| |
Pour chaque brin b de la carte, copie la valeur de l'image par alpha AAlphaIndex de b dans son champ direcInfo d'indice ADirectInfoIndex.
Remarque: La méthode 'getDirectInfoAsDart' permet de récupérer aisément les valeurs sauvées.
- Parameters
-
AAlphaIndex | Une dimension (0, 1, 2 ou 3) |
ADirectInfoIndex | Un indice de champ directInfo |