Salome HOME
Minor doxygen fix
[tools/medcoupling.git] / src / ParaMEDMEM / DisjointDEC.hxx
index b1ee5145f1b36636d03792dcd7d833df33d3f356..8cf754248277a529f7c4c470bf6b01e48b012e9b 100644 (file)
@@ -1,9 +1,9 @@
-// Copyright (C) 2007-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2007-2016  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
 
 namespace ICoCo
 {
-  class Field;
+  class MEDField;
 }
 
-namespace ParaMEDMEM
+namespace MEDCoupling
 {
   class ProcessorGroup;
   class ParaFIELD;
@@ -40,16 +40,20 @@ namespace ParaMEDMEM
   class DisjointDEC : public DEC
   {
   public:
-    DisjointDEC():_local_field(0),_union_group(0),_source_group(0),_target_group(0),_owns_field(false),_owns_groups(false),_icoco_field(0) { }
+    DisjointDEC():_local_field(0),_union_group(0),_source_group(0),_target_group(0),
+    _comm_interface(0),
+    _owns_field(false),_owns_groups(false),
+    _union_comm(MPI_COMM_NULL)
+    { }
     DisjointDEC(ProcessorGroup& source_group, ProcessorGroup& target_group);
     DisjointDEC(const DisjointDEC&);
     DisjointDEC &operator=(const DisjointDEC& s);
     DisjointDEC(const std::set<int>& src_ids, const std::set<int>& trg_ids,
                 const MPI_Comm& world_comm=MPI_COMM_WORLD);
     void setNature(NatureOfField nature);
-    void attachLocalField( MEDCouplingFieldDoublefield);
-    void attachLocalField(const ParaFIELDfield, bool ownPt=false);
-    void attachLocalField(const ICoCo::Field* field);
+    void attachLocalField( MEDCouplingFieldDouble *field);
+    void attachLocalField(const ParaFIELD *field, bool ownPt=false);
+    void attachLocalField(const ICoCo::MEDField *field);
     
     virtual void prepareSourceDE() = 0;
     virtual void prepareTargetDE() = 0;
@@ -70,6 +74,7 @@ namespace ParaMEDMEM
     void compareFieldAndMethod() const throw(INTERP_KERNEL::Exception);
     void cleanInstance();
     void copyInstance(const DisjointDEC& other);
+    void checkPartitionGroup() const;
   protected:
     const ParaFIELD* _local_field;
     //! Processor group representing the union of target and source processors
@@ -80,8 +85,7 @@ namespace ParaMEDMEM
     const CommInterface* _comm_interface;
     bool _owns_field;
     bool _owns_groups;
-  private:
-    ICoCo::Field* _icoco_field;
+    MPI_Comm _union_comm;
   };
 }