Moka kernel
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
g-map-vertex.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 #ifndef G_MAP_VERTEX_HH
26 #define G_MAP_VERTEX_HH
27 //******************************************************************************
28 #include <cmath>
29 #include <cstdio>
30 #include <fstream>
31 #include <set> // pour les méthodes auxiliaires de co-raffinement.
32 
33 #include "g-map-generic.hh"
34 #include "dart-vertex.hh"
35 #include "geometry.hh"
36 #include "vertex.hh"
37 #include "vector.hh"
38 #include "transformation-matrix.hh"
39 #include "mesh-diver.hh"
40 
41 #include "alt-stdint.hh"
42 #include "inline-macro.hh"
43 //******************************************************************************
44 namespace GMap3d
45 {
46  enum
47  {
48  NONE = 0,
55  };
56 
57 
63  class CGMapVertex : public CGMapGeneric
64  {
65  public:
66  // @name Constructeur, destructeur et méthode d'initialisation
67  // @{
68 #include "gmv-instance.hh"
69  // @}
70 
71  // @name Accesseurs
72  // @{
73 #include "gmv-inline.hh"
74  // @}
75 
76  // @name Méthodes permettant de créer et plonger des maillages
77  // @{
78 #include "gmv-primitive-mesh.hh"
79  // @}
80 
81  // @name Méthodes permettant la manipulation de polylignes
82  // @{
83 #include "gmv-polyline.hh"
84  // @}
85 
86  // @name Méthodes de création des objets de base
87  // @{
88 #include "gmv-primitive.hh"
89  // @}
90 
91  // @name Méthodes basiques pour les opérations géométriques
92  // @{
93 #include "gmv-geometry.hh"
94  // @}
95 
96  // @name Méthodes de calcul d'une droite ou d'un plan de régression
97  // @{
98 #include "gmv-regression.hh"
99  // @}
100 
101  // @name Méthodes de placage
102  // @{
103 #include "gmv-plating.hh"
104  // @}
105 
106  // @name Coutures avec placages
107  // @{
108 #include "gmv-geo-sew.hh"
109  // @}
110 
111  // @name Méthode d'insertion
112  // @{
113 #include "gmv-insertion.hh"
114  // @}
115 
116  // @name Méthode de suppression des arêtes de longueur nulle
117  // @{
118 #include "gmv-null-length-edge.hh"
119  // @}
120 
121  // @name Matérialisations
122  // @{
123 #include "gmv-materialization.hh"
124  // @}
125 
126  // @name Chargement et sauvegarde
127  // @{
128 #include "gmv-save.hh"
129  // @}
130 
131  // @name Import et export au format off
132  // @{
133 #include "gmv-off.hh"
134  // @}
135 
136  // Calcul du dual d'une carte, en dimension 2 ou 3.
137  // @{
138 #include "gmv-dual.hh"
139  // @}
140 
141  // @name Méthodes de mise à jour des plongements éclatés
142  // @{
143 #include "gmv-burstview.hh"
144  // @}
145 
146  // @name Bouchage
147  // @{
148 #include "gmv-stop-up.hh"
149  // @}
150 
151  // @name Triangulations et quadrangulations barycentriques
152  // @{
153 #include "gmv-triangulation.hh"
154 #include "gmv-quadrangulation.hh"
155  // @}
156 
157  // @name Méthodes permettant l'allocation et la libération d'un paramètre de
158  // pondération pour les déformations
159  // @{
160 #include "gmv-direct-info.hh"
161  // @}
162 
163  // @name Méthodes permettant de déformer les objets
164  // @{
165 #include "gmv-deformation.hh"
166  // @}
167 
168  // @name Épaississement
169  // @{
170 #include "gmv-thickening.hh"
171  // @}
172 
173  // @name Extrusions
174  // @{
175 #include "gmv-extrusion.hh"
176  // @}
177 
178  // @name Fusion de cellules alignées
179  // @{
180 #include "gmv-merge.hh"
181  // @}
182 
183  // Différents exports dans des formats plus ou moins exotiques
184  // @{
185 #include "gmv-export-pov.hh"
186  // @}
187 
188  // Test d'isomorphismes de cartes
189  // @{
190 #include "gmv-isomorphisme.hh"
191  // @}
192 
193  private:
194  // @name Champs privés
195  // @{
196 
198  TCoordinate FBurstCoef[4];
199 
201  TBurstMethod FBurstMethod;
202 
203  // @}
204  };
205 
206 } // namespace GMap3d
207 //******************************************************************************
208 #include INCLUDE_INLINE("gmv-inline.icc")
209 //******************************************************************************
210 #endif // G_MAP_VERTEX_HH
211 //******************************************************************************