23#ifndef MED_Wrapper_HeaderFile
24#define MED_Wrapper_HeaderFile
30#include <boost/thread/mutex.hpp>
63 GetNbMeshes(
TErr* theErr = NULL);
68 GetMeshInfo(
TInt theMeshId,
86 CrMeshInfo(
TInt theDim = 0,
88 const std::string& theValue =
"",
90 const std::string& theDesc =
"");
100 GetPMeshInfo(
TInt theId,
101 TErr* theErr = NULL);
106 GetNbFamilies(
const TMeshInfo& theMeshInfo,
107 TErr* theErr = NULL);
112 GetNbFamAttr(
TInt theFamId,
114 TErr* theErr = NULL);
119 GetNbFamGroup(
TInt theFamId,
121 TErr* theErr = NULL);
126 GetFamilyInfo(
TInt theFamId,
128 TErr* theErr = NULL);
134 TErr* theErr = NULL);
139 TErr* theErr = NULL);
144 CrFamilyInfo(
const PMeshInfo& theMeshInfo,
148 const std::string& theValue =
"");
153 CrFamilyInfo(
const PMeshInfo& theMeshInfo,
154 const std::string& theValue,
164 CrFamilyInfo(
const PMeshInfo& theMeshInfo,
169 GetPFamilyInfo(
const PMeshInfo& theMeshInfo,
171 TErr* theErr = NULL);
180 TErr* theErr = NULL);
188 TErr* theErr = NULL);
195 TErr* theErr = NULL);
204 TErr* theErr = NULL);
212 TErr* theErr = NULL);
219 TErr* theErr = NULL);
228 TErr* theErr = NULL);
236 TErr* theErr = NULL);
243 TErr* theErr = NULL);
249 TErr* theErr = NULL);
255 TErr* theErr = NULL);
261 TErr* theErr = NULL);
267 TErr* theErr = NULL);
272 TErr* theErr = NULL);
305 GetPNodeInfo(
const PMeshInfo& theMeshInfo,
306 TErr* theErr = NULL);
327 GetPElemInfo(
const PMeshInfo& theMeshInfo,
331 TErr* theErr = NULL);
336 GetNbPolygones(
const TMeshInfo& theMeshInfo,
340 TErr* theErr = NULL);
345 GetPolygoneConnSize(
const TMeshInfo& theMeshInfo,
349 TErr* theErr = NULL);
355 TErr* theErr = NULL);
361 TErr* theErr = NULL);
366 TErr* theErr = NULL);
371 CrPolygoneInfo(
const PMeshInfo& theMeshInfo,
383 CrPolygoneInfo(
const PMeshInfo& theMeshInfo,
396 CrPolygoneInfo(
const PMeshInfo& theMeshInfo,
401 GetPPolygoneInfo(
const PMeshInfo& theMeshInfo,
409 GetNbPolyedres(
const TMeshInfo& theMeshInfo,
413 TErr* theErr = NULL);
418 GetPolyedreConnSize(
const TMeshInfo& theMeshInfo,
422 TErr* theErr = NULL);
428 TErr* theErr = NULL);
434 TErr* theErr = NULL);
439 TErr* theErr = NULL);
444 CrPolyedreInfo(
const PMeshInfo& theMeshInfo,
457 CrPolyedreInfo(
const PMeshInfo& theMeshInfo,
471 CrPolyedreInfo(
const PMeshInfo& theMeshInfo,
476 GetPPolyedreInfo(
const PMeshInfo& theMeshInfo,
485 GetEntityInfo(
const TMeshInfo& theMeshInfo,
487 TErr* theErr = NULL);
496 TErr* theErr = NULL);
502 TErr* theErr = NULL);
508 TErr* theErr = NULL);
513 TErr* theErr = NULL);
548 GetPCellInfo(
const PMeshInfo& theMeshInfo,
552 TErr* theErr = NULL);
556 GetBallGeom(
const TMeshInfo& theMeshInfo);
562 GetNbBalls(
const TMeshInfo& theMeshInfo);
569 TErr* theErr = NULL);
576 TErr* theErr = NULL);
612 GetPBallInfo(
const PMeshInfo& theMeshInfo);
617 GetNbFields(
TErr* theErr = NULL);
622 GetNbComp(
TInt theFieldId,
623 TErr* theErr = NULL);
628 GetFieldInfo(
TInt theFieldId,
630 TErr* theErr = NULL);
636 TErr* theErr = NULL);
641 TErr* theErr = NULL);
646 CrFieldInfo(
const PMeshInfo& theMeshInfo,
649 const std::string& theValue =
"",
656 CrFieldInfo(
const PMeshInfo& theMeshInfo,
661 GetPFieldInfo(
const PMeshInfo& theMeshInfo,
663 TErr* theErr = NULL);
668 GetNbGauss(
TErr* theErr = NULL);
673 GetGaussPreInfo(
TInt theId,
674 TErr* theErr = NULL);
679 GetGaussInfo(
TInt theId,
681 TErr* theErr = NULL);
701 TErr* theErr = NULL);
706 GetTimeStampInfo(
TInt theTimeStampId,
708 TErr* theErr = NULL);
713 CrTimeStampInfo(
const PFieldInfo& theFieldInfo,
720 const std::string& theUnitDt =
"",
726 CrTimeStampInfo(
const PFieldInfo& theFieldInfo,
731 GetPTimeStampInfo(
const PFieldInfo& theFieldInfo,
735 TErr* theErr = NULL);
740 GetNbProfiles(
TErr* theErr = NULL);
745 GetProfilePreInfo(
TInt theId,
746 TErr* theErr = NULL);
753 TErr* theErr = NULL);
759 TErr* theErr = NULL);
764 TErr* theErr = NULL);
774 GetPProfileInfo(
TInt theId,
776 TErr* theErr = NULL);
784 TErr* theErr = NULL);
790 TErr* theErr = NULL);
795 TErr* theErr = NULL);
830 TErr* theErr = NULL);
842 TErr* theErr = NULL);
848 TErr* theErr = NULL);
868 TErr* theErr = NULL);
872 GetPGrilleInfo(
const PMeshInfo& theMeshInfo);
876 GetPGrilleInfo(
const PMeshInfo& theMeshInfo,
883 TErr* theErr = NULL);
889 TErr* theErr = NULL);
894 TErr* theErr = NULL);
899 CrGrilleInfo(
const PMeshInfo& theMeshInfo,
905 CrGrilleInfo(
const PMeshInfo& theMeshInfo);
910 CrGrilleInfo(
const PMeshInfo& theMeshInfo,
916 CrGrilleInfo(
const PMeshInfo& theMeshInfo,
918 const TInt& nbNodes);
923 CrGrilleInfo(
const PMeshInfo& theMeshInfo,
930 GetGrilleType(
const TMeshInfo& theMeshInfo,
932 TErr* theErr = NULL);
938 TErr* theErr = NULL);
1024 return std::shared_ptr<TWrapper>::get();
#define MEDWRAPPER_EXPORT
Definition: MED_WrapperDef.hxx:33
Specialization of SharedPtr for TWrapper.
Definition: MED_Wrapper.hxx:967
TWrapper & operator*() const
TLockProxy operator->() const
Definition: MED_Wrapper.hxx:1008
SharedPtr & operator()(const SharedPtr< Y > &r)
Definition: MED_Wrapper.hxx:1002
SharedPtr(Y *p)
Definition: MED_Wrapper.hxx:976
TWrapper * get() const
Definition: MED_Wrapper.hxx:1022
SharedPtr & operator=(const SharedPtr< Y > &r)
Definition: MED_Wrapper.hxx:987
SharedPtr & operator()(Y *p)
Definition: MED_Wrapper.hxx:995
SharedPtr(TWrapper *p)
Definition: MED_Wrapper.hxx:971
SharedPtr()
Definition: MED_Wrapper.hxx:969
SharedPtr(const SharedPtr< Y > &r)
Definition: MED_Wrapper.hxx:981
Definition: MED_TFile.hxx:28
This class provides thread-safety for MEDWrapper interaction.
Definition: MED_Wrapper.hxx:952
TLockProxy & operator=(const TLockProxy &)
TWrapper * myWrapper
Definition: MED_Wrapper.hxx:954
Main purpose to introduce the class was to customize operator [].
Definition: MED_Vector.hxx:36
Class that wraps the MED API.
Definition: MED_Wrapper.hxx:43
TInt myMinor
Definition: MED_Wrapper.hxx:943
PFileInternal myFile
Definition: MED_Wrapper.hxx:941
TWrapper & operator=(const TWrapper &)
TWrapper(const TWrapper &)
TMutex myMutex
Synchronization primitive that allows supporting thread safety for the MED access.
Definition: MED_Wrapper.hxx:48
boost::mutex TMutex
Definition: MED_Wrapper.hxx:46
TInt myMajor
Definition: MED_Wrapper.hxx:942
Definition: MED_Algorithm.cxx:28
EEntiteMaillage
Definition: MED_Common.hxx:72
@ eNOEUD
Definition: MED_Common.hxx:72
TVector< std::string > TStringVector
Definition: MED_Common.hxx:83
std::map< EGeometrieElement, TInt > TGeom2NbGauss
Definition: MED_Structures.hxx:495
ERepere
Definition: MED_Common.hxx:60
@ eCART
Definition: MED_Common.hxx:60
PProfileInfo GetProfileInfo(const PWrapper &theWrapper, const std::string &theProfileName, TErr *theErr, EModeProfil theMode)
Get MED PROFILE by its name.
Definition: MED_Algorithm.cxx:261
double TFloat
Definition: MED_Common.hxx:44
EModeProfil
Definition: MED_Common.hxx:74
@ eCOMPACT
Definition: MED_Common.hxx:74
EGeometrieElement
Definition: MED_Common.hxx:64
@ ePOINT1
Definition: MED_Common.hxx:64
std::map< EEntiteMaillage, TGeom2Size > TEntityInfo
Definition: MED_Common.hxx:87
EConnectivite
Definition: MED_Common.hxx:62
@ eNOD
Definition: MED_Common.hxx:62
SharedPtr< TWrapper > PWrapper
Definition: MED_Common.hxx:138
EMaillage
Definition: MED_Common.hxx:58
@ eNON_STRUCTURE
Definition: MED_Common.hxx:58
EBooleen
Definition: MED_Common.hxx:43
@ eFAUX
Definition: MED_Common.hxx:43
@ eVRAI
Definition: MED_Common.hxx:43
TVector< TInt > TIntVector
Definition: MED_Common.hxx:80
boost::tuple< EModeProfil, TKey2Profile > TMKey2Profile
Definition: MED_Algorithm.hxx:49
TInt GetNbNodes(EGeometrieElement typmai)
Definition: MED_Common.cxx:75
std::map< EGeometrieElement, PGaussInfo > TGeom2Gauss
Definition: MED_Structures.hxx:494
herr_t TErr
Definition: MED_Common.hxx:52
std::map< TGaussInfo::TKey, PGaussInfo, TGaussInfo::TLess > TKey2Gauss
Definition: MED_Algorithm.hxx:47
med_int TInt
Definition: MED_Common.hxx:50
EGrilleType
Definition: MED_Common.hxx:76
std::shared_ptr< TFileInternal > PFileInternal
Definition: MED_Wrapper.hxx:36
ETypeChamp
Definition: MED_Common.hxx:56
@ eFLOAT64
Definition: MED_Common.hxx:56
EModeSwitch
Definition: MED_Common.hxx:54
@ eFULL_INTERLACE
Definition: MED_Common.hxx:54
std::set< std::string > TStringSet
Definition: MED_Common.hxx:84
std::map< EGeometrieElement, TInt > TGeom2Size
Definition: MED_Common.hxx:86
ETable
Definition: MED_Common.hxx:78
EModeAcces
Definition: MED_Wrapper.hxx:38
@ eLECTURE_AJOUT
Definition: MED_Wrapper.hxx:38
@ eCREATION
Definition: MED_Wrapper.hxx:38
@ eLECTURE_ECRITURE
Definition: MED_Wrapper.hxx:38
@ eLECTURE
Definition: MED_Wrapper.hxx:38
std::map< EGeometrieElement, PProfileInfo > TGeom2Profile
Definition: MED_Structures.hxx:768
Definition: SMESH_MAT2d.cxx:224
Define a class representing MED_BALL structure element.
Definition: MED_Structures.hxx:346
Define a base class which represents MED Cells entity.
Definition: MED_Structures.hxx:282
Define a parent class for all MED entities that describes mesh entities such as nodes and cells.
Definition: MED_Structures.hxx:188
Define a base class which represents MED Family entity.
Definition: MED_Structures.hxx:135
Define a base class which represents MED Field entity.
Definition: MED_Structures.hxx:393
The class represents MED Gauss entity.
Definition: MED_Structures.hxx:447
boost::tuple< TKey, TInt > TInfo
Definition: MED_Structures.hxx:449
Define a base class which represents MED Grille (structured mesh)
Definition: MED_Structures.hxx:978
Define a base class which represents MED Mesh entity.
Definition: MED_Structures.hxx:112
Define a base class which represents MED Nodes entity.
Definition: MED_Structures.hxx:246
Define a base class which represents MED Polyedre entity.
Definition: MED_Structures.hxx:358
Define a base class which represents MED Polygon entity.
Definition: MED_Structures.hxx:309
The class represents MED Profile entity.
Definition: MED_Structures.hxx:544
boost::tuple< TKey, TInt > TInfo
Definition: MED_Structures.hxx:546
Define a base class which represents MED TimeStamp.
Definition: MED_Structures.hxx:501