00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028 public:
00029
00044 bool canExtrudeHalfCell(CDart* ADart, int ADim, int AMarkToExtrude = -1);
00045
00063 bool canExtrudeCell(CDart* ADart, int ADim);
00064
00073 int getExtrusionDimension(CDart* ADart);
00074
00107 CDart* topoExtrude(CDart* ADart, int ADim, bool AExtrusionWithAdjacentSews,
00108 int AMarkExtruded = -1, int ADirectInfoIndex = -1);
00109
00131 virtual CDart* extrudeByNormal(CDart* ADart, int ADim,
00132 bool AExtrusionWithAdjacentSews,
00133 TCoordinate AExtrusionCoef,
00134 int AMarkToExtrude = -1,
00135 int AMarkExtruded = -1);
00136
00150 int extrudeByNormalMarkedCells(int AMarkNumber, int ADim,
00151 bool AExtrusionWithAdjacentSews,
00152 TCoordinate AExtrusionCoef);
00153
00163 int intuitiveExtrudeByNormalMarkedCells(int AMarkNumber,
00164 bool AExtrusionWithAdjacentSews,
00165 TCoordinate AExtrusionCoef);
00166
00176 bool canExtrudeByPath(CDart* ADart, int ADim, CDart* APath);
00177
00205 virtual CDart* extrudeByPath(CDart* ADart, int ADim, CDart* APath,
00206 bool AExtrusionWithAdjacentSews,
00207 int AMarkExtruded = -1,
00208 int ADirectInfoIndex = -1);
00209
00223 virtual int extrudeByPathMarkedCells(int AMarkNumber, int ADim,
00224 CDart* APath,
00225 bool AExtrusionWithAdjacentSews);
00226
00237 bool canExtrudeByRevolution(CDart* ADart, int ADim, bool AClosed);
00238
00249 virtual CDart* createRevolutionPath(bool AClosed, int ANbEdges);
00250
00258 void destroyRevolutionPath(CDart* ADart);
00259
00282 virtual CDart* extrudeByRevolution(CDart* ADart, int ADim,
00283 bool AClosed, int ANbEdges,
00284 bool AExtrusionWithAdjacentSews,
00285 int AMarkExtruded = -1,
00286 int ADirectInfoIndex = -1);
00287
00303 virtual int extrudeByRevolutionMarkedCells(int AMarkNumber, int ADim,
00304 bool AClosed, int ANbEdges,
00305 bool AExtrusionWithAdjacentSews);
00306
00307 protected:
00308
00322 virtual void markCellsToBeExtrudedByNormal(int ADim,
00323 int AMarkNumberSrce,
00324 int AMarkNumberDest);
00325
00354 int extrudeByNormalMarkedCells(int AMarkNumber, int ADim, int AMarkTreated,
00355 bool AExtrusionWithAdjacentSews,
00356 TCoordinate AExtrusionCoef);
00357
00358