3 // Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
4 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
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.
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.
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
20 // See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
29 #ifndef MED_V2_2_Wrapper_HeaderFile
30 #define MED_V2_2_Wrapper_HeaderFile
32 #include "MED_Structures.hxx"
33 #include "MED_TWrapper.hxx"
39 GetDESCLength<eV2_2>();
43 GetIDENTLength<eV2_2>();
47 GetNOMLength<eV2_2>();
51 GetLNOMLength<eV2_2>();
55 GetPNOMLength<eV2_2>();
59 GetNbConn<eV2_2>(EGeometrieElement typmai,
60 EEntiteMaillage typent,
66 typedef MED::TTMeshInfo<eV2_2> TVMeshInfo;
68 typedef MED::TTFamilyInfo<eV2_2> TVFamilyInfo;
70 typedef MED::TTNodeInfo<eV2_2> TVNodeInfo;
72 typedef MED::TTCellInfo<eV2_2> TVCellInfo;
74 typedef MED::TTFieldInfo<eV2_2> TVFieldInfo;
76 typedef MED::TTTimeStampInfo<eV2_2> TVTimeStampInfo;
78 typedef MED::TTTimeStampVal<eV2_2> TVTimeStampVal;
80 //---------------------------------------------------------------
82 typedef boost::shared_ptr<TFile> PFile;
84 typedef enum {eLECTURE, eLECTURE_ECRITURE, eLECTURE_AJOUT, eCREATION} EModeAcces;
86 //---------------------------------------------------------------
87 class TVWrapper: public MED::TTWrapper<eV2_2>
90 TVWrapper(const TVWrapper&);
91 TVWrapper& operator=(const TVWrapper&);
94 TVWrapper(const std::string& theFileName);
96 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
99 GetNbMeshes(TErr* theErr = NULL);
103 GetMeshInfo(TInt theMeshId, MED::TMeshInfo&,
104 TErr* theErr = NULL);
108 SetMeshInfo(const MED::TMeshInfo& theInfo,
109 TErr* theErr = NULL);
111 void SetMeshInfo(const MED::TMeshInfo& theInfo,
113 TErr* theErr = NULL);
116 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
119 GetNbFamilies(const MED::TMeshInfo& theMeshInfo,
120 TErr* theErr = NULL);
124 GetNbFamAttr(TInt theFamId,
125 const MED::TMeshInfo& theInfo,
126 TErr* theErr = NULL);
130 GetNbFamGroup(TInt theFamId,
131 const MED::TMeshInfo& theInfo,
132 TErr* theErr = NULL);
136 GetFamilyInfo(TInt theFamId,
137 MED::TFamilyInfo& theInfo,
138 TErr* theErr = NULL);
142 SetFamilyInfo(const MED::TFamilyInfo& theInfo,
143 TErr* theErr = NULL);
146 SetFamilyInfo(const MED::TFamilyInfo& theInfo,
148 TErr* theErr = NULL);
151 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
154 GetNames(TElemInfo& theInfo,
156 EEntiteMaillage theEntity,
157 EGeometrieElement theGeom,
158 TErr* theErr = NULL);
162 GetNumeration(TElemInfo& theInfo,
164 EEntiteMaillage theEntity,
165 EGeometrieElement theGeom,
166 TErr* theErr = NULL);
170 GetFamilies(TElemInfo& theInfo,
172 EEntiteMaillage theEntity,
173 EGeometrieElement theGeom,
174 TErr* theErr = NULL);
178 SetNames(const TElemInfo& theInfo,
179 EEntiteMaillage theEntity,
180 EGeometrieElement theGeom,
181 TErr* theErr = NULL);
184 SetNames(const TElemInfo& theInfo,
186 EEntiteMaillage theEntity,
187 EGeometrieElement theGeom,
188 TErr* theErr = NULL);
192 SetNumeration(const TElemInfo& theInfo,
193 EEntiteMaillage theEntity,
194 EGeometrieElement theGeom,
195 TErr* theErr = NULL);
197 SetNumeration(const TElemInfo& theInfo,
199 EEntiteMaillage theEntity,
200 EGeometrieElement theGeom,
201 TErr* theErr = NULL);
205 SetFamilies(const TElemInfo& theInfo,
206 EEntiteMaillage theEntity,
207 EGeometrieElement theGeom,
208 TErr* theErr = NULL);
210 SetFamilies(const TElemInfo& theInfo,
212 EEntiteMaillage theEntity,
213 EGeometrieElement theGeom,
214 TErr* theErr = NULL);
216 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
219 GetNbNodes(const MED::TMeshInfo& theMeshInfo,
220 TErr* theErr = NULL);
224 GetNodeInfo(MED::TNodeInfo& theInfo,
225 TErr* theErr = NULL);
229 SetNodeInfo(const MED::TNodeInfo& theInfo,
230 TErr* theErr = NULL);
233 SetNodeInfo(const MED::TNodeInfo& theInfo,
235 TErr* theErr = NULL);
237 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
240 GetPolygoneInfo(TPolygoneInfo& theInfo,
241 TErr* theErr = NULL);
245 SetPolygoneInfo(const TPolygoneInfo& theInfo,
246 TErr* theErr = NULL);
249 SetPolygoneInfo(const MED::TPolygoneInfo& theInfo,
251 TErr* theErr = NULL);
255 GetNbPolygones(const TMeshInfo& theMeshInfo,
256 EEntiteMaillage theEntity,
257 EGeometrieElement theGeom,
258 EConnectivite theConnMode = eNOD,
259 TErr* theErr = NULL);
263 GetPolygoneConnSize(const TMeshInfo& theMeshInfo,
264 EEntiteMaillage theEntity,
265 EGeometrieElement theGeom,
266 EConnectivite theConnMode = eNOD,
267 TErr* theErr = NULL);
269 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
272 GetPolyedreInfo(TPolyedreInfo& theInfo,
273 TErr* theErr = NULL);
277 SetPolyedreInfo(const TPolyedreInfo& theInfo,
278 TErr* theErr = NULL);
281 SetPolyedreInfo(const MED::TPolyedreInfo& theInfo,
283 TErr* theErr = NULL);
287 GetNbPolyedres(const TMeshInfo& theMeshInfo,
291 TErr* theErr = NULL);
295 GetPolyedreConnSize(const TMeshInfo& theMeshInfo,
298 EConnectivite theConnMode = eNOD,
299 TErr* theErr = NULL);
301 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
304 GetEntityInfo(const MED::TMeshInfo& theMeshInfo,
305 EConnectivite theConnMode = eNOD,
306 TErr* theErr = NULL);
310 GetNbCells(const MED::TMeshInfo& theMeshInfo,
313 EConnectivite theConnMode = eNOD,
314 TErr* theErr = NULL);
318 GetCellInfo(MED::TCellInfo& theInfo,
319 TErr* theErr = NULL);
323 SetCellInfo(const MED::TCellInfo& theInfo,
324 TErr* theErr = NULL);
327 SetCellInfo(const MED::TCellInfo& theInfo,
329 TErr* theErr = NULL);
332 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
335 GetNbFields(TErr* theErr = NULL);
339 GetNbComp(TInt theFieldId,
340 TErr* theErr = NULL);
344 GetFieldInfo(TInt theFieldId,
345 MED::TFieldInfo& theInfo,
346 TErr* theErr = NULL);
350 SetFieldInfo(const MED::TFieldInfo& theInfo,
351 TErr* theErr = NULL);
354 SetFieldInfo(const MED::TFieldInfo& theInfo,
356 TErr* theErr = NULL);
358 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
361 GetNbGauss(TErr* theErr = NULL);
365 GetGaussPreInfo(TInt theId,
366 TErr* theErr = NULL);
370 GetGaussInfo(TInt theId,
372 TErr* theErr = NULL);
374 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
377 GetNbProfiles(TErr* theErr = NULL);
381 GetProfilePreInfo(TInt theId,
382 TErr* theErr = NULL);
386 GetProfileInfo(TInt theId,
387 TProfileInfo& theInfo,
388 TErr* theErr = NULL);
391 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
394 GetNbTimeStamps(const MED::TFieldInfo& theInfo,
395 const MED::TEntityInfo& theEntityInfo,
396 EEntiteMaillage& theEntity,
397 TGeom2Size& theGeom2Size,
398 TErr* theErr = NULL);
402 GetTimeStampInfo(TInt theTimeStampId,
403 MED::TTimeStampInfo& theInfo,
404 TErr* theErr = NULL);
408 GetTimeStampVal(MED::TTimeStampVal& theVal,
409 const TMKey2Profile& theMKey2Profile,
410 const TKey2Gauss& theKey2Gauss,
411 TErr* theErr = NULL);
415 SetTimeStamp(const MED::TTimeStampVal& theTimeStampVal,
416 TErr* theErr = NULL);
419 SetTimeStamp(const MED::TTimeStampVal& theTimeStampVal,
421 TErr* theErr = NULL);