27 using namespace GMap3d;
30 int AOrbitMark,
int ATreatedMark,
31 int ADirectInfoVertex)
35 assert(AOrbitMark >=0 && AOrbitMark <
NB_MARKS);
36 assert(ATreatedMark>=0 && ATreatedMark<
NB_MARKS);
47 for (; cov->
cont(); ++(*cov))
61 return n==0 ? ORIGIN : bary/n;
65 int ADirectInfoVertex)
89 for (; cov->
cont(); ++(*cov))
115 return n==0 ? ORIGIN : bary/n;
143 return n==0 ? ORIGIN : bary/n;
158 return n==0 ? ORIGIN : bary/n;
178 AMin = AMax = vertex;
196 AMin = AMax = ORIGIN;
208 return (min + max) / 2;
214 assert(ADart != NULL);
220 for (; cov->
cont(); ++(*cov))
230 AMin = AMax = vertex;
244 assert(first ==
false);
253 assert(ADart != NULL);
258 return (min + max) / 2;
261 #define PUSH(STACK,V) \
263 (STACK)[1]= (STACK)[0], \
267 #define DISTANCE(STACK) \
269 (*(STACK)[0] - *(STACK)[1]).norm() \
294 CVertex * stack[2] = { NULL, NULL };
309 if (it->
cont()) ++(*it);
349 #define PUSH(STACK,V) \
351 (STACK)[2]=(STACK)[1], \
352 (STACK)[1]=(STACK)[0], \
356 #define NORMAL(STACK) \
358 CGeometry::getNormalVector(*(STACK)[0] - *(STACK)[1] , \
359 *(STACK)[2] - *(STACK)[1] ) \
385 CDart * current=NULL;
392 ADart = closed ? ADart : current;
402 CVertex * stack[3] = { NULL, NULL, NULL };
459 return normal/(2*sqrt(static_cast<double>(nbEdges)));
492 assert(0<=ADim && ADim<=2);
512 assert(ADim>=0 && ADim<=2);
540 for (; cov->
cont(); ++(*cov))
564 return normal/(n==0 ? 1 : n);
571 assert(ADim>=0 && ADim<=2);
572 assert(AMarkNumber>=0);
583 for (; cov->
cont(); ++(*cov))
607 return normal/(n==0 ? 1 : n);
613 assert(3 <= ADim && ADim <= 4);
630 for (; cov->
cont(); ++(*cov))