39 #include "attribute-vertex.hh"
53 CAttribute *currentAttribute;
54 CVertex *currentPoint;
58 currentPoint = (CAttributeVertex*)currentAttribute;
62 CCoverage* DCv = G->getDynamicCoverage(dgm, ORBIT_123);
63 for (DCv->reinit(); DCv->cont(); (*DCv)++)
64 G->setMark(**DCv, markVertex);
78 CAttribute *currentAttribute;
82 CCoverage* DC01 = G->getDynamicCoverage(dgm, ORBIT_01);
83 for (DC01->reinit(); DC01->cont(); (*DC01)++)
88 if (!G->isMarked(d01, markEdge))
91 currentAttribute = G->getAttribute(d01,ORBIT_123,
93 p1 = (CAttributeVertex*)currentAttribute;
96 currentAttribute = G->getAttribute(G->alpha0(d01),ORBIT_123,
98 p2 = (CAttributeVertex*)currentAttribute;
104 CCoverage* DCe = G->getDynamicCoverage(d01, ORBIT_023);
105 for (DCe->reinit();DCe->cont(); (*DCe)++)
106 G->setMark(**DCe, markEdge);
123 CAttribute *currentAttribute;
124 CVertex *currentPoint, *p1, *p2;;
131 currentPoint = (CAttributeVertex*)currentAttribute;
134 currentAttribute = G->getAttribute(G->alpha0(dgm), ORBIT_123,
136 p1 = (CAttributeVertex*)currentAttribute;
139 currentAttribute = G->getAttribute(G->alpha0(G->alpha1(dgm)),
141 p2 = (CAttributeVertex*)currentAttribute;
148 CCoverage* DCf = G->getDynamicCoverage(dgm, ORBIT_013);
149 for (DCf->reinit(); DCf->cont(); (*DCf)++)
150 G->setMark(**DCf, markFace);
154 G->setMark(dgm, markFace);
168 int markVertex = G->getNewMark();
169 int markFace = G->getNewMark();
170 int markEdge = G->getNewMark();
174 CDynamicCoverageAll Cgm(G);
175 for (Cgm.reinit(); Cgm.cont(); Cgm++)
180 if (!G->isMarked(dgm, markVertex))
184 if (!G->isMarked(dgm, markEdge) && !G->isFree0(dgm))
188 if (!G->isMarked(dgm, markFace))
193 for (Cgm.reinit(); Cgm.cont(); Cgm++)
195 G->unsetMark(*Cgm, markVertex);
196 G->unsetMark(*Cgm, markFace);
197 G->unsetMark(*Cgm, markEdge);
199 G->freeMark(markVertex);
200 G->freeMark(markFace);
201 G->freeMark(markEdge);
219 int markVertex = G->getNewMark();
222 if (d == NULL && o == ORBIT_0123)
225 CDynamicCoverageAll Cgm(G);
235 for (
int i=0; i<6; i++)
239 CCoverage* DCv = G->getDynamicCoverage(dO, ORBIT_123);
240 for (DCv->reinit(); DCv->cont(); (*DCv)++)
241 G->setMark(**DCv, markVertex);
245 for (; Cgm.cont(); Cgm++)
250 if (!G->isMarked(dO, markVertex))
258 for (
int i=0; i<6; i++)
263 CCoverage* DCv = G->getDynamicCoverage(dO, ORBIT_123);
267 G->setMark(**DCv, markVertex);
271 for (Cgm.reinit(); Cgm.cont(); Cgm++)
272 G->unsetMark(*Cgm, markVertex);
283 for (
int i=0; i<6; i++)
287 CCoverage* DCe = G->getDynamicCoverage(d, o);
288 for (DCe->reinit(); DCe->cont(); (*DCe)++)
293 if (!G->isMarked(dO, markVertex))
301 for (
int i=0; i<6; i++)
308 G->setMark(dO, markVertex);
309 G->setMark(G->alpha1(dO), markVertex);
314 G->setMark(dO, markVertex);
315 G->setMark(G->alpha1(dO), markVertex);
316 G->setMark(G->alpha2(dO), markVertex);
320 G->setMark(dO, markVertex);
323 G->setMark(dO, markVertex);
324 G->setMark(G->alpha1(dO), markVertex);
325 G->setMark(G->alpha2(dO), markVertex);
326 G->setMark(G->alpha3(dO), markVertex);
332 for (DCe->reinit(); DCe->cont(); (*DCe)++)
333 G->unsetMark(**DCe, markVertex);
337 G->freeMark(markVertex);
357 int markVertex = G->getNewMark();
360 CCoverage* DCe = G->getDynamicCoverage(d, o);
361 for (DCe->reinit(); DCe->cont(); (*DCe)++)
366 if (!G->isMarked(dO, markVertex))
373 for (
int i=0; i<6; i++)
380 G->setMark(dO, markVertex);
381 G->setMark(G->alpha1(dO), markVertex);
386 G->setMark(dO, markVertex);
387 G->setMark(G->alpha1(dO), markVertex);
388 G->setMark(G->alpha2(dO), markVertex);
391 G->setMark(dO, markVertex);
396 for (DCe->reinit(); DCe->cont(); (*DCe)++)
397 G->unsetMark(**DCe, markVertex);
398 G->freeMark(markVertex);
417 if (G->getEmbeddingOwner(d, ORBIT_013))
426 CCoverage* DCv = G->getDynamicCoverage(d, ORBIT_01);
427 for (DCv->reinit(); DCv->cont(); (*DCv)++)
428 G->setMark(**DCv, markVertex);
444 G->setMark(d, markVertex);
445 G->setMark(G->alpha0(d), markVertex);
450 G->setMark(d, markVertex);
465 CAttribute* alpha, * au;
472 int markTemp = G->getNewMark();
475 if (G->getEmbeddingOwner(d, ORBIT_013))
486 for(
int j=0; j < 6; j++)
503 CCoverage* DCf = G->getDynamicCoverage(d, ORBIT_01);
505 DCf->cont() && !badIneq;
511 if (!G->isMarked(d01, markTemp))
515 p = (CAttributeVertex*)alpha;
529 G->setMark(d01, markTemp);
530 G->setMark(G->alpha1(d01), markTemp);
538 G->unsetMark(**DCf, markTemp);
541 G->addAttribute(d,ORBIT_0,au);
544 G->freeMark(markTemp);
547 G->setMark(d, markEdge);
553 G->setMark(G->alpha0(d), markEdge);
567 int markEdge = G->getNewMark();
568 int markVertex = G->getNewMark();
571 CDynamicCoverageAll Cgm(G);
572 for (Cgm.reinit(); Cgm.cont(); Cgm++)
577 if (!G->isMarked(dgm, markVertex))
581 if (!G->isMarked(dgm, markEdge))
586 for (Cgm.reinit(); Cgm.cont(); Cgm++)
588 G->unsetMark(*Cgm, markVertex);
589 G->unsetMark(*Cgm, markEdge);
591 G->freeMark(markVertex);
592 G->freeMark(markEdge);