Moka controlers
 All Classes Namespaces Files Functions Variables Typedefs Enumerator Friends Macros
controler-gmap.hh
Go to the documentation of this file.
1 /*
2  * lib-controler-gmap : Le contrôleur de 3-G-cartes, surcouche de lib-controler.
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-controler-gmap
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 CONTROLER_GMAP_HH
26 #define CONTROLER_GMAP_HH
27 //******************************************************************************
28 #include "kernel-types.hh"
29 #include "g-map-vertex.hh"
30 #include "vertex.hh"
31 #include "controler.hh"
32 #include "controler-types.hh"
33 #include "operations.hh"
34 
36 #include "parameter-gmap-vertex.hh"
37 #include "parameter-creation.hh"
43 #include "parameter-operations.hh"
45 #include "parameter-selection.hh"
46 
48 #include "parameter-axis.hh"
49 #include "parameter-dart.hh"
51 #include "parameter-grid.hh"
52 #include "parameter-preview.hh"
55 #include "parameter-sew.hh"
56 #include "parameter-vertex.hh"
57 
58 #ifdef MODULE_SPAMOD
59 #include "parameter-spamod.hh"
60 #include "spamod-api.hh"
61 #endif // MODULE_SPAMOD
62 
63 #ifdef MODULE_ROUNDING
64 #include "rounding-interface.hh"
65 #endif // MODULE_ROUNDING
66 
67 #ifdef _WINDOWS
68 #include <windows.h>
69 #endif
70 
71 #ifdef __APPLE__
72 #include <OpenGL/gl.h>
73 #else
74 #include <GL/gl.h>
75 #endif
76 
77 #include <cstdio>
78 #include <list>
79 #include <vector>
80 #include <iostream>
81 #include <fstream>
82 #include <sstream>
83 
84 //******************************************************************************
85 #define NB_SELECTION_LEVELS (3)
86 //******************************************************************************
87 
88 //******************************************************************************
89 class CTransformationMatrix;
90 
91 class CViewPrecompile;
92 
93 namespace GMap3d
94 {
95  class CDart;
96  class CGMapVertex;
97 
98 #ifdef MODULE_SPAMOD
99  class CParameterSpamod;
100 #endif // MODULE_SPAMOD
101 
102  class CControlerGMap : public CControler
103  {
104  public:
105  /* @name Constructeur et destructeur
106  */
107 
109 
110  CControlerGMap(CGMapVertex* AGMapVertex = NULL,
111  const std::string & ADirectory = "");
112  virtual ~CControlerGMap();
113 
114  CGMapVertex* getMap();
116 
118 
121 
123 
126 
128 
131 
133 
136 
138 
141 
143 
146 
147  /* @name Méthodes de paramétrage et d'accès aux vues
148  */
150 #include "controler-gmap-views.hh"
152 
153  /* @name Méthodes pour l'export Xfig
154  */
158 
160 
163 
164  /* @name Sélection de brins
165  */
169 
171 
174 
176 
177 
178  protected:
180  CGMapVertex* FMap;
181 
182  private:
184  CParameterGMapVertex * FParameterGMapVertex;
185 
186  CParameterSelection * FParameterSelection;
187  CParameterCreation * FParameterCreation;
188  CParameterPolylinePosition * FParameterPolylinePosition;
189  CParameterOperations * FParameterOperations;
190  CParameterObjectPosition * FParameterObjectPosition[NB_PREDEFINED_OBJECTS];
191  CParameterObjectTranslation* FParameterTranslation;
192  CParameterObjectRotation * FParameterRotation;
193  CParameterObjectScale * FParameterScale;
194  CParameterObjectPonderation* FParameterPonderation;
195 
197  };
198 
199 } // namespace GMap3d
200 //******************************************************************************
201 #endif // CONTROLER_HH
202 //******************************************************************************