Salome HOME
Updated copyright comment
[tools/medcoupling.git] / src / RENUMBER_Swig / MEDRenumberCommon.i
index 85f5d7e7c6d4b377eabf343227fe4699251287fa..717b15d775ecd634921b7984b4c3c71546c1052e 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2015  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
 //
 // Author : Anthony Geay (CEA/DEN)
 
-%module MEDRenumber
-
 %include std_vector.i
 %include std_string.i
 
+%include "MEDCouplingCommon.i"
+
 %{
-#include "MEDCouplingMemArray.hxx"
-#include "MEDCouplingAutoRefCountObjectPtr.hxx"
+#include "MEDCouplingMemArray.txx"
+#include "MCAuto.hxx"
 #include "MEDCouplingDataArrayTypemaps.i"
 
-#include "RenumberingFactory.hxx"
-#include "RENUMBER_Renumbering.hxx"
-
-using namespace ParaMEDMEM;
+using namespace MEDCoupling;
 using namespace INTERP_KERNEL;
- using namespace MED_RENUMBER;
 %}
 
 %template(ivec) std::vector<int>;
@@ -44,11 +40,11 @@ using namespace INTERP_KERNEL;
 %init %{ import_array(); %}
 #endif
 
+%init %{ initializeMe_renumber(); %}
+
 %feature("autodoc", "1");
 %feature("docstring");
 
-%newobject MED_RENUMBER::RenumberingFactory;
-
 %nodefaultctor;
 
 %rename (InterpKernelException) INTERP_KERNEL::Exception;
@@ -56,52 +52,20 @@ using namespace INTERP_KERNEL;
 %include "MEDCouplingRefCountObject.i"
 %include "MEDCouplingMemArray.i"
 
-class Renumbering
-{
-public:
-  %extend
-  {
-    virtual PyObject *renumber(const ParaMEDMEM::DataArrayInt *graph, const ParaMEDMEM::DataArrayInt *index_graph) throw(INTERP_KERNEL::Exception)
-    {
-      if(!graph || !index_graph)
-        throw INTERP_KERNEL::Exception("wrap of Renumbering::renumber : One of the input arrays is NULL !");
-      if(!graph->isAllocated() || !index_graph->isAllocated())
-        throw INTERP_KERNEL::Exception("wrap of Renumbering::renumber : One of the input arrays is not allocated !");
-      ParaMEDMEM::DataArrayInt *out0(0),*out1(0);
-      self->renumber(graph->begin(),index_graph->begin(),index_graph->getNumberOfTuples()-1,out0,out1);
-      PyObject *ret=PyTuple_New(2);
-      PyTuple_SetItem(ret,0,SWIG_NewPointerObj(SWIG_as_voidptr(out0),SWIGTYPE_p_ParaMEDMEM__DataArrayInt, SWIG_POINTER_OWN | 0 ));
-      PyTuple_SetItem(ret,1,SWIG_NewPointerObj(SWIG_as_voidptr(out1),SWIGTYPE_p_ParaMEDMEM__DataArrayInt, SWIG_POINTER_OWN | 0 ));
-      return ret;
-    }
+%{
+  void initializeMe_renumber()
+  {// AGY : here initialization of C++ traits in MEDCouplingDataArrayTypemaps.i for code factorization. Awful, I know, but no other solutions.
+    SWIGTITraits<double>::TI=SWIGTYPE_p_MEDCoupling__DataArrayDouble;
+    SWIGTITraits<float>::TI=SWIGTYPE_p_MEDCoupling__DataArrayFloat;
   }
-  virtual ~Renumbering();
-};
-
-namespace MED_RENUMBER
-{
-  Renumbering *RenumberingFactory(const std::string& s) throw(INTERP_KERNEL::Exception);
-}
+%}
 
-%inline
-{
-  std::vector<std::string> RenumberAvailableMethods()throw(INTERP_KERNEL::Exception)
-  {
-    std::vector<std::string> ret;
-#ifdef HAS_BOOST
-    ret.push_back(std::string("BOOST"));
-#endif
-#ifdef HAS_METIS
-    ret.push_back(std::string("METIS"));
-#endif
-    return ret;
-  }
-}
+%include "MEDRenumberImpl.i"
 
 %pythoncode %{
 import os
 __filename=os.environ.get('PYTHONSTARTUP')
 if __filename and os.path.isfile(__filename):
-  execfile(__filename)
-  pass
+  with open(__filename) as __fp:
+        exec(__fp.read())
 %}