Salome HOME
Join modifications from BR_Dev_For_4_0 tag V4_1_1.
[modules/med.git] / src / MEDWrapper / Base / MED_Algorithm.hxx
index 278a6562ea643adedc0cbfe2ac43986fb196ca38..3e6e44ac92ba066c8d17608cb174970c2cb1b574 100644 (file)
@@ -29,6 +29,7 @@
 #ifndef MED_Algorithm_HeaderFile
 #define MED_Algorithm_HeaderFile
 
+#include "MED_WrapperBase.hxx"
 #include "MED_Structures.hxx"
 
 #include <set>
@@ -40,6 +41,7 @@ namespace MED
   typedef std::map<EEntiteMaillage,TGeom2ElemInfo> TEntity2TGeom2ElemInfo;
 
   //! Get set of TElemInfo by its geometrical type and corresponding MED ENTITY
+  MEDWRAPPER_EXPORT
   TEntity2TGeom2ElemInfo
   GetEntity2TGeom2ElemInfo(const PWrapper& theWrapper, 
                           const PMeshInfo& theMeshInfo,
@@ -50,6 +52,7 @@ namespace MED
   typedef std::set<PFamilyInfo> TFamilyInfoSet;
 
   //! Read set of MED FAMILIES for defined MED file
+  MEDWRAPPER_EXPORT
   TFamilyInfoSet
   GetFamilyInfoSet(const PWrapper& theWrapper, 
                   const PMeshInfo& theMeshInfo);
@@ -67,7 +70,8 @@ namespace MED
   typedef std::map<EEntiteMaillage,TFamilyTSizeSet> TEntity2FamilySet;
   
   //! Split set of MED FAMILIES by corresponding MED ENTITY
-  TEntity2FamilySet 
+  MEDWRAPPER_EXPORT
+  TEntity2FamilySet
   GetEntity2FamilySet(const PWrapper& theWrapper, 
                      const TEntity2TGeom2ElemInfo& theEntity2TGeom2ElemInfo,
                      const TFamilyInfoSet& theFamilyInfoSet);
@@ -77,6 +81,7 @@ namespace MED
   typedef std::map<std::string,TFamilyInfoSet> TGroupInfo;
   
   //! Split the input set of MED FAMILIES by corresponding MED GROUPS
+  MEDWRAPPER_EXPORT
   TGroupInfo
   GetGroupInfo(const TFamilyInfoSet& theFamilyInfoSet);
   
@@ -86,6 +91,7 @@ namespace MED
   typedef std::map<PFieldInfo,TTimeStampInfoSet> TFieldInfo2TimeStampInfoSet;
 
   //! Read set of MED TIMESTAMPS groupped by corresponding MED FIELDS
+  MEDWRAPPER_EXPORT
   TFieldInfo2TimeStampInfoSet
   GetFieldInfo2TimeStampInfoSet(const PWrapper& theWrapper, 
                                const PMeshInfo& theMeshInfo,
@@ -96,6 +102,7 @@ namespace MED
   typedef std::map<EEntiteMaillage,TFieldInfo2TimeStampInfoSet> TEntite2TFieldInfo2TimeStampInfoSet;
 
   //! Split the input set of MED TIMESTAMPS by corresponding MED FIELDS and MED ENTITIES
+  MEDWRAPPER_EXPORT
   TEntite2TFieldInfo2TimeStampInfoSet
   GetEntite2TFieldInfo2TimeStampInfoSet(const TFieldInfo2TimeStampInfoSet& theFieldInfo2TimeStampInfoSet);
 
@@ -104,6 +111,7 @@ namespace MED
   typedef std::map<TGaussInfo::TKey,PGaussInfo,TGaussInfo::TLess> TKey2Gauss;
 
   //! Read set of MED GAUSS
+  MEDWRAPPER_EXPORT
   TKey2Gauss
   GetKey2Gauss(const PWrapper& theWrapper, 
               TErr* theErr = NULL,
@@ -112,6 +120,7 @@ namespace MED
 
   //---------------------------------------------------------------
   //! Get MED PROFILE by its name
+  MEDWRAPPER_EXPORT
   PProfileInfo
   GetProfileInfo(const PWrapper& theWrapper, 
                 const std::string& theProfileName,
@@ -124,10 +133,26 @@ namespace MED
   typedef boost::tuple<EModeProfil,TKey2Profile> TMKey2Profile;
 
   //! Read set of MED PROFILES
+  MEDWRAPPER_EXPORT
   TMKey2Profile
   GetMKey2Profile(const PWrapper& theWrapper, 
                  TErr* theErr = NULL,
                  EModeProfil theMode = eCOMPACT);
+
+  //---------------------------------------------------------------
+  //! Get Entity for Grille by family id.
+  MEDWRAPPER_EXPORT
+  EEntiteMaillage
+  GetEntityByFamilyId(PGrilleInfo& theInfo,
+                     TInt theId);
+
+  typedef std::map<TInt,TInt> TFamilyID2NbCells;
+  
+  //! Get Number of cells for theId family, for Grille
+  MEDWRAPPER_EXPORT
+  TFamilyID2NbCells
+  GetFamilyID2NbCells(PGrilleInfo& theInfo);
+  
 }
 
 #endif