]> SALOME platform Git repositories - tools/medcoupling.git/commitdiff
Salome HOME
Start to put some order in all options
authorAnthony Geay <anthony.geay@edf.fr>
Tue, 19 Dec 2017 07:20:29 +0000 (08:20 +0100)
committerAnthony Geay <anthony.geay@edf.fr>
Tue, 19 Dec 2017 07:20:29 +0000 (08:20 +0100)
src/MEDPartitioner/MEDPARTITIONER_MEDPartitioner.cxx
src/MEDPartitioner/MEDPARTITIONER_MEDPartitioner.hxx
src/MEDPartitioner_Swig/MEDPartitionerCommon.i
src/PyWrapping/CMakeLists.txt
src/PyWrapping/medcoupling.i
src/RENUMBER/RenumberingFactory.cxx
src/RENUMBER/RenumberingFactory.hxx
src/RENUMBER_Swig/CMakeLists.txt
src/RENUMBER_Swig/MEDRenumberImpl.i

index 86f8312e03b7aedfd675cbdd954cbc65c293f6f1..c1782c85d23f0c8d8af89eccc0cff05317f8f4cb 100644 (file)
 #include <iostream>
 #include <vector>
 
+const char MEDPARTITIONER::MEDPartitioner::METIS_PART_ALG[]="Metis";
+const char MEDPARTITIONER::MEDPartitioner::SCOTCH_PART_ALG[]="Scotch";
+const char MEDPARTITIONER::MEDPartitioner::PTSCOTCH_PART_ALG[]="PTScotch";
+
 MEDPARTITIONER::MEDPartitioner::MEDPartitioner(const std::string& filename, int ndomains, const std::string& library,bool create_boundary_faces, bool create_joints, bool mesure_memory):
   _input_collection( 0 ), _output_collection( 0 ), _new_topology( 0 )
 {
@@ -171,3 +175,18 @@ MEDPARTITIONER::Graph* MEDPARTITIONER::MEDPartitioner::Graph(MEDCoupling::MEDCou
     }
   return cellGraph;
 }
+
+std::vector<std::string> MEDPARTITIONER::MEDPartitioner::AvailableAlgorithms()
+{
+  std::vector<std::string> ret;
+#ifdef MED_ENABLE_METIS
+  ret.push_back(std::string(METIS_PART_ALG));
+#endif
+#ifdef MED_ENABLE_SCOTCH
+  ret.push_back(std::string(SCOTCH_PART_ALG));
+#endif
+#ifdef MED_ENABLE_PTSCOTCH
+  ret.push_back(std::string(PTSCOTCH_PART_ALG));
+#endif
+  return ret;
+}
index 0ea20435d647a56acb10778d8789fe3a2cd6e2c8..93a90cbabfc387bbf774b9666778762f95946cb1 100644 (file)
@@ -45,6 +45,7 @@ namespace MEDPARTITIONER
     MEDPartitioner(const MEDCoupling::MEDFileData* fileData, int ndomains=1, const std::string& library="metis",bool create_boundary_faces=false, bool create_joints=false, bool mesure_memory=false);
     MEDPartitioner(const MEDCoupling::MEDFileData* fileData, Graph* graph, bool create_boundary_faces=false, bool create_joints=false, bool mesure_memory=false);
     static MEDPARTITIONER::Graph* Graph(MEDCoupling::MEDCouplingSkyLineArray* graph, Graph::splitter_type split=Graph::METIS, int* edgeweight=0, DataArrayInt* vlbloctab=0);
+    static std::vector<std::string> AvailableAlgorithms();
     void write(const std::string& filename);
     MEDCoupling::MEDFileData* getMEDFileData();
     ~MEDPartitioner();
@@ -56,6 +57,10 @@ namespace MEDPARTITIONER
     MeshCollection* _input_collection;
     MeshCollection* _output_collection;
     Topology*       _new_topology;
+  public:
+    static const char METIS_PART_ALG[];
+    static const char SCOTCH_PART_ALG[];
+    static const char PTSCOTCH_PART_ALG[];
   };
 }
 #endif
