26 #include "g-map-vertex.hh"
27 #include "geometry.hh"
31 using namespace GMap3d;
47 const TCoordinate& ACoef)
49 assert(ADimension==0 || ADimension==1);
51 int selection = FMap->getNewMark();
52 static const TOrbit propag[2] = { ORBIT_23, ORBIT_3 };
53 FMap->markIncidentCells(propag[ADimension], AMarkNumber, selection);
55 for (CDynamicCoverageAll it(FMap); it.cont(); ++it)
56 if (FMap->isMarked(*it, selection))
59 FMap->unsetMark(*it, selection);
62 FMap->freeMark(selection);
67 TCoordinate& AAverage)
76 for (CDynamicCoverageAll it(FMap); it.cont(); ++it)
77 if (FMap->isMarked(*it, AMarkNumber))
86 if (same && !areEqual(coef, value))
99 AAverage = nb==0 ? 0.0 : AAverage / nb;
110 CDart* firstSelected = NULL;
111 int treated = FMap->getNewMark();
112 CDynamicCoverageAll it(FMap);
114 for (; it.cont(); ++it)
116 if (firstSelected == NULL && FMap->isMarked(*it, AMarkNumber))
119 if (!FMap->isMarked(*it, treated))
122 coefs.push_back(*it);
124 for (CDynamicCoverageAll all(FMap); all.cont(); ++all)
126 FMap->setMark(*all, treated);
130 FMap->negateMaskMark(treated);
131 FMap->freeMark(treated);
133 if (coefs.size() == 0)
136 list<CDart*>::iterator itCoefs = coefs.begin();
138 if (firstSelected != NULL)
148 assert(itCoefs != coefs.end());
154 if (itCoefs == coefs.end())
155 itCoefs = coefs.begin();
160 for (it.reinit(); it.cont(); ++it)
161 FMap->setMarkTo(*it, AMarkNumber,
174 bool A3D,
bool ADig,
bool ASetback)