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_V2_1_Wrapper_HeaderFile
00029 #define MED_V2_1_Wrapper_HeaderFile
00030
00031 #ifdef WNT
00032 #if defined MEDWRAPPER_V2_1_EXPORTS || defined MEDWrapper_V2_1_EXPORTS
00033 #if defined WIN32
00034 #define MED_V21_WRAPPER_EXPORT __declspec( dllexport )
00035 #else
00036 #define MED_V21_WRAPPER_EXPORT
00037 #endif
00038 #else
00039 #if defined WIN32
00040 #define MED_V21_WRAPPER_EXPORT __declspec( dllimport )
00041 #else
00042 #define MED_V21_WRAPPER_EXPORT
00043 #endif
00044 #endif
00045 #else
00046 #define MED_V21_WRAPPER_EXPORT
00047 #endif
00048
00049 #include "MED_TWrapper.hxx"
00050
00051 namespace MED
00052 {
00053 template<>
00054 TInt MED_V21_WRAPPER_EXPORT
00055 GetDESCLength<eV2_1>();
00056
00057 template<>
00058 TInt MED_V21_WRAPPER_EXPORT
00059 GetIDENTLength<eV2_1>();
00060
00061 template<>
00062 TInt MED_V21_WRAPPER_EXPORT
00063 GetNOMLength<eV2_1>();
00064
00065 template<>
00066 TInt MED_V21_WRAPPER_EXPORT
00067 GetLNOMLength<eV2_1>();
00068
00069 template<>
00070 TInt MED_V21_WRAPPER_EXPORT
00071 GetPNOMLength<eV2_1>();
00072
00073 template<>
00074 void MED_V21_WRAPPER_EXPORT
00075 GetVersionRelease<eV2_1>(TInt& majeur, TInt& mineur, TInt& release);
00076
00077 template<>
00078 TInt MED_V21_WRAPPER_EXPORT
00079 GetNbConn<eV2_1>(EGeometrieElement typmai,
00080 EEntiteMaillage typent,
00081 TInt mdim);
00082
00083 namespace V2_1
00084 {
00085
00086 class TFile;
00087 typedef boost::shared_ptr<TFile> PFile;
00088
00089 typedef enum {eLECT, eECRI, eREMP} EModeAcces;
00090
00091
00092 class MED_V21_WRAPPER_EXPORT TVWrapper: public MED::TTWrapper<eV2_1>
00093 {
00094 TVWrapper();
00095 TVWrapper(const TVWrapper&);
00096 TVWrapper& operator=(const TVWrapper&);
00097
00098 public:
00099 TVWrapper(const std::string& theFileName);
00100
00101
00102
00103 virtual
00104 TInt
00105 GetNbMeshes(TErr* theErr = NULL);
00106
00107 virtual
00108 void
00109 GetMeshInfo(TInt theMeshId, MED::TMeshInfo&,
00110 TErr* theErr = NULL);
00111
00112 virtual
00113 void
00114 SetMeshInfo(const MED::TMeshInfo& theInfo,
00115 TErr* theErr = NULL);
00116
00117 void
00118 SetMeshInfo(const MED::TMeshInfo& theInfo,
00119 EModeAcces theMode,
00120 TErr* theErr = NULL);
00121
00122
00123
00124 virtual
00125 TInt
00126 GetNbFamilies(const MED::TMeshInfo& theMeshInfo,
00127 TErr* theErr = NULL);
00128 virtual
00129 TInt
00130 GetNbFamAttr(TInt theFamId,
00131 const MED::TMeshInfo& theInfo,
00132 TErr* theErr = NULL);
00133 virtual
00134 TInt
00135 GetNbFamGroup(TInt theFamId,
00136 const MED::TMeshInfo& theInfo,
00137 TErr* theErr = NULL);
00138
00139 virtual
00140 void
00141 GetFamilyInfo(TInt theFamId,
00142 MED::TFamilyInfo& theInfo,
00143 TErr* theErr = NULL);
00144
00145 virtual
00146 void
00147 SetFamilyInfo(const MED::TFamilyInfo& theInfo,
00148 TErr* theErr = NULL);
00149
00150 void
00151 SetFamilyInfo(const MED::TFamilyInfo& theInfo,
00152 EModeAcces theMode,
00153 TErr* theErr = NULL);
00154
00155
00156
00157 virtual
00158 TInt
00159 GetNbNodes(const MED::TMeshInfo& theMeshInfo,
00160 TErr* theErr = NULL);
00161
00162 virtual
00163 void
00164 GetNodeInfo(MED::TNodeInfo& theInfo,
00165 TErr* theErr = NULL);
00166
00167 virtual
00168 void
00169 SetNodeInfo(const MED::TNodeInfo& theInfo,
00170 TErr* theErr = NULL);
00171
00172 void
00173 SetNodeInfo(const MED::TNodeInfo& theInfo,
00174 EModeAcces theMode,
00175 TErr* theErr = NULL);
00176
00177
00178
00179 virtual
00180 TEntityInfo
00181 GetEntityInfo(const MED::TMeshInfo& theMeshInfo,
00182 EConnectivite theConn = eNOD,
00183 TErr* theErr = NULL);
00184
00185 virtual
00186 TInt
00187 GetNbCells(const MED::TMeshInfo& theMeshInfo,
00188 EEntiteMaillage,
00189 EGeometrieElement,
00190 EConnectivite theConn = eNOD,
00191 TErr* theErr = NULL);
00192
00193 virtual
00194 void
00195 GetCellInfo(MED::TCellInfo& theInfo,
00196 TErr* theErr = NULL);
00197
00198 virtual
00199 void
00200 SetCellInfo(const MED::TCellInfo& theInfo,
00201 TErr* theErr = NULL);
00202
00203 void
00204 SetCellInfo(const MED::TCellInfo& theInfo,
00205 EModeAcces theMode,
00206 TErr* theErr = NULL);
00207
00208
00209
00210 virtual
00211 TInt
00212 GetNbFields(TErr* theErr = NULL);
00213
00214 virtual
00215 TInt
00216 GetNbComp(TInt theFieldId,
00217 TErr* theErr = NULL);
00218
00219 virtual
00220 void
00221 GetFieldInfo(TInt theFieldId,
00222 MED::TFieldInfo& theInfo,
00223 TErr* theErr = NULL);
00224
00225 virtual
00226 void
00227 SetFieldInfo(const MED::TFieldInfo& theInfo,
00228 TErr* theErr = NULL);
00229
00230 void
00231 SetFieldInfo(const MED::TFieldInfo& theInfo,
00232 EModeAcces theMode,
00233 TErr* theErr = NULL);
00234
00235
00236
00237 virtual
00238 TInt
00239 GetNbProfiles(TErr* theErr = NULL);
00240
00241 virtual
00242 TProfileInfo::TInfo
00243 GetProfilePreInfo(TInt theId,
00244 TErr* theErr = NULL);
00245
00246 virtual
00247 void
00248 GetProfileInfo(TInt theId,
00249 TProfileInfo& theInfo,
00250 TErr* theErr = NULL);
00251
00252 virtual
00253 void
00254 SetProfileInfo(const TProfileInfo& theInfo,
00255 TErr* theErr = NULL);
00256
00257 void
00258 SetProfileInfo(const TProfileInfo& theInfo,
00259 EModeAcces theMode,
00260 TErr* theErr = NULL);
00261
00262
00263 virtual
00264 TInt
00265 GetNbTimeStamps(const MED::TFieldInfo& theInfo,
00266 const MED::TEntityInfo& theEntityInfo,
00267 EEntiteMaillage& theEntity,
00268 TGeom2Size& theGeom2Size,
00269 TErr* theErr = NULL);
00270
00271 virtual
00272 void
00273 GetTimeStampInfo(TInt theTimeStampId,
00274 MED::TTimeStampInfo& theInfo,
00275 TErr* theErr = NULL);
00276
00277 virtual
00278 void
00279 GetTimeStampValue(const PTimeStampValueBase& theTimeStampValue,
00280 const TMKey2Profile& theMKey2Profile,
00281 const TKey2Gauss& theKey2Gauss,
00282 TErr* theErr = NULL);
00283
00284 virtual
00285 void
00286 SetTimeStampValue(const PTimeStampValueBase& theTimeStampValue,
00287 TErr* theErr = NULL);
00288
00289 void
00290 SetTimeStampValue(const PTimeStampValueBase& theTimeStampValue,
00291 EModeAcces theMode,
00292 TErr* theErr = NULL);
00293
00294 protected:
00295 PFile myFile;
00296 };
00297 }
00298 }
00299
00300 #endif