Salome HOME
[bos #38048] [EDF] (2023-T3) PARAMEDMEM Ergonomy.
[tools/medcoupling.git] / src / ParaMEDMEM / InterpKernelDEC.hxx
index 95c40f705ed23592f0a678e0d1209e9e66c61aea..3a8803a2279d8837d9aef2eba8c7e36d95a785e8 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2022  CEA/DEN, EDF R&D
+// Copyright (C) 2007-2024  CEA, EDF
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
@@ -130,19 +130,25 @@ namespace MEDCoupling
   public:  
     InterpKernelDEC();
     InterpKernelDEC(ProcessorGroup& source_group, ProcessorGroup& target_group);
-    InterpKernelDEC(const std::set<int>& src_ids, const std::set<int>& trg_ids,
-                    const MPI_Comm& world_comm=MPI_COMM_WORLD);
+    InterpKernelDEC(const std::set<int>& src_ids, const std::set<int>& trg_ids, const MPI_Comm& world_comm=MPI_COMM_WORLD);
+    InterpKernelDEC(ProcessorGroup& generic_group, const std::string& source_group, const std::string& target_group);
+    InterpKernelDEC(ProcessorGroup& generic_group, const std::string& interaction_group);
     virtual ~InterpKernelDEC();
     void release();
 
     void synchronize();
+    void synchronizeWithDefaultValue(double val);
+    MCAuto<DataArrayIdType> retrieveNonFetchedIds() const;
     void recvData();
     void recvData(double time);
     void sendData();
     void sendData(double time , double deltatime);
     void prepareSourceDE() { }
     void prepareTargetDE() { }
-  private :
+  private:
+    MCAuto<DataArrayIdType> retrieveNonFetchedIdsSource() const;
+    MCAuto<DataArrayIdType> retrieveNonFetchedIdsTarget() const;
+  private:
     InterpolationMatrix* _interpolation_matrix;
   };
 }