25 #include "g-map-vertex.hh"
29 using namespace GMap3d;
51 setMessage(nb, nb==1 ?
" dart thicken" :
" darts thicken");
72 ->getExtrusionAdjacentSews(),
87 setMessage(nb, nb==1?
" vertex extruded":
" vertices extruded");
90 setMessage(nb, nb==1?
" edge extruded" :
" edges extruded");
93 setMessage(nb, nb==1?
" face extruded" :
" faces extruded" );
118 ->getExtrusionAdjacentSews(),
131 setMessage(nb, nb==1 ?
" cell extruded" :
" cells extruded" );
147 CDart * pathPonderation = NULL;
156 last2, &pathPonderation);
158 if (last2==NULL && n>1)
162 "ambiguity on the ponderation path");
165 if (ok && pathPonderation!=NULL &&
166 FMap->isClosedPolyline(pathPonderation))
170 "the ponderation path is closed");
176 if (pathStart==NULL &&
178 NULL, &pathStart) != 1)
179 setMessage(
"Extrusion impossible: no path selected");
187 getExtrusionAdjacentSews(),
189 getExtrusionInitialPositionMode(),
191 getExtrusionInitialDirectionMode(),
193 getExtrusionDirection(),
238 CDart * pathPonderation = NULL;
243 if (found!=2 && (found!=1 ||
FMap->isFree0(d2)))
245 setMessage(
"Selection of the axis not correct: we need two darts");
252 assert(!
FMap->isFree0(d2));
253 d1 =
FMap->alpha0(d2);
256 CVertex axeVertex, axeDirection;
260 axeVertex = *
FMap->findVertex(d1);
261 axeDirection = *
FMap->findVertex(d2) - axeVertex;
263 if (axeDirection.isNull())
265 setMessage(
"Extrusion impossible: axis of length zero");
275 last2, &pathPonderation);
277 if (last2==NULL && n>1)
281 "ambiguity on the ponderation path");
284 if (ok && pathPonderation!=NULL &&
285 FMap->isClosedPolyline(pathPonderation))
289 "the ponderation path is closed");
302 ADim, axeVertex, axeDirection,
305 getExtrusionRevolutionNbEdges(),
307 getExtrusionAdjacentSews(),
309 getExtrusionInitialPositionMode(),
311 getExtrusionInitialDirectionMode(),
313 getExtrusionDirection(),
331 ?
" edge extruded" :
" edges extruded");
335 ?
" face extruded" :
" faces extruded" );