Salome HOME
Merge branch 'V8_0_BR'
[tools/medcoupling.git] / src / MEDPartitioner / MEDPARTITIONER_MeshCollectionDriver.hxx
index d4d3a41e205f87925a36c793836f87872c1e4e9c..c378a34089fa80765f689586bec91360143704fe 100644 (file)
 #include <vector>
 #include <string>
 
+namespace ParaMEDMEM
+{
+  class DataArrayDouble;
+  class MEDCouplingFieldDouble;
+  class MEDFileData;
+  class MEDFileMesh;
+  class MEDFileUMesh;
+}
+
 namespace MEDPARTITIONER
 {
   class MeshCollection;
@@ -37,12 +46,15 @@ namespace MEDPARTITIONER
     virtual ~MeshCollectionDriver() { }
     virtual int read(const char*, ParaDomainSelector* sel=0) = 0;
     int readSeq(const char*,const char*);
+    ParaMEDMEM::MEDFileData *getMEDFileData();
     virtual void write(const char*, ParaDomainSelector* sel=0) const = 0;
+    void readMEDFileData(const ParaMEDMEM::MEDFileData* filedata);
   protected:
-    void readSubdomain(std::vector<int*>& cellglobal,
-                       std::vector<int*>& faceglobal,
-                       std::vector<int*>& nodeglobal, int idomain);
     void readSubdomain(int idomain);
+    void readData(ParaMEDMEM::MEDFileUMesh* mfm, int idomain) const;
+    void readFileData(std::string file,std::string meshname,int idomain) const;
+    ParaMEDMEM::MEDFileMesh* getMesh(int idomain) const;
+    ParaMEDMEM::MEDCouplingFieldDouble* getField(std::string key, std::string description, ParaMEDMEM::DataArrayDouble* data, ParaMEDMEM::MEDFileMesh* mfm, int idomain) const;
     void writeMedFile(int idomain, const std::string& distfilename) const;
   protected:
     MeshCollection* _collection;