Moka kernel
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
gmv-primitive.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 
36 CDart* createPolyline(const std::vector<CVertex> & AVector);
37 
46 CDart* createPole(int An, const CVertex & AVertex);
47 
56 CDart* createOpenedPole(int An, const CVertex & AVertex);
57 
71 CDart* createRegularPolygon(int An);
72 
88 void createSphere(int AMeridians, int AParallels,
89  CDart** ASouthPole, CDart** ANorthPole);
90 
100 CDart* createSphere(int AMeridians, int AParallels);
101 
122 void createCylinder(int AMeridians, int AParallels,
123  CDart** ABorder1, CDart** ABorder2,
124  bool AClose1 = true, bool AClose2 = true);
125 
139 CDart* createCylinder(int AMeridians, int AParallels,
140  bool AClose1 = true, bool AClose2 = true);
141 
161 void createPyramid(int AMeridians, int AParallels,
162  CDart** ABaseDart, CDart** APoleDart,
163  bool ACloseBase = true);
164 
177 CDart* createPyramid(int AMeridians, int AParallels,
178  bool ACloseBase = true);
179 
196 void createTorus(int AMeridians, int AParallels,
197  TCoordinate ARadiusProportion,
198  CDart** AEquator);
199 
210 CDart* createTorus(int AMeridians, int AParallels,
211  TCoordinate ARadiusProportion);
212 
224 void createSquareIMeshed(int ASx, int ASy, int AMeshDimension,
225  CDart* ASquareCorners[2][2]);
226 
236 CDart* createSquareIMeshed(int ASx, int ASy, int AMeshDimension);
237 
249 void createCubeIMeshed(int ASx, int ASy, int ASz,
250  int AMeshDimension,
251  bool ACreatedFaces[3][2],
252  CDart* AFacesCorners[3][2][2][2]);
253 
275 void createCubeIMeshed(int ASx, int ASy, int ASz,
276  int AMeshDimension,
277  bool ACreatedFaces[3][2],
278  CDart** ADart1, CDart** ADart2);
279 
280 //******************************************************************************