26 using namespace GMap3d;
55 for (
int dim=0; dim<=3; ++dim)
63 for (; cov->
cont(); ++(*cov))
65 for (
int dim=0; dim<=3; ++dim)
66 if (usedDim[dim] && !
isFree(**cov, dim))
108 int AMarkNumberSrce,
int AMarkNumberDest)
110 assert(AMarkNumberSrce!=AMarkNumberDest);
117 for (; it.
cont(); ++it)
153 assert(AMarkNumberSrce!=AMarkNumberDest);
159 for (; it.
cont(); ++it)
184 int AMarkBorder,
int AMarkInterior)
186 assert(ADart != NULL);
187 assert(2 <= ADimension && ADimension <= 3);
189 if (AMarkInterior < 0)
190 AMarkInterior = AMarkBorder;
192 bool initialMarked =
isMarked(ADart, AMarkBorder);
199 for (; cov->
cont(); ++(*cov))
222 bool AInitialMarkIncidentCells)
224 assert(AMarkNumber1 != AMarkNumber2);
229 if (AInitialMarkIncidentCells)
252 assert(AMarkNumberFrom!=AMarkNumberTo);
261 assert(AMarkNumberFrom!=AMarkNumberTo);
266 for (; cov->
cont(); ++(*cov))
274 assert(AMarkNumberFrom!=AMarkNumberTo);
278 for (; it.
cont(); ++it)
286 assert(AMarkNumberFrom!=AMarkNumberTo);
291 for (; cov->
cont(); ++(*cov))
292 if (
isMarked(**cov, AMarkNumberFrom))
300 assert(AMarkNumberFrom!=AMarkNumberTo);
304 for (; it.
cont(); ++it)
305 if (!
isMarked(*it, AMarkNumberFrom))
312 assert(AMarkNumberFrom!=AMarkNumberTo);
317 for (; cov->
cont(); ++(*cov))
318 if (!
isMarked(**cov, AMarkNumberFrom))
326 assert(AMarkNumberFrom!=AMarkNumberTo);
330 for (; it.
cont(); ++it)
338 assert(AMarkNumberFrom!=AMarkNumberTo);
343 for (; cov->
cont(); ++(*cov))
344 if (
isMarked(**cov, AMarkNumberFrom))
352 assert(AMarkNumberFrom!=AMarkNumberTo);
356 for (; it.
cont(); ++it)
367 assert(AMarkNumberFrom!=AMarkNumberTo);
372 for (; cov->
cont(); ++(*cov))
373 if (
isMarked(**cov, AMarkNumberFrom))
375 setMark (**cov, AMarkNumberTo );
387 bool wholeCellMarked =
true;
390 for (; it->
cont() && wholeCellMarked; ++(*it))
392 wholeCellMarked =
false;
396 return wholeCellMarked;
405 int maxToFind = ADart1==NULL ? 0 : ADart2==NULL ? 1 : ADart3==NULL ? 2 : 3;
408 CDart * * dart[3] = {ADart1, ADart2, ADart3};
412 for (
int i=0; i<maxToFind; ++i)
415 if (ALastMarked!=NULL &&
isMarked(ALastMarked, AMarkNumber))
418 *dart[nbFound++]= ALastMarked;
428 if (nbFound<maxToFind)
429 *dart[nbFound] = *it;