26 using namespace GMap3d;
31 FBurstMethod = AMethod;
35 {
return FBurstMethod; }
47 bool AUpdateIncidentVolumes)
57 default: assert(
false);
61 #define GET_VERTEX(DART,INDEX) (getDirectInfoAsAttributeVertex(DART, INDEX))
64 bool AUpdateIncidentVolumes)
66 if (AUpdateIncidentVolumes)
126 CVertex delta2 = bary2 - bary3;
142 CVertex delta1 = bary1 - bary2;
169 b1.
setX(bary3.getX() +
174 b1.
setY(bary3.getY() +
179 b1.
setZ(bary3.getZ() +
184 b2.
setX(bary3.getX() +
189 b2.
setY(bary3.getY() +
194 b2.
setZ(bary3.getZ() +
216 bool AUpdateIncidentVolumes)
219 if (AUpdateIncidentVolumes)
265 updateFaceMethodShift(mark2,marki,*vol, bary3, directIndex);
280 void CGMapVertex::updateFaceMethodShift(
int AMarkNumber,
int AMarkI,
294 for ( ; fac.cont(); ++fac)
305 while( v1==v && dartExt1!=
alpha1(*fac) &&
317 while( v2==v && dartExt2!=*fac &&
330 CVertex n1 = vecteur1 * normalf; n1 *= k2 / n1.
norm();
331 CVertex n2 = vecteur2 * normalf; n2 *= k2 / n2.
norm();
335 if ( (v==v1 && v==v2) || n1==-n2 )
338 if ( v==v1 || n1==n2 )
339 intersection = v + n2;
344 intersection = (v - (vecteur1.
normalized() * k2)) - n1;
346 intersection = (v - (vecteur1.
normalized() * k2)) + n1;
353 dartExt1 =
alpha0(dartExt1);
354 while ( dartExt1!=dartExt2 )
357 setMark ( dartExt1, AMarkNumber );
365 else dartExt1 = dartExt2;
374 for (fac.reinit(); fac.cont(); ++fac)
383 CVertex vedge = (b1 - b2).normalized();
389 CVertex vecteur1 = (v - v1).normalized();
395 b1 += (ABaryVol - b1) * k3;
396 b2 += (ABaryVol - b2) * k3;
416 for (fac.reinit(); fac.cont(); ++fac)
424 CVertex vedge = (b1 - b2).normalized();
431 CVertex vecteur1 = (v - v1).normalized();
442 b1 = b2 = b3 = b4 = b1 + (b2 - b1) / 2;
457 b5 = b6 = b7 = b8 = b1;