index e67c75f896677dd28951154d7e7e97cfde1ab35e..7363c4dfbc47cdaf944509a27774ee0d4bac288b 100644 (file)
@@ -25,6 +25,8 @@
 using namespace MEDPARTITIONER;
 %}
 
+
+
 %newobject MEDPARTITIONER::MEDPartitioner::New;
 %newobject MEDPARTITIONER::MEDPartitioner::Graph;
 %newobject MEDPARTITIONER::MEDPartitioner::Graph::getGraph;
@@ -63,6 +65,7 @@ namespace MEDPARTITIONER
     MEDPartitioner(const MEDCoupling::MEDFileData* fileData, int ndomains=1, const std::string& library="metis",bool create_boundary_faces=false, bool create_joints=false, bool mesure_memory=false) throw(INTERP_KERNEL::Exception);
     MEDPartitioner(const MEDCoupling::MEDFileData* fileData, Graph* graph, bool create_boundary_faces=false, bool create_joints=false, bool mesure_memory=false) throw(INTERP_KERNEL::Exception);
     static MEDPARTITIONER::Graph* Graph(MEDCoupling::MEDCouplingSkyLineArray* graph, Graph::splitter_type split=Graph::METIS, int* edgeweight=0, MEDCoupling::DataArrayInt* vlbloctab=0) throw(INTERP_KERNEL::Exception);
+    static std::vector<std::string> AvailableAlgorithms();
     MEDCoupling::MEDFileData* getMEDFileData() throw(INTERP_KERNEL::Exception);
     void write(const std::string& filename) throw(INTERP_KERNEL::Exception);
   };
index 3f041c0b73201362b06e14c63e97ee191090ba02..059edbbcbcbfc3431a213dcfbddc9b0c9eaf8f1e 100644 (file)
@@ -65,15 +65,6 @@ ENDIF(NOT MEDCOUPLING_MICROMED)
 IF(MEDCOUPLING_ENABLE_RENUMBER)
   LIST(APPEND SWIG_MODULE_medcoupling_EXTRA_FLAGS -DWITH_RENUMBER)
   LIST(APPEND medcoupling_LIB_dependancies renumbercpp)
-
-  IF(Boost_FOUND)
-    LIST(APPEND SWIG_MODULE_medcoupling_EXTRA_FLAGS -DHAS_BOOST)
-  ENDIF(Boost_FOUND)
-  
-  IF(METIS_FOUND)
-    LIST(APPEND SWIG_MODULE_medcoupling_EXTRA_FLAGS -DHAS_METIS)
-  ENDIF(METIS_FOUND)
-  
 ENDIF(MEDCOUPLING_ENABLE_RENUMBER)
 
 IF(MEDCOUPLING_ENABLE_PARTITIONER)
index bce7790ca494731110d60b0c938d6ecf4f2c8e93..79395956fd821408cdae293f396f32a2c2c42516 100644 (file)
 %include "MEDPartitionerCommon.i"
 #endif
 
