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_TWrapper_HeaderFile
30 #define MED_TWrapper_HeaderFile
32 #include "MED_TStructures.hxx"
33 #include "MED_Wrapper.hxx"
37 template<TInt nPNOM, TInt nDESC, TInt nIDENT, TInt nNOM, TInt nLNOM, EVersion nV>
38 class TTWrapper: public TWrapper{
40 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
43 CrMeshInfo(TInt theDim = 0,
44 const std::string& theValue = "",
45 EMaillage theType = eNON_STRUCTURE,
46 const std::string& theDesc = "")
48 return PMeshInfo(new TTMeshInfo<nPNOM,nDESC,nIDENT,nNOM,nLNOM,nV>
57 CrMeshInfo(const PMeshInfo& theInfo)
59 return PMeshInfo(new TTMeshInfo<nPNOM,nDESC,nIDENT,nNOM,nLNOM,nV>(theInfo));
63 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
66 CrFamilyInfo(const PMeshInfo& theMeshInfo,
70 const std::string& theValue = "")
72 return PFamilyInfo(new TTFamilyInfo<nPNOM,nDESC,nIDENT,nNOM,nLNOM,nV>
82 CrFamilyInfo(const PMeshInfo& theMeshInfo,
83 const std::string& theValue,
85 const MED::TStringSet& theGroupNames,
86 const MED::TStringVector& theAttrDescs = MED::TStringVector(),
87 const MED::TIntVector& theAttrIds = MED::TIntVector(),
88 const MED::TIntVector& theAttrVals = MED::TIntVector())
90 return PFamilyInfo(new TTFamilyInfo<nPNOM,nDESC,nIDENT,nNOM,nLNOM,nV>
102 CrFamilyInfo(const PMeshInfo& theMeshInfo,
103 const PFamilyInfo& theInfo)
105 return PFamilyInfo(new TTFamilyInfo<nPNOM,nDESC,nIDENT,nNOM,nLNOM,nV>
111 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
114 CrNodeInfo(const PMeshInfo& theMeshInfo,
116 ERepere theSystem = eCART,
117 EBooleen theIsElemNum = eVRAI,
118 EBooleen theIsElemNames = eVRAI)
120 return PNodeInfo(new TTNodeInfo<nPNOM,nDESC,nIDENT,nNOM,nLNOM,nV>
130 CrNodeInfo(const PMeshInfo& theMeshInfo,
132 const TFloatVector& theNodeCoords,
133 const TStringVector& theCoordNames,
134 const TStringVector& theCoordUnits,
135 const TIntVector& theFamilyNums,
136 const TIntVector& theElemNums,
137 const TStringVector& theElemNames = TStringVector())
139 return PNodeInfo(new TTNodeInfo<nPNOM,nDESC,nIDENT,nNOM,nLNOM,nV>
152 CrNodeInfo(const PMeshInfo& theMeshInfo,
153 const PNodeInfo& theInfo)
155 return PNodeInfo(new TTNodeInfo<nPNOM,nDESC,nIDENT,nNOM,nLNOM,nV>
160 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
163 CrPolygoneInfo(const PMeshInfo& theMeshInfo,
166 EEntiteMaillage theTEntity,
167 EGeometrieElement theTGeom,
168 EConnectivite theTConn = eNOD,
169 EBooleen theIsElemNum = eVRAI,
170 EBooleen theIsElemNames = eVRAI)
172 return PPolygoneInfo(new TTPolygoneInfo<nPNOM,nDESC,nIDENT,nNOM,nLNOM,nV>
185 CrPolygoneInfo(const PMeshInfo& theMeshInfo,
186 EEntiteMaillage theTEntity,
187 EGeometrieElement theTGeom,
188 EConnectivite theTConn,
189 const TIntVector& theConnectivities,
190 const TIntVector& theIndexes,
191 const TIntVector& theFamilyNums,
192 const TIntVector& theElemNums,
193 const TStringVector& theElemNames = TStringVector())
195 return PPolygoneInfo(new TTPolygoneInfo<nPNOM,nDESC,nIDENT,nNOM,nLNOM,nV>
209 CrPolygoneInfo(const PMeshInfo& theMeshInfo,
210 const PPolygoneInfo& theInfo)
212 return PPolygoneInfo(new TTPolygoneInfo<nPNOM,nDESC,nIDENT,nNOM,nLNOM,nV>
217 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
220 CrPolyedreInfo(const PMeshInfo& theMeshInfo,
224 EEntiteMaillage theTEntity,
225 EGeometrieElement theTGeom,
226 EConnectivite theTConn = eNOD,
227 EBooleen theIsElemNum = eVRAI,
228 EBooleen theIsElemNames = eVRAI)
230 return PPolyedreInfo(new TTPolyedreInfo<nPNOM,nDESC,nIDENT,nNOM,nLNOM,nV>
244 CrPolyedreInfo(const PMeshInfo& theMeshInfo,
245 EEntiteMaillage theTEntity,
246 EGeometrieElement theTGeom,
247 EConnectivite theTConn,
248 const TIntVector& theConnectivities,
249 const TIntVector& theFacesIndexes,
250 const TIntVector& theIndexes,
251 const TIntVector& theFamilyNums,
252 const TIntVector& theElemNums,
253 const TStringVector& theElemNames = TStringVector())
255 return PPolyedreInfo(new TTPolyedreInfo<nPNOM,nDESC,nIDENT,nNOM,nLNOM,nV>
270 CrPolyedreInfo(const PMeshInfo& theMeshInfo,
271 const PPolyedreInfo& theInfo)
273 return PPolyedreInfo(new TTPolyedreInfo<nPNOM,nDESC,nIDENT,nNOM,nLNOM,nV>
278 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
281 CrCellInfo(const PMeshInfo& theMeshInfo,
283 EEntiteMaillage theTEntity,
284 EGeometrieElement theTGeom,
285 EConnectivite theTConn = eNOD,
286 EBooleen theIsElemNum = eVRAI,
287 EBooleen theIsElemNames = eVRAI)
289 return PCellInfo(new TTCellInfo<nPNOM,nDESC,nIDENT,nNOM,nLNOM,nV>
301 CrCellInfo(const PMeshInfo& theMeshInfo,
302 EEntiteMaillage theTEntity,
303 EGeometrieElement theTGeom,
304 EConnectivite theTConn,
305 const TIntVector& theConnectivities,
306 const TIntVector& theFamilyNums,
307 const TIntVector& theElemNums,
308 const TStringVector& theElemNames = TStringVector())
310 return PCellInfo(new TTCellInfo<nPNOM,nDESC,nIDENT,nNOM,nLNOM,nV>
323 CrCellInfo(const PMeshInfo& theMeshInfo,
324 const PCellInfo& theInfo)
326 return PCellInfo(new TTCellInfo<nPNOM,nDESC,nIDENT,nNOM,nLNOM,nV>
332 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
335 CrFieldInfo(const PMeshInfo& theMeshInfo,
337 ETypeChamp theType = eFLOAT64,
338 const std::string& theValue = "",
339 EBooleen theIsLocal = eVRAI,
342 return PFieldInfo(new TTFieldInfo<nPNOM,nDESC,nIDENT,nNOM,nLNOM,nV>
353 CrFieldInfo(const PMeshInfo& theMeshInfo,
354 const PFieldInfo& theInfo)
356 return PFieldInfo(new TTFieldInfo<nPNOM,nDESC,nIDENT,nNOM,nLNOM,nV>
362 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
365 CrTimeStampInfo(const PFieldInfo& theFieldInfo,
366 EEntiteMaillage theEntity,
367 const TGeom& theGeom,
372 const std::string& theUnitDt = "",
373 const std::string& theGaussName = "")
375 return PTimeStampInfo(new TTTimeStampInfo<nPNOM,nDESC,nIDENT,nNOM,nLNOM,nV>
389 CrTimeStampInfo(const PFieldInfo& theFieldInfo,
390 const PTimeStampInfo& theInfo)
392 return PTimeStampInfo(new TTTimeStampInfo<nPNOM,nDESC,nIDENT,nNOM,nLNOM,nV>
398 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
401 CrTimeStampVal(const PTimeStampInfo& theTimeStampInfo,
402 const std::string& thePflName = "",
403 EModeProfil thePflMode = eCOMPACT)
405 return PTimeStampVal(new TTTimeStampVal<nPNOM,nDESC,nIDENT,nNOM,nLNOM,nV>
413 CrTimeStampVal(const PTimeStampInfo& theTimeStampInfo,
414 const PTimeStampVal& theInfo)
416 return PTimeStampVal(new TTTimeStampVal<nPNOM,nDESC,nIDENT,nNOM,nLNOM,nV>