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 |