Back to index

salome-med  6.5.0
MED_V2_1_Wrapper.hxx
Go to the documentation of this file.
00001 // Copyright (C) 2007-2012  CEA/DEN, EDF R&D, OPEN CASCADE
00002 //
00003 // Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
00004 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
00005 //
00006 // This library is free software; you can redistribute it and/or
00007 // modify it under the terms of the GNU Lesser General Public
00008 // License as published by the Free Software Foundation; either
00009 // version 2.1 of the License.
00010 //
00011 // This library is distributed in the hope that it will be useful,
00012 // but WITHOUT ANY WARRANTY; without even the implied warranty of
00013 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00014 // Lesser General Public License for more details.
00015 //
00016 // You should have received a copy of the GNU Lesser General Public
00017 // License along with this library; if not, write to the Free Software
00018 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
00019 //
00020 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
00021 //
00022 
00023 //  File   : 
00024 //  Author : 
00025 //  Module : 
00026 //  $Header: /home/server/cvs/MED/MED_SRC/src/MEDWrapper/V2_1/Wrapper/MED_V2_1_Wrapper.hxx,v 1.5.2.2.6.4.10.1 2012-04-13 08:48:45 vsr Exp $
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