Version: 8.3.0
Main Page
Related Pages
Packages
Data Structures
Files
File List
Globals
SALOME Mesh Module Developer
Use the SpherePadder SMESH Plugin
Todo List
Packages
Data Structures
Files
File List
idl
src
Controls
Driver
DriverCGNS
DriverDAT
DriverGMF
DriverMED
DriverSTL
DriverUNV
MEDWrapper
Base
MED_Algorithm.cxx
MED_Algorithm.hxx
MED_Common.hxx
MED_CoordUtils.cxx
MED_CoordUtils.hxx
MED_GaussDef.cxx
MED_GaussDef.hxx
MED_GaussUtils.cxx
MED_GaussUtils.hxx
MED_SharedPtr.hxx
MED_SliceArray.hxx
MED_Structures.cxx
MED_Structures.hxx
MED_TStructures.hxx
MED_TWrapper.hxx
MED_Utilities.cxx
MED_Utilities.hxx
MED_Vector.hxx
MED_Wrapper.cxx
MED_Wrapper.hxx
MED_WrapperBase.hxx
Factory
V2_2
MEFISTO2
OBJECT
PluginUtils
SMDS
SMESH
SMESH_I
SMESH_SWIG_WITHIHM
SMESHClient
SMESHDS
SMESHFiltersSelection
SMESHGUI
SMESHUtils
StdMeshers
StdMeshers_I
StdMeshersGUI
Tools
Globals
MED_GaussUtils.hxx
Go to the documentation of this file.
1
// Copyright (C) 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE
2
//
3
// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
4
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
5
//
6
// This library is free software; you can redistribute it and/or
7
// modify it under the terms of the GNU Lesser General Public
8
// License as published by the Free Software Foundation; either
9
// version 2.1 of the License, or (at your option) any later version.
10
//
11
// This library is distributed in the hope that it will be useful,
12
// but WITHOUT ANY WARRANTY; without even the implied warranty of
13
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14
// Lesser General Public License for more details.
15
//
16
// You should have received a copy of the GNU Lesser General Public
17
// License along with this library; if not, write to the Free Software
18
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19
//
20
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
21
//
22
#ifndef MED_GaussUtils_HeaderFile
23
#define MED_GaussUtils_HeaderFile
24
25
#include "
MED_WrapperBase.hxx
"
26
27
#include "
MED_Structures.hxx
"
28
29
namespace
MED
30
{
31
//---------------------------------------------------------------
32
typedef
TVector<TCCoordSlice>
TCCoordSliceArr
;
33
typedef
TVector<TCoordSlice>
TCoordSliceArr
;
34
36
class
MEDWRAPPER_EXPORT
TGaussCoord
:
37
virtual
TModeSwitchInfo
38
{
39
TInt
myNbElem
;
40
TInt
myNbGauss
;
41
TInt
myDim
;
42
43
TInt
myGaussStep
;
44
45
TNodeCoord
myGaussCoord
;
46
47
public
:
48
49
TGaussCoord
();
50
52
void
53
Init(
TInt
theNbElem,
54
TInt
theNbGauss,
55
TInt
theDim,
56
EModeSwitch
theMode =
eFULL_INTERLACE
);
57
58
TInt
59
GetNbElem()
const
;
60
61
TInt
62
GetNbGauss()
const
;
63
64
TInt
65
GetDim()
const
;
66
67
unsigned
char
*
68
GetValuePtr();
69
71
TCCoordSliceArr
72
GetCoordSliceArr(
TInt
theElemId)
const
;
73
75
TCoordSliceArr
76
GetCoordSliceArr(
TInt
theElemId);
77
};
78
typedef
SharedPtr<TGaussCoord>
PGaussCoord
;
79
80
81
//---------------------------------------------------------------
83
MEDWRAPPER_EXPORT
84
bool
85
GetGaussCoord3D
(
const
TGaussInfo
& theGaussInfo,
86
const
TCellInfo
& theCellInfo,
87
const
TNodeInfo
& theNodeInfo,
88
TGaussCoord
& theGaussCoord,
89
const
TElemNum
& theElemNum =
TElemNum
(),
90
EModeSwitch
theMode =
eFULL_INTERLACE
);
91
92
93
//---------------------------------------------------------------
95
MEDWRAPPER_EXPORT
96
bool
97
GetBaryCenter
(
const
TCellInfo
& theCellInfo,
98
const
TNodeInfo
& theNodeInfo,
99
TGaussCoord
& theGaussCoord,
100
const
TElemNum
& theElemNum =
TElemNum
(),
101
EModeSwitch
theMode =
eFULL_INTERLACE
);
102
104
MEDWRAPPER_EXPORT
105
bool
106
GetBaryCenter
(
const
TPolygoneInfo
& thePolygoneInfo,
107
const
TNodeInfo
& theNodeInfo,
108
TGaussCoord
& theGaussCoord,
109
const
TElemNum
& theElemNum =
TElemNum
(),
110
EModeSwitch
theMode =
eFULL_INTERLACE
);
111
113
MEDWRAPPER_EXPORT
114
bool
115
GetBaryCenter
(
const
TPolyedreInfo
& thePolyedreInfo,
116
const
TNodeInfo
& theNodeInfo,
117
TGaussCoord
& theGaussCoord,
118
const
TElemNum
& theElemNum =
TElemNum
(),
119
EModeSwitch
theMode =
eFULL_INTERLACE
);
120
121
//---------------------------------------------------------------
123
//---------------------------------------------------------------
124
struct
MEDWRAPPER_EXPORT
TShapeFun
125
{
126
class
TFun
;
127
128
TFloatVector
myRefCoord
;
129
TInt
myDim
;
130
TInt
myNbRef
;
131
132
TShapeFun
(
TInt
theDim = 0,
TInt
theNbRef = 0);
133
134
TInt
GetNbRef
()
const
{
return
myNbRef; }
135
136
TCCoordSlice
GetCoord
(
TInt
theRefId)
const
;
137
138
TCoordSlice
GetCoord
(
TInt
theRefId);
139
140
void
GetFun(
const
TCCoordSliceArr
& theRef,
141
const
TCCoordSliceArr
& theGauss,
142
TFun& theFun)
const
;
143
virtual
144
void
InitFun(
const
TCCoordSliceArr
& theRef,
145
const
TCCoordSliceArr
& theGauss,
146
TFun& theFun)
const
= 0;
147
virtual
148
bool
IsSatisfy(
const
TCCoordSliceArr
& theRefCoord)
const
;
149
150
bool
Eval(
const
TCellInfo
& theCellInfo,
151
const
TNodeInfo
& theNodeInfo,
152
const
TElemNum
& theElemNum,
153
const
TCCoordSliceArr
& theRef,
154
const
TCCoordSliceArr
& theGauss,
155
TGaussCoord
& theGaussCoord,
156
EModeSwitch
theMode);
157
};
158
//---------------------------------------------------------------
159
struct
TSeg2a
:
TShapeFun
{
160
TSeg2a
();
161
virtual
void
InitFun
(
const
TCCoordSliceArr
& theRef,
162
const
TCCoordSliceArr
& theGauss,
163
TFun
& theFun)
const
;
164
};
165
//---------------------------------------------------------------
166
struct
TSeg3a
:
TShapeFun
{
167
TSeg3a
();
168
virtual
void
InitFun
(
const
TCCoordSliceArr
& theRef,
169
const
TCCoordSliceArr
& theGauss,
170
TFun
& theFun)
const
;
171
};
172
//---------------------------------------------------------------
173
struct
TTria3a
:
TShapeFun
{
174
TTria3a
();
175
virtual
void
InitFun
(
const
TCCoordSliceArr
& theRef,
176
const
TCCoordSliceArr
& theGauss,
177
TFun
& theFun)
const
;
178
};
179
//---------------------------------------------------------------
180
struct
TTria6a
:
TShapeFun
{
181
TTria6a
();
182
virtual
void
InitFun
(
const
TCCoordSliceArr
& theRef,
183
const
TCCoordSliceArr
& theGauss,
184
TFun
& theFun)
const
;
185
};
186
//---------------------------------------------------------------
187
struct
TTria3b
:
TShapeFun
{
188
TTria3b
();
189
virtual
void
InitFun
(
const
TCCoordSliceArr
& theRef,
190
const
TCCoordSliceArr
& theGauss,
191
TFun
& theFun)
const
;
192
};
193
//---------------------------------------------------------------
194
struct
TTria6b
:
TShapeFun
{
195
TTria6b
();
196
virtual
void
InitFun
(
const
TCCoordSliceArr
& theRef,
197
const
TCCoordSliceArr
& theGauss,
198
TFun
& theFun)
const
;
199
};
200
//---------------------------------------------------------------
201
struct
TQuad4a
:
TShapeFun
{
202
TQuad4a
();
203
virtual
void
InitFun
(
const
TCCoordSliceArr
& theRef,
204
const
TCCoordSliceArr
& theGauss,
205
TFun
& theFun)
const
;
206
};
207
//---------------------------------------------------------------
208
struct
TQuad8a
:
TShapeFun
{
209
TQuad8a
();
210
virtual
void
InitFun
(
const
TCCoordSliceArr
& theRef,
211
const
TCCoordSliceArr
& theGauss,
212
TFun
& theFun)
const
;
213
};
214
//---------------------------------------------------------------
215
struct
TQuad9a
:
TShapeFun
{
216
TQuad9a
();
217
virtual
void
InitFun
(
const
TCCoordSliceArr
& theRef,
218
const
TCCoordSliceArr
& theGauss,
219
TFun
& theFun)
const
;
220
};
221
//---------------------------------------------------------------
222
struct
TQuad4b
:
TShapeFun
{
223
TQuad4b
();
224
virtual
void
InitFun
(
const
TCCoordSliceArr
& theRef,
225
const
TCCoordSliceArr
& theGauss,
226
TFun
& theFun)
const
;
227
};
228
//---------------------------------------------------------------
229
struct
TQuad8b
:
TShapeFun
{
230
TQuad8b
();
231
virtual
void
InitFun
(
const
TCCoordSliceArr
& theRef,
232
const
TCCoordSliceArr
& theGauss,
233
TFun
& theFun)
const
;
234
};
235
//---------------------------------------------------------------
236
struct
TQuad9b
:
TShapeFun
{
237
TQuad9b
();
238
virtual
void
InitFun
(
const
TCCoordSliceArr
& theRef,
239
const
TCCoordSliceArr
& theGauss,
240
TFun
& theFun)
const
;
241
};
242
//---------------------------------------------------------------
243
struct
TTetra4a
:
TShapeFun
{
244
TTetra4a
();
245
virtual
void
InitFun
(
const
TCCoordSliceArr
& theRef,
246
const
TCCoordSliceArr
& theGauss,
247
TFun
& theFun)
const
;
248
};
249
//---------------------------------------------------------------
250
struct
TTetra10a
:
TShapeFun
{
251
TTetra10a
();
252
virtual
void
InitFun
(
const
TCCoordSliceArr
& theRef,
253
const
TCCoordSliceArr
& theGauss,
254
TFun
& theFun)
const
;
255
};
256
//---------------------------------------------------------------
257
struct
TTetra4b
:
TShapeFun
{
258
TTetra4b
();
259
virtual
void
InitFun
(
const
TCCoordSliceArr
& theRef,
260
const
TCCoordSliceArr
& theGauss,
261
TFun
& theFun)
const
;
262
};
263
//---------------------------------------------------------------
264
struct
TTetra10b
:
TShapeFun
{
265
TTetra10b
();
266
virtual
void
InitFun
(
const
TCCoordSliceArr
& theRef,
267
const
TCCoordSliceArr
& theGauss,
268
TFun
& theFun)
const
;
269
};
270
//---------------------------------------------------------------
271
struct
THexa8a
:
TShapeFun
{
272
THexa8a
();
273
virtual
void
InitFun
(
const
TCCoordSliceArr
& theRef,
274
const
TCCoordSliceArr
& theGauss,
275
TFun
& theFun)
const
;
276
};
277
//---------------------------------------------------------------
278
struct
THexa20a
:
TShapeFun
{
279
THexa20a
(
TInt
theDim = 3,
TInt
theNbRef = 20);
280
virtual
void
InitFun
(
const
TCCoordSliceArr
& theRef,
281
const
TCCoordSliceArr
& theGauss,
282
TFun
& theFun)
const
;
283
};
284
//---------------------------------------------------------------
285
struct
THexa27a
:
THexa20a
{
286
THexa27a
();
287
virtual
void
InitFun
(
const
TCCoordSliceArr
& theRef,
288
const
TCCoordSliceArr
& theGauss,
289
TFun
& theFun)
const
;
290
};
291
//---------------------------------------------------------------
292
struct
THexa8b
:
TShapeFun
{
293
THexa8b
();
294
virtual
void
InitFun
(
const
TCCoordSliceArr
& theRef,
295
const
TCCoordSliceArr
& theGauss,
296
TFun
& theFun)
const
;
297
};
298
//---------------------------------------------------------------
299
struct
THexa20b
:
TShapeFun
{
300
THexa20b
(
TInt
theDim = 3,
TInt
theNbRef = 20);
301
virtual
void
InitFun
(
const
TCCoordSliceArr
& theRef,
302
const
TCCoordSliceArr
& theGauss,
303
TFun
& theFun)
const
;
304
};
305
//---------------------------------------------------------------
306
struct
TPenta6a
:
TShapeFun
{
307
TPenta6a
();
308
virtual
void
InitFun
(
const
TCCoordSliceArr
& theRef,
309
const
TCCoordSliceArr
& theGauss,
310
TFun
& theFun)
const
;
311
};
312
//---------------------------------------------------------------
313
struct
TPenta6b
:
TShapeFun
{
314
TPenta6b
();
315
virtual
void
InitFun
(
const
TCCoordSliceArr
& theRef,
316
const
TCCoordSliceArr
& theGauss,
317
TFun
& theFun)
const
;
318
};
319
//---------------------------------------------------------------
320
struct
TPenta15a
:
TShapeFun
{
321
TPenta15a
();
322
virtual
void
InitFun
(
const
TCCoordSliceArr
& theRef,
323
const
TCCoordSliceArr
& theGauss,
324
TFun
& theFun)
const
;
325
};
326
//---------------------------------------------------------------
327
struct
TPenta15b
:
TShapeFun
{
328
TPenta15b
();
329
virtual
void
InitFun
(
const
TCCoordSliceArr
& theRef,
330
const
TCCoordSliceArr
& theGauss,
331
TFun
& theFun)
const
;
332
};
333
//---------------------------------------------------------------
334
struct
TPyra5a
:
TShapeFun
{
335
TPyra5a
();
336
virtual
void
InitFun
(
const
TCCoordSliceArr
& theRef,
337
const
TCCoordSliceArr
& theGauss,
338
TFun
& theFun)
const
;
339
};
340
//---------------------------------------------------------------
341
struct
TPyra5b
:
TShapeFun
{
342
TPyra5b
();
343
virtual
void
InitFun
(
const
TCCoordSliceArr
& theRef,
344
const
TCCoordSliceArr
& theGauss,
345
TFun
& theFun)
const
;
346
};
347
//---------------------------------------------------------------
348
struct
TPyra13a
:
TShapeFun
{
349
TPyra13a
();
350
virtual
void
InitFun
(
const
TCCoordSliceArr
& theRef,
351
const
TCCoordSliceArr
& theGauss,
352
TFun
& theFun)
const
;
353
};
354
//---------------------------------------------------------------
355
struct
TPyra13b
:
TShapeFun
{
356
TPyra13b
();
357
virtual
void
InitFun
(
const
TCCoordSliceArr
& theRef,
358
const
TCCoordSliceArr
& theGauss,
359
TFun
& theFun)
const
;
360
};
361
//---------------------------------------------------------------
362
363
}
364
365
#endif
src
MEDWrapper
Base
MED_GaussUtils.hxx
Copyright © 2007-2017 CEA/DEN, EDF R&D, OPEN CASCADE
Copyright © 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS