![]() |
Moka kernel
|
Go to the source code of this file.
Functions | |
| unsigned int | markOrbit (CDart *ADart, TOrbit AOrbit, int AMarkNumber) |
| void | halfMarkOrbit (CDart *ADart, TOrbit AOrbit, int AMarkNumber) |
| void | halfUnmarkOrbit (CDart *ADart, TOrbit AOrbit, int AMarkNumber) |
| void | unmarkOrbit (CDart *ADart, TOrbit AOrbit, int AMarkNumber) |
| void | unmarkAll (int AMarkNumber) |
| int | markIncidentCells (TOrbit AOrbit, int AMarkNumberSrce, int AMarkNumberDest) |
| int | markIncidentCells (TOrbit AOrbit, int AMarkNumber) |
| void | halfMarkIncidentCells (TOrbit AOrbit, int AMarkNumberSrce, int AMarkNumberDest) |
| void | halfMarkIncidentCells (TOrbit AOrbit, int AMarkNumber) |
| void | markInterior (CDart *ADart, int ADimension, int AMarkBorder, int AMarkInterior=-1) |
| void | markIntersection (int AMarkNumber1, int AMarkNumber2, TOrbit AOrbit1, TOrbit AOrbit2, int AMarkResult, bool AInitialMarkIncidentCells=false) |
| void | markCopy (int AMarkNumberFrom, int AMarkNumberTo, CDart *ADart, TOrbit AOrbit) |
| void | markCopy (int AMarkNumberFrom, int AMarkNumberTo) |
| void | markAdd (int AMarkNumberFrom, int AMarkNumberTo) |
| void | markAdd (int AMarkNumberFrom, int AMarkNumberTo, CDart *ADart, TOrbit AOrbit) |
| void | markAnd (int AMarkNumberFrom, int AMarkNumberTo) |
| void | markAnd (int AMarkNumberFrom, int AMarkNumberTo, CDart *ADart, TOrbit AOrbit) |
| void | markSub (int AMarkNumberFrom, int AMarkNumberTo) |
| void | markSub (int AMarkNumberFrom, int AMarkNumberTo, CDart *ADart, TOrbit AOrbit) |
| void | markMove (int AMarkNumberFrom, int AMarkNumberTo) |
| void | markMove (int AMarkNumberFrom, int AMarkNumberTo, CDart *ADart, TOrbit AOrbit) |
| bool | isWholeCellMarked (CDart *ADart, TOrbit AOrbit, int AMarkNumber) |
| int | getMarkedCells (TOrbit AOrbit, int AMarkNumber, CDart *ALastMarked=NULL, CDart **ADart1=NULL, CDart **ADart2=NULL, CDart **ADart3=NULL) |
| int getMarkedCells | ( | TOrbit | AOrbit, |
| int | AMarkNumber, | ||
| CDart * | ALastMarked = NULL, |
||
| CDart ** | ADart1 = NULL, |
||
| CDart ** | ADart2 = NULL, |
||
| CDart ** | ADart3 = NULL |
||
| ) |
Cherche dans la carte les cellules correspondant à AOrbit dont au moins un brin est marqué pour le numéro de marque AMarkNumber donné. Pour chacune d'entre elles, un brin marqué est choisi et l'un des paramètres ADart- est positionné sur ce brin. Si plus de 3 cellules sont marquées, seules les trois premières trouvées sont mémorisées et la valeur retournée est supérieure à trois. Si moins de 3 cellules sont marquées, les paramètres non utilisés sont positionnés à NULL. Si ALastMarked ne vaut pas NULL, il désigne un brin prioritaire sur les autres. Si ce brin est marqué, il est placé en première position (ADart1 pointe sur lui).
| AOrbit | Une orbite quelconque |
| AMarkNumber | Un numéro de marque |
| ALastMarked | Un pointeur sur le dernier brin marqué |
| ADart1 | Une référence sur un pointeur sur un brin |
| ADart2 | Une référence sur un pointeur sur un brin |
| ADart3 | Une référence sur un pointeur sur un brin |
| void halfMarkIncidentCells | ( | TOrbit | AOrbit, |
| int | AMarkNumberSrce, | ||
| int | AMarkNumberDest | ||
| ) |
Marque avec la marque AMarkNumberDest un brin sur deux des cellules correspondant à l'orbite AOrbit dont un brin au moins est marqué avec la marque AMarkNumberSrce. Lorsqu'une cellule non orientable est marquée, elle est totalement sélectionnée. Voir la méthode 'halfMarkOrbit' pour plus d'informations.
| AOrbit | Une orbite qui n'est pas une orbite de bord |
| AMarkNumberSrce | Un numéro de marque |
| AMarkNumberDest | Un numéro de marque |
AOrbit>=ORBIT_SELF && AOrbit<=Orbit_CC AMarkNumberSrce!=AMarkNumberDest
| void halfMarkIncidentCells | ( | TOrbit | AOrbit, |
| int | AMarkNumber | ||
| ) |
Marque un brin sur deux des cellules correspondant à l'orbite AOrbit dont un brin au moins est marqué. Lorsqu'une cellule non orientable est marquée, elle est totalement sélectionnée. Voir la méthode 'halfMarkOrbit' pour plus d'informations.
| AOrbit | Une orbite qui n'est pas une orbite de bord |
| AMarkNumber | Un numéro de marque |
AOrbit>=ORBIT_SELF && AOrbit<=Orbit_CC
| void halfMarkOrbit | ( | CDart * | ADart, |
| TOrbit | AOrbit, | ||
| int | AMarkNumber | ||
| ) |
Marque un brin sur deux de l'orbite AOrbit incidente à ADart en utilisant la marque numéro AMarkNumber. Attention: Cette méthode ne fonctionne pas si l'orbite est une orbite de bord !
| ADart | Un brin quelconque |
| AOrbit | Une orbite |
| AMarkNumber | Un numéro de marque |
AOrbit n'est pas une orbite de bord isOrientable(ADart, AOrbit) isMarked(ADart, AMarkNumber) Soient b un brin de l'orbite (ADart,AOrbit) et i une dimension (0, 1, 2 ou 3) tels que alpha(b,i) soit lui aussi sur l'orbite (ADart, AOrbit). On a : isMarked( b , AMarkNumber) != isMarked(alpha(b,i), AMarkNumber)
| void halfUnmarkOrbit | ( | CDart * | ADart, |
| TOrbit | AOrbit, | ||
| int | AMarkNumber | ||
| ) |
Démarque un brin sur deux de l'orbite AOrbit incidente à ADart en utilisant la marque numéro AMarkNumber. Attention: Cette méthode ne fonctionne pas si l'orbite est une orbite de bord !
| ADart | Un brin quelconque |
| AOrbit | Une orbite |
| AMarkNumber | Un numéro de marque |
AOrbit n'est pas une orbite de bord isOrientable(ADart, AOrbit) !isMarked(ADart, AMarkNumber) Soient b un brin de l'orbite (ADart,AOrbit) et i une dimension (0, 1, 2 ou 3) tels que alpha(b,i) soit lui aussi sur l'orbite (ADart, AOrbit). On a : isMarked( b , AMarkNumber) != isMarked(alpha(b,i), AMarkNumber)
| bool isWholeCellMarked | ( | CDart * | ADart, |
| TOrbit | AOrbit, | ||
| int | AMarkNumber | ||
| ) |
Teste si tous les brins de la cellule déterminée par le brin ADart et l'orbite AOrbit sont marqués avec la marque AMarkNumber.
| ADart | Un brin quelconque de la carte |
| AOrbit | Une orbite quelconque |
| AMarkNumber | Un numéro de marque |
| void markAdd | ( | int | AMarkNumberFrom, |
| int | AMarkNumberTo | ||
| ) |
Pour chacun des brins de la carte, positionne la marque AMarkNumberTo à vrai si la marque AMarkNumberFrom est positionnée à vrai.
| AMarkNumberFrom | Un numéro de marque |
| AMarkNumberTo | Un numéro de marque |
AMarkNumberFrom!=AMarkNumberTo
| void markAdd | ( | int | AMarkNumberFrom, |
| int | AMarkNumberTo, | ||
| CDart * | ADart, | ||
| TOrbit | AOrbit | ||
| ) |
Pour chacun des brins de l'orbite déterminée par ADart et AOrbit, positionne la marque AMarkNumberTo à vrai si la marque AMarkNumberFrom est positionnée à vrai.
| AMarkNumberFrom | Un numéro de marque |
| AMarkNumberTo | Un numéro de marque |
| ADart | Un brin de la carte |
| AOrbit | Une orbite quelconque |
AMarkNumberFrom!=AMarkNumberTo
| void markAnd | ( | int | AMarkNumberFrom, |
| int | AMarkNumberTo | ||
| ) |
Pour chacun des brins de la carte, positionne la marque AMarkNumberTo à faux si la marque AMarkNumberFrom est positionnée à faux.
| AMarkNumberFrom | Un numéro de marque |
| AMarkNumberTo | Un numéro de marque |
AMarkNumberFrom!=AMarkNumberTo
| void markAnd | ( | int | AMarkNumberFrom, |
| int | AMarkNumberTo, | ||
| CDart * | ADart, | ||
| TOrbit | AOrbit | ||
| ) |
Pour chacun des brins de l'orbite déterminée par ADart et AOrbit, positionne la marque AMarkNumberTo à faux si la marque AMarkNumberFrom est positionnée à faux.
| AMarkNumberFrom | Un numéro de marque |
| AMarkNumberTo | Un numéro de marque |
| ADart | Un brin de la carte |
| AOrbit | Une orbite quelconque |
AMarkNumberFrom!=AMarkNumberTo
| void markCopy | ( | int | AMarkNumberFrom, |
| int | AMarkNumberTo, | ||
| CDart * | ADart, | ||
| TOrbit | AOrbit | ||
| ) |
Pour chacun des brins de l'orbite déterminée par ADart et AOrbit, positionne la marque AMarkNumberTo sur le même état que la marque AMarkNumberFrom.
| AMarkNumberFrom | Un numéro de marque |
| AMarkNumberTo | Un numéro de marque |
| ADart | Un brin de la carte |
| AOrbit | Une orbite quelconque |
AMarkNumberFrom!=AMarkNumberTo
| void markCopy | ( | int | AMarkNumberFrom, |
| int | AMarkNumberTo | ||
| ) |
Pour chacun des brins de la carte, positionne la marque AMarkNumberTo sur le même état que la marque AMarkNumberFrom.
| AMarkNumberFrom | Un numéro de marque |
| AMarkNumberTo | Un numéro de marque |
AMarkNumberFrom!=AMarkNumberTo
| int markIncidentCells | ( | TOrbit | AOrbit, |
| int | AMarkNumberSrce, | ||
| int | AMarkNumberDest | ||
| ) |
Marque avec la marque AMarkNumberDest toutes les cellules correspondant à l'orbite AOrbit dont un brin au moins est marqué avec la marque AMarkNumberSrce.
| AOrbit | Une orbite quelconque |
| AMarkNumberSrce | Un numéro de marque |
| AMarkNumberDest | Un numéro de marque |
AMarkNumberSrce!=AMarkNumberDest
| int markIncidentCells | ( | TOrbit | AOrbit, |
| int | AMarkNumber | ||
| ) |
Marque entièrement les cellules correspondant à l'orbite AOrbit dont un brin au moins est marqué.
| AOrbit | Une orbite quelconque |
| AMarkNumber | Un numéro de marque |
| void markInterior | ( | CDart * | ADart, |
| int | ADimension, | ||
| int | AMarkBorder, | ||
| int | AMarkInterior = -1 |
||
| ) |
Marque tous les brins de la carte qui sont à l'intérieur d'une région dont le bord est donné par les brins marqués avec la marque AMarkBorder. ADart est un brin situé à l'intérieur de la région. Les brins sont marqués avec la marque AMarkInterior. Les brins du bord ne sont pas marqués.
| ADart | Un brin de la carte |
| ADimension | Une dimension (2 ou 3) |
| AMarkBorder | Un numéro de marque |
| AMarkInterior | Un numéro de marque |
| void markIntersection | ( | int | AMarkNumber1, |
| int | AMarkNumber2, | ||
| TOrbit | AOrbit1, | ||
| TOrbit | AOrbit2, | ||
| int | AMarkResult, | ||
| bool | AInitialMarkIncidentCells = false |
||
| ) |
Cette méthode permet de sélectionner une partie du bord d'une cellule en calculant l'intersection entre cette cellule et une autre qui lui est adjacente.
| AMarkNumber1 | un numéro de marque |
| AMarkNumber2 | un numéro de marque différent de AMarkNumber1 |
| AOrbit1 | une orbite quelconque (orbite de sélection) |
| AOrbit2 | une orbite quelconque (orbite du résultat) |
| AMarkResult | la marque où est stocké le résultat |
| AInitialMarkIncidentCells | un booléen indiquant s'il faut initialiser les marquages |
| void markMove | ( | int | AMarkNumberFrom, |
| int | AMarkNumberTo | ||
| ) |
Pour chacun des brins de la carte, positionne la marque AMarkNumberTo à vrai si la marque AMarkNumberFrom est positionnée à vrai, puis positionne la marque AMarkNumberFrom à faux.
| AMarkNumberFrom | Un numéro de marque |
| AMarkNumberTo | Un numéro de marque |
AMarkNumberFrom!=AMarkNumberTo
| void markMove | ( | int | AMarkNumberFrom, |
| int | AMarkNumberTo, | ||
| CDart * | ADart, | ||
| TOrbit | AOrbit | ||
| ) |
Pour chacun des brins de l'orbite déterminée par ADart et AOrbit, positionne la marque AMarkNumberTo à vrai si la marque AMarkNumberFrom est positionnée à vrai, puis positionne la marque AMarkNumberFrom à faux.
| AMarkNumberFrom | Un numéro de marque |
| AMarkNumberTo | Un numéro de marque |
| ADart | Un brin de la carte |
| AOrbit | Une orbite quelconque |
AMarkNumberFrom!=AMarkNumberTo
| unsigned int markOrbit | ( | CDart * | ADart, |
| TOrbit | AOrbit, | ||
| int | AMarkNumber | ||
| ) |
Marque tous les brins de l'orbite AOrbit incidente à ADart en utilisant la marque numéro AMarkNumber.
| ADart | Un brin quelconque |
| AOrbit | Une orbite |
| AMarkNumber | Un numéro de marque |
| void markSub | ( | int | AMarkNumberFrom, |
| int | AMarkNumberTo | ||
| ) |
Pour chacun des brins de la carte, positionne la marque AMarkNumberTo à faux si la marque AMarkNumberFrom est positionnée à vrai.
| AMarkNumberFrom | Un numéro de marque |
| AMarkNumberTo | Un numéro de marque |
AMarkNumberFrom!=AMarkNumberTo
| void markSub | ( | int | AMarkNumberFrom, |
| int | AMarkNumberTo, | ||
| CDart * | ADart, | ||
| TOrbit | AOrbit | ||
| ) |
Pour chacun des brins de l'orbite déterminée par ADart et AOrbit, positionne la marque AMarkNumberTo à faux si la marque AMarkNumberFrom est positionnée à vrai.
| AMarkNumberFrom | Un numéro de marque |
| AMarkNumberTo | Un numéro de marque |
| ADart | Un brin de la carte |
| AOrbit | Une orbite quelconque |
AMarkNumberFrom!=AMarkNumberTo
| void unmarkAll | ( | int | AMarkNumber | ) |
Démarque tous les brins de la carte pour la marque numéro AMarkNumber.
| AMarkNumber | Un numéro de marque |
| void unmarkOrbit | ( | CDart * | ADart, |
| TOrbit | AOrbit, | ||
| int | AMarkNumber | ||
| ) |
Démarque tous les brins de l'orbite AOrbit incidente à ADart pour la marque numéro AMarkNumber.
| ADart | Un brin quelconque |
| AOrbit | Une orbite |
| AMarkNumber | Un numéro de marque |