X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FParaMEDMEM%2FMxN_Mapping.hxx;h=6a5e8befb4446d5d58f9f64555ff6cedc4f5bc91;hb=bd238ae917aa20ba3fe2f7569883d619b7e4f7a9;hp=9e019efe9d81b30fe2d331e087b189f7418bb383;hpb=48782c06022ca2caa36f849cb5a29ea4fe2aaa83;p=tools%2Fmedcoupling.git diff --git a/src/ParaMEDMEM/MxN_Mapping.hxx b/src/ParaMEDMEM/MxN_Mapping.hxx index 9e019efe9..6a5e8befb 100644 --- a/src/ParaMEDMEM/MxN_Mapping.hxx +++ b/src/ParaMEDMEM/MxN_Mapping.hxx @@ -1,21 +1,22 @@ -// Copyright (C) 2007-2008 CEA/DEN, EDF R&D +// Copyright (C) 2007-2015 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. +// 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, 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 -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -// Lesser General Public License for more details. +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. // -// You should have received a copy of the GNU Lesser General Public -// License along with this library; if not, write to the Free Software -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // -// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com // + #ifndef __MXN_MAPPING_HXX__ #define __MXN_MAPPING_HXX__ @@ -25,23 +26,33 @@ #include -namespace ParaMEDMEM +namespace MEDCoupling { class ProcessorGroup; + /*! + * Internal class, not part of the public API. + * + * Used by InterpolationMatrix. This class manages the mapping between a given processor and part + * of the mesh (cell ids). + */ class MxN_Mapping : public DECOptions { public: - MxN_Mapping(); MxN_Mapping(const ProcessorGroup& source_group, const ProcessorGroup& target_group, const DECOptions& dec_options); virtual ~MxN_Mapping(); void addElementFromSource(int distant_proc, int distant_elem); void prepareSendRecv(); void sendRecv(MEDCouplingFieldDouble& field); - void sendRecv(double* field, MEDCouplingFieldDouble& field) const ; - void reverseSendRecv(double* field, MEDCouplingFieldDouble& field) const ; + void sendRecv(double* sendfield, MEDCouplingFieldDouble& field) const ; + void reverseSendRecv(double* recvfield, MEDCouplingFieldDouble& field) const ; + // + const std::vector >& getSendingIds() const { return _sending_ids; } + const std::vector& getSendProcsOffsets() const { return _send_proc_offsets; } + void initialize(); + MPIAccessDEC* getAccessDEC(){ return _access_DEC; } private : ProcessorGroup* _union_group;