Moka kernel
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
gmv-extrusion.hh
Go to the documentation of this file.
1 /*
2  * lib-gmapkernel : Un noyau de 3-G-cartes et des opérations.
3  * Copyright (C) 2004, Moka Team, Université de Poitiers, Laboratoire SIC
4  * http://www.sic.sp2mi.univ-poitiers.fr/
5  * Copyright (C) 2009, Guillaume Damiand, CNRS, LIRIS,
6  * guillaume.damiand@liris.cnrs.fr, http://liris.cnrs.fr/
7  *
8  * This file is part of lib-gmapkernel
9  *
10  * This program is free software: you can redistribute it and/or modify
11  * it under the terms of the GNU Lesser General Public License as published by
12  * the Free Software Foundation, either version 3 of the License, or
13  * (at your option) any later version.
14  *
15  * This program is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18  * GNU Lesser General Public License for more details.
19  *
20  * You should have received a copy of the GNU Lesser General Public License
21  * along with this program. If not, see <http://www.gnu.org/licenses/>.
22  */
23 
24 //******************************************************************************
25 // Ce fichier fait partie de "g-map-vertex.hh".
26 //******************************************************************************
27 
28 public:
29 
58 CDart* extrudeByNormal(CDart* ADart, int ADim,
59  bool AExtrusionWithAdjacentSews,
60  TCoordinate AExtrusionCoef,
61  int AMarkToExtrude = -1, int AMarkExtruded = -1);
62 
108 CDart* extrudeByPath(CDart* ADart, int ADim, CDart* APath,
109  bool AExtrusionWithAdjacentSews,
110  bool ARotateExtrudedCells,
111  bool AScaleExtrudedCells,
112  CDart* APonderationPath = NULL,
113  int AMarkExtruded = -1,
114  int ADirectInfoIndex = -1);
115 
152 int extrudeByPathMarkedCells(int AMarkNumber, int ADim, CDart* APath,
153  bool AExtrusionWithAdjacentSews,
154  int AInitialTranslateExtrudedCells,
155  int AInitialRotateExtrudedCells,
156  bool ARotateExtrudedCells,
157  bool AScaleExtrudedCells,
158  CDart* APonderationPath = NULL);
159 
175 CDart* createRevolutionPath(const CVertex & AAxeVertex,
176  const CVertex & AAxeDirection,
177  const CVertex & AFirstVertex,
178  TCoordinate AAngle, int ANbEdges);
179 
210 CDart* extrudeByRevolution(CDart* ADart, int ADim,
211  const CVertex & AAxeVertex,
212  const CVertex & AAxeDirection,
213  const CVertex & AFirstVertex,
214  TCoordinate AAngle, int ANbEdges,
215  bool AExtrusionWithAdjacentSews,
216  bool ARotateExtrudedCells,
217  bool AScaleExtrudedCells,
218  CDart* APonderationPath = NULL,
219  int AMarkExtruded = -1,
220  int ADirectInfoIndex = -1);
221 
254 int extrudeByRevolutionMarkedCells(int AMarkNumber, int ADim,
255  const CVertex & AAxeVertex,
256  const CVertex & AAxeDirection,
257  TCoordinate AAngle, int ANbEdges,
258  bool AExtrusionWithAdjacentSews,
259  int AInitialTranslateExtrudedCells,
260  int AInitialRotateExtrudedCells,
261  bool ARotateExtrudedCells,
262  bool AScaleExtrudedCells,
263  CDart* APonderationPath = NULL);
264 
265 protected:
266 
276 void markCellsToBeExtrudedByNormal(int ADim,
277  int AMarkNumberSrce,
278  int AMarkNumberDest);
279 
280 //******************************************************************************