00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028 #ifndef MED_TWrapper_HeaderFile
00029 #define MED_TWrapper_HeaderFile
00030
00031 #include "MED_TStructures.hxx"
00032 #include "MED_Wrapper.hxx"
00033
00034 namespace MED
00035 {
00036
00037 template<EVersion eVersion>
00038 class TTWrapper: public TWrapper
00039 {
00040 public:
00041
00043 virtual
00044 EVersion
00045 GetVersion()
00046 {
00047 return eVersion;
00048 }
00049
00050
00051 virtual
00052 PMeshInfo
00053 CrMeshInfo(TInt theDim = 0, TInt theSpaceDim = 0,
00054 const std::string& theValue = "",
00055 EMaillage theType = eNON_STRUCTURE,
00056 const std::string& theDesc = "")
00057 {
00058 return PMeshInfo(new TTMeshInfo<eVersion>
00059 (theDim,
00060 theSpaceDim,
00061 theValue,
00062 theType,
00063 theDesc));
00064 }
00065
00066 virtual
00067 PMeshInfo
00068 CrMeshInfo(const PMeshInfo& theInfo)
00069 {
00070 return PMeshInfo(new TTMeshInfo<eVersion>(theInfo));
00071 }
00072
00073
00074
00075 virtual
00076 PFamilyInfo
00077 CrFamilyInfo(const PMeshInfo& theMeshInfo,
00078 TInt theNbGroup = 0,
00079 TInt theNbAttr = 0,
00080 TInt theId = 0,
00081 const std::string& theValue = "")
00082 {
00083 return PFamilyInfo(new TTFamilyInfo<eVersion>
00084 (theMeshInfo,
00085 theNbGroup,
00086 theNbAttr,
00087 theId,
00088 theValue));
00089 }
00090
00091 virtual
00092 PFamilyInfo
00093 CrFamilyInfo(const PMeshInfo& theMeshInfo,
00094 const std::string& theValue,
00095 TInt theId,
00096 const MED::TStringSet& theGroupNames,
00097 const MED::TStringVector& theAttrDescs = MED::TStringVector(),
00098 const MED::TIntVector& theAttrIds = MED::TIntVector(),
00099 const MED::TIntVector& theAttrVals = MED::TIntVector())
00100 {
00101 return PFamilyInfo(new TTFamilyInfo<eVersion>
00102 (theMeshInfo,
00103 theValue,
00104 theId,
00105 theGroupNames,
00106 theAttrDescs,
00107 theAttrIds,
00108 theAttrVals));
00109 }
00110
00111 virtual
00112 PFamilyInfo
00113 CrFamilyInfo(const PMeshInfo& theMeshInfo,
00114 const PFamilyInfo& theInfo)
00115 {
00116 return PFamilyInfo(new TTFamilyInfo<eVersion>
00117 (theMeshInfo,
00118 theInfo));
00119 }
00120
00121
00122 virtual
00123 PElemInfo
00124 CrElemInfo(const PMeshInfo& theMeshInfo,
00125 TInt theNbElem,
00126 EBooleen theIsElemNum = eVRAI,
00127 EBooleen theIsElemNames = eVRAI)
00128 {
00129 return PElemInfo(new TTElemInfo<eVersion>
00130 (theMeshInfo,
00131 theNbElem,
00132 theIsElemNum,
00133 theIsElemNames));
00134 }
00135
00136 virtual
00137 PElemInfo
00138 CrElemInfo(const PMeshInfo& theMeshInfo,
00139 TInt theNbElem,
00140 const TIntVector& theFamNum,
00141 const TIntVector& aElemNum,
00142 const TStringVector& aElemNames)
00143 {
00144 return PElemInfo(new TTElemInfo<eVersion>
00145 (theMeshInfo,
00146 theNbElem,
00147 theFamNum,
00148 aElemNum,
00149 aElemNames));
00150 }
00151
00152
00153 virtual
00154 PNodeInfo
00155 CrNodeInfo(const PMeshInfo& theMeshInfo,
00156 TInt theNbElem,
00157 EModeSwitch theMode = eFULL_INTERLACE,
00158 ERepere theSystem = eCART,
00159 EBooleen theIsElemNum = eVRAI,
00160 EBooleen theIsElemNames = eVRAI)
00161 {
00162 return PNodeInfo(new TTNodeInfo<eVersion>
00163 (theMeshInfo,
00164 theNbElem,
00165 theMode,
00166 theSystem,
00167 theIsElemNum,
00168 theIsElemNames));
00169 }
00170
00171 virtual
00172 PNodeInfo
00173 CrNodeInfo(const PMeshInfo& theMeshInfo,
00174 const TFloatVector& theNodeCoords,
00175 EModeSwitch theMode = eFULL_INTERLACE,
00176 ERepere theSystem = eCART,
00177 const TStringVector& theCoordNames = TStringVector(),
00178 const TStringVector& theCoordUnits = TStringVector(),
00179 const TIntVector& theFamilyNums = TIntVector(),
00180 const TIntVector& theElemNums = TIntVector(),
00181 const TStringVector& theElemNames = TStringVector())
00182 {
00183 return PNodeInfo(new TTNodeInfo<eVersion>
00184 (theMeshInfo,
00185 theNodeCoords,
00186 theMode,
00187 theSystem,
00188 theCoordNames,
00189 theCoordUnits,
00190 theFamilyNums,
00191 theElemNums,
00192 theElemNames));
00193 }
00194
00195 virtual
00196 PNodeInfo
00197 CrNodeInfo(const PMeshInfo& theMeshInfo,
00198 const PNodeInfo& theInfo)
00199 {
00200 return PNodeInfo(new TTNodeInfo<eVersion>
00201 (theMeshInfo,
00202 theInfo));
00203 }
00204
00205
00206 virtual
00207 PPolygoneInfo
00208 CrPolygoneInfo(const PMeshInfo& theMeshInfo,
00209 EEntiteMaillage theEntity,
00210 EGeometrieElement theGeom,
00211 TInt theNbElem,
00212 TInt theConnSize,
00213 EConnectivite theConnMode = eNOD,
00214 EBooleen theIsElemNum = eVRAI,
00215 EBooleen theIsElemNames = eVRAI)
00216 {
00217 return PPolygoneInfo(new TTPolygoneInfo<eVersion>
00218 (theMeshInfo,
00219 theEntity,
00220 theGeom,
00221 theNbElem,
00222 theConnSize,
00223 theConnMode,
00224 theIsElemNum,
00225 theIsElemNames));
00226 }
00227
00228 virtual
00229 PPolygoneInfo
00230 CrPolygoneInfo(const PMeshInfo& theMeshInfo,
00231 EEntiteMaillage theEntity,
00232 EGeometrieElement theGeom,
00233 const TIntVector& theIndexes,
00234 const TIntVector& theConnectivities,
00235 EConnectivite theConnMode = eNOD,
00236 const TIntVector& theFamilyNums = TIntVector(),
00237 const TIntVector& theElemNums = TIntVector(),
00238 const TStringVector& theElemNames = TStringVector())
00239 {
00240 return PPolygoneInfo(new TTPolygoneInfo<eVersion>
00241 (theMeshInfo,
00242 theEntity,
00243 theGeom,
00244 theIndexes,
00245 theConnectivities,
00246 theConnMode,
00247 theFamilyNums,
00248 theElemNums,
00249 theElemNames));
00250 }
00251
00252 virtual
00253 PPolygoneInfo
00254 CrPolygoneInfo(const PMeshInfo& theMeshInfo,
00255 const PPolygoneInfo& theInfo)
00256 {
00257 return PPolygoneInfo(new TTPolygoneInfo<eVersion>
00258 (theMeshInfo,
00259 theInfo));
00260 }
00261
00262
00263 virtual
00264 PPolyedreInfo
00265 CrPolyedreInfo(const PMeshInfo& theMeshInfo,
00266 EEntiteMaillage theEntity,
00267 EGeometrieElement theGeom,
00268 TInt theNbElem,
00269 TInt theNbFaces,
00270 TInt theConnSize,
00271 EConnectivite theConnMode = eNOD,
00272 EBooleen theIsElemNum = eVRAI,
00273 EBooleen theIsElemNames = eVRAI)
00274 {
00275 return PPolyedreInfo(new TTPolyedreInfo<eVersion>
00276 (theMeshInfo,
00277 theEntity,
00278 theGeom,
00279 theNbElem,
00280 theNbFaces,
00281 theConnSize,
00282 theConnMode,
00283 theIsElemNum,
00284 theIsElemNames));
00285 }
00286
00287 virtual
00288 PPolyedreInfo
00289 CrPolyedreInfo(const PMeshInfo& theMeshInfo,
00290 EEntiteMaillage theEntity,
00291 EGeometrieElement theGeom,
00292 const TIntVector& theIndexes,
00293 const TIntVector& theFaces,
00294 const TIntVector& theConnectivities,
00295 EConnectivite theConnMode = eNOD,
00296 const TIntVector& theFamilyNums = TIntVector(),
00297 const TIntVector& theElemNums = TIntVector(),
00298 const TStringVector& theElemNames = TStringVector())
00299 {
00300 return PPolyedreInfo(new TTPolyedreInfo<eVersion>
00301 (theMeshInfo,
00302 theEntity,
00303 theGeom,
00304 theIndexes,
00305 theFaces,
00306 theConnectivities,
00307 theConnMode,
00308 theFamilyNums,
00309 theElemNums,
00310 theElemNames));
00311 }
00312
00313 virtual
00314 PPolyedreInfo
00315 CrPolyedreInfo(const PMeshInfo& theMeshInfo,
00316 const PPolyedreInfo& theInfo)
00317 {
00318 return PPolyedreInfo(new TTPolyedreInfo<eVersion>
00319 (theMeshInfo,
00320 theInfo));
00321 }
00322
00323
00324 virtual
00325 PCellInfo
00326 CrCellInfo(const PMeshInfo& theMeshInfo,
00327 EEntiteMaillage theEntity,
00328 EGeometrieElement theGeom,
00329 TInt theNbElem,
00330 EConnectivite theConnMode = eNOD,
00331 EBooleen theIsElemNum = eVRAI,
00332 EBooleen theIsElemNames = eVRAI,
00333 EModeSwitch theMode = eFULL_INTERLACE)
00334 {
00335 return PCellInfo(new TTCellInfo<eVersion>
00336 (theMeshInfo,
00337 theEntity,
00338 theGeom,
00339 theNbElem,
00340 theConnMode,
00341 theIsElemNum,
00342 theIsElemNames,
00343 theMode));
00344 }
00345
00346 virtual
00347 PCellInfo
00348 CrCellInfo(const PMeshInfo& theMeshInfo,
00349 EEntiteMaillage theEntity,
00350 EGeometrieElement theGeom,
00351 const TIntVector& theConnectivities,
00352 EConnectivite theConnMode = eNOD,
00353 const TIntVector& theFamilyNums = TIntVector(),
00354 const TIntVector& theElemNums = TIntVector(),
00355 const TStringVector& theElemNames = TStringVector(),
00356 EModeSwitch theMode = eFULL_INTERLACE)
00357 {
00358 return PCellInfo(new TTCellInfo<eVersion>
00359 (theMeshInfo,
00360 theEntity,
00361 theGeom,
00362 theConnectivities,
00363 theConnMode,
00364 theFamilyNums,
00365 theElemNums,
00366 theElemNames,
00367 theMode));
00368 }
00369
00370 virtual
00371 PCellInfo
00372 CrCellInfo(const PMeshInfo& theMeshInfo,
00373 const PCellInfo& theInfo)
00374 {
00375 return PCellInfo(new TTCellInfo<eVersion>
00376 (theMeshInfo,
00377 theInfo));
00378 }
00379
00380
00381
00382 virtual
00383 PFieldInfo
00384 CrFieldInfo(const PMeshInfo& theMeshInfo,
00385 TInt theNbComp = 0,
00386 ETypeChamp theType = eFLOAT64,
00387 const std::string& theValue = "",
00388 EBooleen theIsLocal = eVRAI,
00389 TInt theNbRef = 1)
00390 {
00391 return PFieldInfo(new TTFieldInfo<eVersion>
00392 (theMeshInfo,
00393 theNbComp,
00394 theType,
00395 theValue,
00396 theIsLocal,
00397 theNbRef));
00398 }
00399
00400 virtual
00401 PFieldInfo
00402 CrFieldInfo(const PMeshInfo& theMeshInfo,
00403 const PFieldInfo& theInfo)
00404 {
00405 return PFieldInfo(new TTFieldInfo<eVersion>
00406 (theMeshInfo,
00407 theInfo));
00408 }
00409
00410
00411
00412 virtual
00413 PTimeStampInfo
00414 CrTimeStampInfo(const PFieldInfo& theFieldInfo,
00415 EEntiteMaillage theEntity,
00416 const TGeom2Size& theGeom2Size,
00417 const TGeom2NbGauss& theGeom2NbGauss = TGeom2NbGauss(),
00418 TInt theNumDt = 0,
00419 TInt theNumOrd = 0,
00420 TFloat theDt = 0,
00421 const std::string& theUnitDt = "",
00422 const TGeom2Gauss& theGeom2Gauss = TGeom2Gauss())
00423 {
00424 return PTimeStampInfo(new TTTimeStampInfo<eVersion>
00425 (theFieldInfo,
00426 theEntity,
00427 theGeom2Size,
00428 theGeom2NbGauss,
00429 theNumDt,
00430 theNumOrd,
00431 theDt,
00432 theUnitDt,
00433 theGeom2Gauss));
00434 }
00435
00436 virtual
00437 PTimeStampInfo
00438 CrTimeStampInfo(const PFieldInfo& theFieldInfo,
00439 const PTimeStampInfo& theInfo)
00440 {
00441 return PTimeStampInfo(new TTTimeStampInfo<eVersion>
00442 (theFieldInfo,
00443 theInfo));
00444 }
00445
00446
00447
00448 virtual
00449 PGaussInfo
00450 CrGaussInfo(const TGaussInfo::TInfo& theInfo,
00451 EModeSwitch theMode = eFULL_INTERLACE)
00452 {
00453 return PGaussInfo(new TTGaussInfo<eVersion>
00454 (theInfo,
00455 theMode));
00456 }
00457
00458
00459
00460 virtual
00461 PProfileInfo
00462 CrProfileInfo(const TProfileInfo::TInfo& theInfo,
00463 EModeProfil theMode = eCOMPACT)
00464 {
00465 return PProfileInfo(new TTProfileInfo<eVersion>
00466 (theInfo,
00467 theMode));
00468 }
00469
00470
00471
00472 virtual
00473 PTimeStampValueBase
00474 CrTimeStampValue(const PTimeStampInfo& theTimeStampInfo,
00475 ETypeChamp theTypeChamp,
00476 const TGeom2Profile& theGeom2Profile = TGeom2Profile(),
00477 EModeSwitch theMode = eFULL_INTERLACE)
00478 {
00479 if(theTypeChamp == eFLOAT64)
00480 return PTimeStampValueBase(new TTTimeStampValue<eVersion, TFloatMeshValue>
00481 (theTimeStampInfo,
00482 theTypeChamp,
00483 theGeom2Profile,
00484 theMode));
00485 return PTimeStampValueBase(new TTTimeStampValue<eVersion, TIntMeshValue>
00486 (theTimeStampInfo,
00487 theTypeChamp,
00488 theGeom2Profile,
00489 theMode));
00490 }
00491
00492 virtual
00493 PTimeStampValueBase
00494 CrTimeStampValue(const PTimeStampInfo& theTimeStampInfo,
00495 const PTimeStampValueBase& theInfo,
00496 ETypeChamp theTypeChamp)
00497 {
00498 if(theTypeChamp == eFLOAT64)
00499 return PTimeStampValueBase(new TTTimeStampValue<eVersion, TFloatMeshValue>
00500 (theTimeStampInfo,
00501 theInfo,
00502 theTypeChamp));
00503 return PTimeStampValueBase(new TTTimeStampValue<eVersion, TIntMeshValue>
00504 (theTimeStampInfo,
00505 theInfo,
00506 theTypeChamp));
00507 }
00508
00509
00510 virtual
00511 PGrilleInfo
00512 CrGrilleInfo(const PMeshInfo& theMeshInfo,
00513 const PGrilleInfo& theInfo)
00514 {
00515 return PGrilleInfo(new TTGrilleInfo<eVersion>
00516 (theMeshInfo,
00517 theInfo));
00518 }
00519 virtual
00520 PGrilleInfo
00521 CrGrilleInfo(const PMeshInfo& theMeshInfo,
00522 const EGrilleType& type)
00523 {
00524 return PGrilleInfo(new TTGrilleInfo<eVersion>
00525 (theMeshInfo,
00526 type));
00527 }
00528
00529 virtual
00530 PGrilleInfo
00531 CrGrilleInfo(const PMeshInfo& theMeshInfo,
00532 const EGrilleType& type,
00533 const TInt& nbNodes)
00534 {
00535 return PGrilleInfo(new TTGrilleInfo<eVersion>
00536 (theMeshInfo,
00537 type,
00538 nbNodes));
00539 }
00540
00541 virtual
00542 PGrilleInfo
00543 CrGrilleInfo(const PMeshInfo& theMeshInfo,
00544 const EGrilleType& type,
00545 const MED::TIntVector& nbNodeVec)
00546 {
00547 return PGrilleInfo(new TTGrilleInfo<eVersion>
00548 (theMeshInfo,
00549 type,
00550 nbNodeVec));
00551 }
00552
00553 };
00554
00555 }
00556
00557
00558 #endif