+
+%{
+  static const char SEQ_INTERPOL_EXT[]="Sequential interpolator";
+  static const char MEDFILEIO_EXT[]="MED file I/O";
+  static const char RENUM_EXT[]="Renumbering";
+  static const char PART_EXT[]="Partitioner";
+  static const char PAR_INTERPOL_EXT[]="Parallel interpolator";
+  
+  static const char *EXTENSIONS[]={SEQ_INTERPOL_EXT,MEDFILEIO_EXT,RENUM_EXT,PART_EXT,PAR_INTERPOL_EXT};
+  static const int NB_OF_EXTENSIONS=sizeof(EXTENSIONS)/sizeof(const char *);
+%}
+
+%inline
+{
+  std::vector<std::string> Extensions()
+  {
+    std::vector<std::string> ret;
+    ret.push_back(std::string(SEQ_INTERPOL_EXT));
+#ifdef WITH_MED_FILE
+    ret.push_back(std::string(MEDFILEIO_EXT));
+#endif
+#ifdef WITH_RENUMBER
+    ret.push_back(std::string(RENUM_EXT));
+#endif
+#ifdef WITH_PARTITIONER
+    ret.push_back(std::string(PART_EXT));
+#endif
+    return ret;
+  }
+}
+
 %pythoncode %{
 def MEDCouplingDataArrayDoubleIadd(self,*args):
     import _medcoupling
index 93b5ad3e646f9d0e699fdc43a6240d4a43444070..9bef7b9bad617002571eef57a21ecc275b8a8b62 100644 (file)
 using namespace std;
 
 namespace MED_RENUMBER
-{
+{ 
   Renumbering* RenumberingFactory(const string &s)
   {
 #ifdef MED_ENABLE_METIS
 #ifdef ENABLE_BOOST
-    if (s=="METIS")
+    if (s==METIS_ALG)
       {
         return new METISRenumbering;
       }
-    else if(s=="BOOST")
+    else if(s==BOOST_ALG)
       {
         return new BOOSTRenumbering;
       }
@@ -51,7 +51,7 @@ namespace MED_RENUMBER
       }
 #endif
 #ifndef ENABLE_BOOST
-    if (s=="METIS")
+    if (s==METIS_ALG)
       {
         return new METISRenumbering;
       }
@@ -64,7 +64,7 @@ namespace MED_RENUMBER
 #endif
 #ifndef MED_ENABLE_METIS
 #ifdef ENABLE_BOOST
-    if (s=="BOOST")
+    if (s==BOOST_ALG)
       {
         return new BOOSTRenumbering;
       }
@@ -80,4 +80,16 @@ namespace MED_RENUMBER
 #endif
 #endif
   }
+  
+  std::vector<std::string> RenumberAvailableMethods()
+  {
+    std::vector<std::string> ret;
+#ifdef ENABLE_BOOST
+    ret.push_back(std::string(BOOST_ALG));
+#endif
+#ifdef MED_ENABLE_METIS
+    ret.push_back(std::string(METIS_ALG));
+#endif
+    return ret;
+  }
 }
index 90cfe9ee058d17dda707eb7c3b5371a682a310ba..a54d52068bfe238e9653c227beb9978c6838573a 100644 (file)
@@ -28,6 +28,9 @@
 namespace MED_RENUMBER
 {
   RENUMBER_EXPORT Renumbering* RenumberingFactory(const std::string& s);
+  RENUMBER_EXPORT std::vector<std::string> RenumberAvailableMethods();
+  const char METIS_ALG[]="METIS";
+  const char BOOST_ALG[]="BOOST";
 }
 
 #endif /*RENUMBERINGFACTORY_HXX_*/
index b1b9a0ebe48ae829d3fc686377b6f1e3bf22fb1f..0ec67e031bd7c90fed2717fd8d9f4a1fa52e15a2 100644 (file)
@@ -29,14 +29,6 @@ ELSE()
 ENDIF()
 SET(SWIG_MODULE_MEDRenumber_EXTRA_FLAGS "${NUMPY_DEFINITIONS};${SCIPY_DEFINITIONS};-DWITHOUT_AUTOFIELD")
 
-IF(Boost_FOUND)
-  SET(SWIG_MODULE_MEDRenumber_EXTRA_FLAGS -DHAS_BOOST ${SWIG_MODULE_MEDRenumber_EXTRA_FLAGS})
-ENDIF(Boost_FOUND)
-
-IF(METIS_FOUND)
-  SET(SWIG_MODULE_MEDRenumber_EXTRA_FLAGS -DHAS_METIS ${SWIG_MODULE_MEDRenumber_EXTRA_FLAGS})
-ENDIF(METIS_FOUND)
-
 SET (MEDRenumber_SWIG_DPYS_FILES
   MEDRenumberCommon.i
   MEDRenumberImpl.i)
index 2708917605050ba7a1d268f7e30a048a96edfcab..4aabc832bf104761ca99606380b7cf404d02fba0 100644 (file)
@@ -52,19 +52,5 @@ public:
 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;
-  }
+  std::vector<std::string> RenumberAvailableMethods();
 }