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_1_Wrapper_HeaderFile
30 #define MED_V2_1_Wrapper_HeaderFile
32 #include "MED_TWrapper.hxx"
39 typedef MED::TTMeshInfo<PNOM,DESC,IDENT,NOM,LNOM,eV2_1> TVMeshInfo;
41 typedef MED::TTFamilyInfo<PNOM,DESC,IDENT,NOM,LNOM,eV2_1> TVFamilyInfo;
43 typedef MED::TTNodeInfo<PNOM,DESC,IDENT,NOM,LNOM,eV2_1> TVNodeInfo;
45 typedef MED::TTCellInfo<PNOM,DESC,IDENT,NOM,LNOM,eV2_1> TVCellInfo;
47 typedef MED::TTFieldInfo<PNOM,DESC,IDENT,NOM,LNOM,eV2_1> TVFieldInfo;
49 typedef MED::TTTimeStampInfo<PNOM,DESC,IDENT,NOM,LNOM,eV2_1> TVTimeStampInfo;
51 typedef MED::TTTimeStampVal<PNOM,DESC,IDENT,NOM,LNOM,eV2_1> TVTimeStampVal;
53 //---------------------------------------------------------------
55 typedef boost::shared_ptr<TFile> PFile;
57 typedef enum {eLECT, eECRI, eREMP} EModeAcces;
59 //---------------------------------------------------------------
60 class TVWrapper: public MED::TTWrapper<PNOM,DESC,IDENT,NOM,LNOM,eV2_1>
63 TVWrapper(const TVWrapper&);
64 TVWrapper& operator=(const TVWrapper&);
67 TVWrapper(const std::string& theFileName);
70 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
71 virtual TInt GetNbMeshes(TErr* theErr = NULL);
73 virtual void GetMeshInfo(TInt theMeshId, MED::TMeshInfo&,
76 virtual void SetMeshInfo(const MED::TMeshInfo& theInfo,
79 void SetMeshInfo(const MED::TMeshInfo& theInfo,
84 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
85 virtual TInt GetNbFamilies(const MED::TMeshInfo& theMeshInfo,
87 virtual TInt GetNbFamAttr(TInt theFamId,
88 const MED::TMeshInfo& theInfo,
90 virtual TInt GetNbFamGroup(TInt theFamId,
91 const MED::TMeshInfo& theInfo,
94 virtual void GetFamilyInfo(TInt theFamId,
95 MED::TFamilyInfo& theInfo,
98 virtual void SetFamilyInfo(const MED::TFamilyInfo& theInfo,
101 void SetFamilyInfo(const MED::TFamilyInfo& theInfo,
103 TErr* theErr = NULL);
106 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
107 virtual TInt GetNbNodes(const MED::TMeshInfo& theMeshInfo,
108 TErr* theErr = NULL);
110 virtual void GetNodeInfo(MED::TNodeInfo& theInfo,
111 TErr* theErr = NULL);
113 virtual void SetNodeInfo(const MED::TNodeInfo& theInfo,
114 TErr* theErr = NULL);
116 void SetNodeInfo(const MED::TNodeInfo& theInfo,
118 TErr* theErr = NULL);
121 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
122 virtual TEntityInfo GetEntityInfo(const MED::TMeshInfo& theMeshInfo,
123 EConnectivite theTConn = eNOD,
124 TErr* theErr = NULL);
126 virtual TInt GetNbCells(const MED::TMeshInfo& theMeshInfo,
129 EConnectivite theTConn = eNOD,
130 TErr* theErr = NULL);
132 virtual void GetCellInfo(MED::TCellInfo& theInfo,
133 TErr* theErr = NULL);
135 virtual void SetCellInfo(const MED::TCellInfo& theInfo,
136 TErr* theErr = NULL);
138 void SetCellInfo(const MED::TCellInfo& theInfo,
140 TErr* theErr = NULL);
143 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
144 virtual TInt GetNbFields(TErr* theErr = NULL);
146 virtual TInt GetNbComp(TInt theFieldId,
147 TErr* theErr = NULL);
149 virtual void GetFieldInfo(TInt theFieldId,
150 MED::TFieldInfo& theInfo,
151 TErr* theErr = NULL);
153 virtual void SetFieldInfo(const MED::TFieldInfo& theInfo,
154 TErr* theErr = NULL);
156 void SetFieldInfo(const MED::TFieldInfo& theInfo,
158 TErr* theErr = NULL);
161 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
162 virtual TInt GetNbTimeStamps(const MED::TFieldInfo& theInfo,
163 const MED::TEntityInfo& theEntityInfo,
164 EEntiteMaillage& theEntity,
166 TErr* theErr = NULL);
168 virtual void GetTimeStampInfo(TInt theTimeStampId,
169 MED::TTimeStampInfo& theInfo,
170 TErr* theErr = NULL);
172 virtual void GetTimeStampVal(MED::TTimeStampVal& theVal,
173 TErr* theErr = NULL);
175 virtual void SetTimeStamp(const MED::TTimeStampVal& theTimeStampVal,
176 TErr* theErr = NULL);
178 void SetTimeStamp(const MED::TTimeStampVal& theTimeStampVal,
180 TErr* theErr = NULL);