Moka kernel
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Pages
mesh-diver.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 MESH_DIVER_HH
26
#define MESH_DIVER_HH
27
//******************************************************************************
28
#include <vector>
29
#include "
vector.hh
"
30
#include "
vertex.hh
"
31
//******************************************************************************
39
class
CVertex
;
40
//******************************************************************************
46
// @{
47
//******************************************************************************
48
class
CMesh1Diver
49
{
50
protected
:
51
int
FSx
;
52
int
FIx
;
TCoordinate
FKx0
,
FKx1
;
53
54
public
:
55
// @name Constructeur et destructeur
56
// @{
57
63
CMesh1Diver
(
int
ASx);
64
66
virtual
~CMesh1Diver
();
67
69
70
// @name Accesseurs
71
// @{
72
74
int
getSx
()
const
;
75
80
virtual
void
setIx
(
int
AIx);
81
82
// @}
83
// @name Méthode de calcul des plongements
84
// @{
85
90
virtual
CVertex
computeCurrentVertex
()
const
= 0;
91
92
// @}
93
};
94
//------------------------------------------------------------------------------
95
class
CMesh2Diver
:
public
CMesh1Diver
96
{
97
protected
:
98
int
FSy
;
99
int
FIy
;
TCoordinate
FKy0
,
FKy1
;
100
101
public
:
102
// @name Constructeur et destructeur
103
// @{
104
111
CMesh2Diver
(
int
ASx,
int
ASy);
112
114
virtual
~CMesh2Diver
();
115
116
// @}
117
// @name Accesseurs
118
// @{
119
120
// @return Le nombre de subdivisions du maillage selon la 2ème dimension
121
int
getSy
()
const
;
122
127
virtual
void
setIy
(
int
AIy);
128
129
// @}
130
};
131
//------------------------------------------------------------------------------
132
class
CMesh3Diver
:
public
CMesh2Diver
133
{
134
protected
:
135
int
FSz
;
136
int
FIz
;
TCoordinate
FKz0
,
FKz1
;
137
138
public
:
139
// @name Constructeur et destructeur
140
// @{
141
149
CMesh3Diver
(
int
ASx,
int
ASy,
int
ASz);
150
152
virtual
~CMesh3Diver
();
153
154
// @}
155
// @name Accesseurs
156
// @{
157
159
int
getSz
()
const
;
160
165
virtual
void
setIz
(
int
AIz);
166
167
// @}
168
};
169
170
// @}
171
//******************************************************************************
177
// @{
178
//******************************************************************************
179
class
CMesh1BasicDiver
:
public
CMesh1Diver
180
{
181
private
:
182
CVertex
FOrigin;
183
CVertex
FVectorX;
184
185
public
:
186
// @name Constructeur et destructeur
187
// @{
188
198
CMesh1BasicDiver
(
int
ASx,
199
const
CVertex
& AOrigin,
200
const
CVertex
& AVectorX);
201
203
virtual
~CMesh1BasicDiver
();
204
205
// @}
206
// @name Méthode de calcul des plongements
207
// @{
208
210
virtual
CVertex
computeCurrentVertex
()
const
;
211
212
// @}
213
};
214
//------------------------------------------------------------------------------
215
class
CMesh2BasicDiver
:
public
CMesh2Diver
216
{
217
private
:
218
CVertex
FOrigin;
219
CVertex
FVectorX;
220
CVertex
FVectorY;
221
222
public
:
223
// @name Constructeur et destructeur
224
// @{
225
238
CMesh2BasicDiver
(
int
ASx,
int
ASy,
239
const
CVertex
& AOrigin,
240
const
CVertex
& AVectorX,
241
const
CVertex
& AVectorY);
242
244
virtual
~CMesh2BasicDiver
();
245
246
// @}
247
// @name Méthode de calcul des plongements
248
// @{
249
251
virtual
CVertex
computeCurrentVertex
()
const
;
252
253
// @}
254
};
255
//------------------------------------------------------------------------------
256
class
CMesh3BasicDiver
:
public
CMesh3Diver
257
{
258
private
:
259
CVertex
FOrigin;
260
CVertex
FVectorX;
261
CVertex
FVectorY;
262
CVertex
FVectorZ;
263
264
public
:
265
// @name Constructeur et destructeur
266
// @{
267
282
CMesh3BasicDiver
(
int
ASx,
int
ASy,
int
ASz,
283
const
CVertex
& AOrigin,
284
const
CVertex
& AVectorX,
285
const
CVertex
& AVectorY,
286
const
CVertex
& AVectorZ);
287
289
virtual
~CMesh3BasicDiver
();
290
291
// @}
292
// @name Méthode de calcul des plongements
293
// @{
294
296
virtual
CVertex
computeCurrentVertex
()
const
;
297
298
// @}
299
};
300
301
// @}
302
//******************************************************************************
308
// @{
309
//******************************************************************************
310
class
CMesh1VectorDiver
:
public
CMesh1Diver
311
{
312
protected
:
313
std::vector<CVertex>
FVertices
;
314
315
public
:
316
// @name Constructeur et destructeur
317
// @{
318
325
CMesh1VectorDiver
(
const
std::vector<CVertex>& AVector);
326
328
virtual
~CMesh1VectorDiver
();
329
330
// @}
331
// @name Méthode de calcul des plongements
332
// @{
333
335
virtual
CVertex
computeCurrentVertex
()
const
;
336
337
// @}
338
};
339
//******************************************************************************
341
//******************************************************************************
342
#include INCLUDE_INLINE("mesh-diver.icc")
343
//******************************************************************************
344
#endif // MESH_DIVER_HH
345
//******************************************************************************
lib-gmapkernel
g-map-vertex
mesh-diver.hh
Generated on Tue Apr 9 2013 09:51:35 for Moka kernel by
1.8.2