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_Wrapper_HeaderFile
30 #define MED_Wrapper_HeaderFile
32 #include "MED_Structures.hxx"
37 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
40 CrMeshInfo(TInt theDim = 0,
41 const std::string& theValue = "",
42 EMaillage theType = eNON_STRUCTURE,
43 const std::string& theDesc = "") = 0;
47 CrMeshInfo(const PMeshInfo& theInfo) = 0;
51 GetNbMeshes(TErr* theErr = NULL) = 0;
55 GetMeshInfo(TInt theMeshId, TMeshInfo&,
56 TErr* theErr = NULL) = 0;
60 SetMeshInfo(const TMeshInfo& theInfo,
61 TErr* theErr = NULL) = 0;
65 GetPMeshInfo(TInt theId,
69 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
72 GetNbFamilies(const TMeshInfo& theMeshInfo,
73 TErr* theErr = NULL) = 0;
77 GetNbFamAttr(TInt theFamId,
78 const TMeshInfo& theInfo,
79 TErr* theErr = NULL) = 0;
83 GetNbFamGroup(TInt theFamId,
84 const TMeshInfo& theInfo,
85 TErr* theErr = NULL) = 0;
89 GetFamilyInfo(TInt theFamId,
91 TErr* theErr = NULL) = 0;
95 SetFamilyInfo(const TFamilyInfo& theInfo,
96 TErr* theErr = NULL) = 0;
100 CrFamilyInfo(const PMeshInfo& theMeshInfo,
104 const std::string& theValue = "") = 0;
108 CrFamilyInfo(const PMeshInfo& theMeshInfo,
109 const std::string& theValue,
111 const TStringSet& theGroupNames,
112 const TStringVector& theAttrDescs = TStringVector(),
113 const TIntVector& theAttrIds = TIntVector(),
114 const TIntVector& theAttrVals = TIntVector()) = 0;
118 CrFamilyInfo(const PMeshInfo& theMeshInfo,
119 const PFamilyInfo& theInfo) = 0;
122 GetPFamilyInfo(const PMeshInfo& theMeshInfo,
124 TErr* theErr = NULL);
126 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
129 GetNames(TElemInfo& theInfo,
131 EEntiteMaillage theTEntity,
132 EGeometrieElement theTGeom,
138 GetNumeration(TElemInfo& theInfo,
140 EEntiteMaillage theTEntity,
141 EGeometrieElement theTGeom,
147 GetFamilies(TElemInfo& theInfo,
149 EEntiteMaillage theTEntity,
150 EGeometrieElement theTGeom,
156 SetNames(const TElemInfo& theInfo,
157 EEntiteMaillage theTEntity,
158 EGeometrieElement theTGeom,
164 SetNumeration(const TElemInfo& theInfo,
165 EEntiteMaillage theTEntity,
166 EGeometrieElement theTGeom,
172 SetFamilies(const TElemInfo& theInfo,
173 EEntiteMaillage theTEntity,
174 EGeometrieElement theTGeom,
178 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
181 GetNbNodes(const TMeshInfo& theMeshInfo,
182 TErr* theErr = NULL) = 0;
186 GetNodeInfo(TNodeInfo& theInfo,
187 TErr* theErr = NULL) = 0;
191 SetNodeInfo(const TNodeInfo& theInfo,
192 TErr* theErr = NULL) = 0;
196 CrNodeInfo(const PMeshInfo& theMeshInfo,
198 ERepere theSystem = eCART,
199 EBooleen theIsElemNum = eVRAI,
200 EBooleen theIsElemNames = eVRAI) = 0;
204 CrNodeInfo(const PMeshInfo& theMeshInfo,
206 const TFloatVector& theNodeCoords,
207 const TStringVector& theCoordNames,
208 const TStringVector& theCoordUnits,
209 const TIntVector& theFamilyNums,
210 const TIntVector& theElemNums,
211 const TStringVector& theElemNames = TStringVector()) = 0;
215 CrNodeInfo(const PMeshInfo& theMeshInfo,
216 const PNodeInfo& theInfo) = 0;
219 GetPNodeInfo(const PMeshInfo& theMeshInfo,
220 TErr* theErr = NULL);
222 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
225 GetPolygoneInfo(TPolygoneInfo& theInfo,
231 SetPolygoneInfo(const TPolygoneInfo& theInfo,
237 GetNbPolygones(const TMeshInfo& theMeshInfo,
246 GetNbPolygoneConn(const TMeshInfo& theMeshInfo,
255 CrPolygoneInfo(const PMeshInfo& theMeshInfo,
258 EEntiteMaillage theTEntity,
259 EGeometrieElement theTGeom,
260 EConnectivite theTConn = eNOD,
261 EBooleen theIsElemNum = eVRAI,
262 EBooleen theIsElemNames = eVRAI)
264 return PPolygoneInfo();
269 CrPolygoneInfo(const PMeshInfo& theMeshInfo,
270 EEntiteMaillage theTEntity,
271 EGeometrieElement theTGeom,
272 EConnectivite theTConn,
273 const TIntVector& theConnectivities,
274 const TIntVector& theIndexes,
275 const TIntVector& theFamilyNums,
276 const TIntVector& theElemNums,
277 const TStringVector& theElemNames = TStringVector())
279 return PPolygoneInfo();
284 CrPolygoneInfo(const PMeshInfo& theMeshInfo,
285 const PPolygoneInfo& theInfo)
287 return PPolygoneInfo();
291 GetPPolygoneInfo(const PMeshInfo& theMeshInfo,
292 EEntiteMaillage theEntity,
293 EGeometrieElement theGeom,
294 EConnectivite theConn = eNOD);
296 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
299 GetPolyedreInfo(TPolyedreInfo& theInfo,
305 SetPolyedreInfo(const TPolyedreInfo& theInfo,
311 GetNbPolyedres(const TMeshInfo& theMeshInfo,
320 GetNbPolyedreConnF(const TMeshInfo& theMeshInfo,
321 EConnectivite theConn,
329 CrPolyedreInfo(const PMeshInfo& theMeshInfo,
333 EEntiteMaillage theTEntity,
334 EGeometrieElement theTGeom,
335 EConnectivite theTConn = eNOD,
336 EBooleen theIsElemNum = eVRAI,
337 EBooleen theIsElemNames = eVRAI)
339 return PPolyedreInfo();
344 CrPolyedreInfo(const PMeshInfo& theMeshInfo,
345 EEntiteMaillage theTEntity,
346 EGeometrieElement theTGeom,
347 EConnectivite theTConn,
348 const TIntVector& theConnectivities,
349 const TIntVector& theFaces,
350 const TIntVector& theIndexes,
351 const TIntVector& theFamilyNums,
352 const TIntVector& theElemNums,
353 const TStringVector& theElemNames = TStringVector())
355 return PPolyedreInfo();
360 CrPolyedreInfo(const PMeshInfo& theMeshInfo,
361 const PPolyedreInfo& theInfo)
363 return PPolyedreInfo();
367 GetPPolyedreInfo(const PMeshInfo& theMeshInfo,
368 EEntiteMaillage theEntity,
369 EGeometrieElement theGeom,
370 EConnectivite theConn = eNOD);
372 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
375 GetEntityInfo(const TMeshInfo& theMeshInfo,
376 EConnectivite theTConn = eNOD,
377 TErr* theErr = NULL) = 0;
381 GetNbCells(const TMeshInfo& theMeshInfo,
384 EConnectivite theTConn = eNOD,
385 TErr* theErr = NULL) = 0;
389 GetCellInfo(TCellInfo& theInfo,
390 TErr* theErr = NULL) = 0;
394 SetCellInfo(const TCellInfo& theInfo,
395 TErr* theErr = NULL) = 0;
399 CrCellInfo(const PMeshInfo& theMeshInfo,
401 EEntiteMaillage theTEntity,
402 EGeometrieElement theTGeom,
403 EConnectivite theTConn = eNOD,
404 EBooleen theIsElemNum = eVRAI,
405 EBooleen theIsElemNames = eVRAI) = 0;
409 CrCellInfo(const PMeshInfo& theMeshInfo,
410 EEntiteMaillage theTEntity,
411 EGeometrieElement theTGeom,
412 EConnectivite theTConn,
413 const TIntVector& theConnectivities,
414 const TIntVector& theFamilyNums,
415 const TIntVector& theElemNums,
416 const TStringVector& theElemNames = TStringVector()) = 0;
420 CrCellInfo(const PMeshInfo& theMeshInfo,
421 const PCellInfo& theInfo) = 0;
424 GetPCellInfo(const PMeshInfo& theMeshInfo,
425 EEntiteMaillage theEntity,
426 EGeometrieElement theGeom,
427 EConnectivite theConn = eNOD,
428 TErr* theErr = NULL);
431 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
434 GetNbFields(TErr* theErr = NULL) = 0;
438 GetNbComp(TInt theFieldId,
439 TErr* theErr = NULL) = 0;
443 GetFieldInfo(TInt theFieldId,
445 TErr* theErr = NULL) = 0;
449 SetFieldInfo(const TFieldInfo& theInfo,
450 TErr* theErr = NULL) = 0;
455 CrFieldInfo(const PMeshInfo& theMeshInfo,
457 ETypeChamp theType = eFLOAT64,
458 const std::string& theValue = "",
459 EBooleen theIsLocal = eVRAI,
460 TInt theNbRef = 1) = 0;
464 CrFieldInfo(const PMeshInfo& theMeshInfo,
465 const PFieldInfo& theInfo) = 0;
468 GetPFieldInfo(const PMeshInfo& theMeshInfo,
470 TErr* theErr = NULL);
473 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
476 GetNbTimeStamps(const TFieldInfo& theInfo,
477 const TEntityInfo& theEntityInfo,
478 EEntiteMaillage& theEntity,
480 TErr* theErr = NULL) = 0;
484 GetTimeStampInfo(TInt theTimeStampId,
485 TTimeStampInfo& theInfo,
486 TErr* theErr = NULL) = 0;
490 CrTimeStampInfo(const PFieldInfo& theFieldInfo,
491 EEntiteMaillage theEntity,
492 const TGeom& theGeom,
497 const std::string& theUnitDt = "",
498 const std::string& theGaussName = "") = 0;
502 CrTimeStampInfo(const PFieldInfo& theFieldInfo,
503 const PTimeStampInfo& theInfo) = 0;
506 GetPTimeStampInfo(const PFieldInfo& theFieldInfo,
507 EEntiteMaillage theEntity,
508 const MED::TGeom& theGeom,
510 TErr* theErr = NULL);
513 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
516 GetTimeStampVal(TTimeStampVal& theVal,
517 TErr* theErr = NULL) = 0;
521 SetTimeStamp(const TTimeStampVal& theTimeStampVal,
522 TErr* theErr = NULL) = 0;
526 CrTimeStampVal(const PTimeStampInfo& theTimeStampInfo,
527 const std::string& thePflName = "",
528 EModeProfil thePflMode = eCOMPACT) = 0;
532 CrTimeStampVal(const PTimeStampInfo& theTimeStampInfo,
533 const PTimeStampVal& theInfo) = 0;
536 GetPTimeStampVal(const PTimeStampInfo& theTimeStampInfo,
537 TErr* theErr = NULL);