00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028 public:
00029
00038 void markOrbit(CDart* ADart, TOrbit AOrbit, int AMarkNumber);
00039
00059 void halfMarkOrbit(CDart* ADart, TOrbit AOrbit, int AMarkNumber);
00060
00080 void halfUnmarkOrbit(CDart* ADart, TOrbit AOrbit, int AMarkNumber);
00081
00090 void unmarkOrbit(CDart* ADart, TOrbit AOrbit, int AMarkNumber);
00091
00097 void unmarkAll(int AMarkNumber);
00098
00111 int markIncidentCells(TOrbit AOrbit,
00112 int AMarkNumberSrce, int AMarkNumberDest);
00113
00122 int markIncidentCells(TOrbit AOrbit, int AMarkNumber);
00123
00139 void halfMarkIncidentCells(TOrbit AOrbit,
00140 int AMarkNumberSrce, int AMarkNumberDest);
00141
00154 void halfMarkIncidentCells(TOrbit AOrbit, int AMarkNumber);
00155
00168 void markInterior(CDart* ADart, int ADimension,
00169 int AMarkBorder, int AMarkInterior = -1);
00170
00184 void markIntersection(int AMarkNumber1, int AMarkNumber2,
00185 TOrbit AOrbit1, TOrbit AOrbit2,
00186 int AMarkResult,
00187 bool AInitialMarkIncidentCells = false);
00188
00201 void markCopy(int AMarkNumberFrom, int AMarkNumberTo,
00202 CDart* ADart, TOrbit AOrbit);
00203
00214 void markCopy(int AMarkNumberFrom, int AMarkNumberTo);
00215
00226 void markAdd(int AMarkNumberFrom, int AMarkNumberTo);
00227
00240 void markAdd(int AMarkNumberFrom, int AMarkNumberTo,
00241 CDart* ADart, TOrbit AOrbit);
00242
00253 void markAnd(int AMarkNumberFrom, int AMarkNumberTo);
00254
00267 void markAnd(int AMarkNumberFrom, int AMarkNumberTo,
00268 CDart* ADart, TOrbit AOrbit);
00269
00280 void markSub(int AMarkNumberFrom, int AMarkNumberTo);
00281
00294 void markSub(int AMarkNumberFrom, int AMarkNumberTo,
00295 CDart* ADart, TOrbit AOrbit);
00296
00308 void markMove(int AMarkNumberFrom, int AMarkNumberTo);
00309
00322 void markMove(int AMarkNumberFrom, int AMarkNumberTo,
00323 CDart* ADart, TOrbit AOrbit);
00324
00334 bool isWholeCellMarked(CDart* ADart, TOrbit AOrbit, int AMarkNumber);
00335
00357 int getMarkedCells(TOrbit AOrbit, int AMarkNumber,
00358 CDart* ALastMarked = NULL,
00359 CDart* * ADart1 = NULL,
00360 CDart* * ADart2 = NULL,
00361 CDart* * ADart3 = NULL);
00362
00363