Salome HOME
[ICoCo] ICoCo interface version 2
[tools/medcoupling.git] / src / ParaMEDMEM_Swig / ParaMEDMEMCommon.i
index d2eb770f41dfcdb014366aa57aeffaf70cb26e6c..49526b5a18f18392b6b5064efe554f21204846d9 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2017-2020  CEA/DEN, EDF R&D
+// Copyright (C) 2017-2021  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
 #include "InterpKernelDEC.hxx"
 #include "NonCoincidentDEC.hxx"
 #include "StructuredCoincidentDEC.hxx"
+#include "OverlapDEC.hxx"
 #include "ParaMESH.hxx"
 #include "ParaFIELD.hxx"
-#include "ICoCoMEDField.hxx"
+#include "ICoCoMEDDoubleField.hxx"
+#include "ICoCoMEDIntField.hxx"
 #include "ComponentTopology.hxx"
 #include "ParaUMesh.hxx"
 #include "ParaSkyLineArray.hxx"
+#include "ParaDataArray.hxx"
 
 using namespace INTERP_KERNEL;
 using namespace MEDCoupling;
@@ -53,10 +56,7 @@ using namespace ICoCo;
 %include "DisjointDEC.hxx"
 %include "InterpKernelDEC.hxx"
 %include "StructuredCoincidentDEC.hxx"
-
-%include "ICoCoField.hxx"
-%rename(ICoCoMEDField) ICoCo::MEDField;
-%include "ICoCoMEDField.hxx"
+%include "OverlapDEC.hxx"
 
 %newobject MEDCoupling::ParaUMesh::New;
 %newobject MEDCoupling::ParaUMesh::getMesh;
@@ -66,6 +66,10 @@ using namespace ICoCo;
 %newobject MEDCoupling::ParaUMesh::redistributeCells;
 %newobject MEDCoupling::ParaUMesh::redistributeCellField;
 %newobject MEDCoupling::ParaUMesh::redistributeNodeField;
+%newobject MEDCoupling::ParaDataArrayInt32::New;
+%newobject MEDCoupling::ParaDataArrayInt32::buildComplement;
+%newobject MEDCoupling::ParaDataArrayInt64::New;
+%newobject MEDCoupling::ParaDataArrayInt64::buildComplement;
 %newobject MEDCoupling::ParaSkyLineArray::New;
 %newobject MEDCoupling::ParaSkyLineArray::equiRedistribute;
 %newobject MEDCoupling::ParaSkyLineArray::getSkyLineArray;
@@ -73,6 +77,8 @@ using namespace ICoCo;
 
 %feature("unref") ParaSkyLineArray "$this->decrRef();"
 %feature("unref") ParaUMesh "$this->decrRef();"
+%feature("unref") ParaDataArrayInt32 "$this->decrRef();"
+%feature("unref") ParaDataArrayInt64 "$this->decrRef();"
 
 %nodefaultctor;
 
@@ -202,6 +208,38 @@ namespace MEDCoupling
     }
   };
 
+  class ParaDataArray : public RefCountObject
+  {
+  };
+
+  class ParaDataArrayInt32 : public ParaDataArray
+  {
+  public:
+    static ParaDataArrayInt32 *New(DataArrayInt32 *seqDa);
+    DataArrayIdType *buildComplement(int nbOfElems) const;
+    %extend
+    {
+      ParaDataArrayInt32(DataArrayInt32 *seqDa)
+      {
+        return ParaDataArrayInt32::New(seqDa);
+      }
+    }
+  };
+
+  class ParaDataArrayInt64 : public ParaDataArray
+  {
+  public:
+    static ParaDataArrayInt64 *New(DataArrayInt64 *seqDa);
+    DataArrayIdType *buildComplement(long nbOfElems) const;
+    %extend
+    {
+      ParaDataArrayInt64(DataArrayInt64 *seqDa)
+      {
+        return ParaDataArrayInt64::New(seqDa);
+      }
+    }
+  };
+
   class ParaSkyLineArray : public RefCountObject
   {
   public:
@@ -279,3 +317,10 @@ public:
     return ret;
   }
 }
+
+%pythoncode %{
+if MEDCouplingUse64BitIDs():
+  ParaDataArrayInt = ParaDataArrayInt64
+else:
+  ParaDataArrayInt = ParaDataArrayInt32
+%}