X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2FParaMEDMEM%2FDisjointDEC.hxx;h=8cf754248277a529f7c4c470bf6b01e48b012e9b;hb=f100fdf8977ff06ab097b9a1d1400a26b16aebb9;hp=77421f35998785ab35b897fbbd27c111b7f2b80e;hpb=1123dccd6613b2e8abba35182759d5c4a11ecc8d;p=tools%2Fmedcoupling.git diff --git a/src/ParaMEDMEM/DisjointDEC.hxx b/src/ParaMEDMEM/DisjointDEC.hxx index 77421f359..8cf754248 100644 --- a/src/ParaMEDMEM/DisjointDEC.hxx +++ b/src/ParaMEDMEM/DisjointDEC.hxx @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2014 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 @@ -29,10 +29,10 @@ 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& src_ids, const std::set& trg_ids, const MPI_Comm& world_comm=MPI_COMM_WORLD); void setNature(NatureOfField nature); - void attachLocalField( MEDCouplingFieldDouble* field); - void attachLocalField(const ParaFIELD* field, 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; }; }