Salome HOME
Replace WIN32 by DISABLE_PSMESH
authorYoann Audouin <yoann.audouin@edf.fr>
Tue, 28 Mar 2023 06:45:16 +0000 (08:45 +0200)
committerYoann Audouin <yoann.audouin@edf.fr>
Tue, 28 Mar 2023 06:45:16 +0000 (08:45 +0200)
src/SMESH/SMESH_DriverShape.cxx
src/SMESH/SMESH_Gen.cxx
src/SMESH/SMESH_Mesh.hxx
src/SMESH/SMESH_ParallelMesh.cxx
src/SMESH/SMESH_ParallelMesh.hxx

index 8efa1943f16e0ff6139123260047676559063bf3..9c3088ee42f936bc1d1f48a677182c5614348a33 100644 (file)
@@ -40,7 +40,7 @@
 //Occ include
 #include <TopoDS.hxx>
 
-#ifndef WIN32
+#ifndef DISABLE_PSMESH
 #include <boost/filesystem.hpp>
 #include <boost/algorithm/string.hpp>
 namespace fs = boost::filesystem;
@@ -148,7 +148,7 @@ int exportBREPShape(const std::string shape_file, const TopoDS_Shape& aShape){
  * @return error code
  */
 int SMESH_DriverShape::importShape(const std::string shape_file, TopoDS_Shape& aShape){
-#ifndef WIN32
+#ifndef DISABLE_PSMESH
   std::string type = fs::path(shape_file).extension().string();
   boost::algorithm::to_lower(type);
   if (type == ".brep"){
@@ -172,7 +172,7 @@ int SMESH_DriverShape::importShape(const std::string shape_file, TopoDS_Shape& a
  * @return error code
  */
 int SMESH_DriverShape::exportShape(const std::string shape_file, const TopoDS_Shape& aShape){
-#ifndef WIN32
+#ifndef DISABLE_PSMESH
   std::string type = fs::path(shape_file).extension().string();
   boost::algorithm::to_lower(type);
   if (type == ".brep"){
index 4a020890e93a29e92dd8c2cb91c4cf7642b045ad..a1e6a816c993ae6236266c04b6a7f831c3d1075f 100644 (file)
 
 #include <Basics_Utils.hxx>
 
-#ifndef WIN32
+#ifndef DISABLE_PSMESH
 #include <boost/asio.hpp>
 #endif
 
 using namespace std;
-#ifndef WIN32
+#ifndef DISABLE_PSMESH
 #include <boost/filesystem.hpp>
 namespace fs = boost::filesystem;
 #endif
@@ -307,7 +307,7 @@ bool SMESH_Gen::parallelComputeSubMeshes(
           const bool complexShapeFirst,
           const bool   aShapeOnly)
 {
-#ifdef WIN32
+#ifdef DISABLE_PSMESH
   throw SALOME_Exception("ParallelMesh is not working on Windows");
 #else
 
index c0cbb37b66c88b0694a366f6da9ba77be5118650..d889e1d999809fde2be074ad3eb09fcb8a2ced83 100644 (file)
@@ -49,7 +49,7 @@
 #include <vector>
 #include <ostream>
 
-#ifndef WIN32
+#ifndef DISABLE_PSMESH
 #include <boost/filesystem.hpp>
 #include <boost/asio/thread_pool.hpp>
 #endif
@@ -404,8 +404,10 @@ class SMESH_EXPORT SMESH_Mesh
 
   virtual bool IsParallel(){std::cout << "Should not pass here: IsParallel" << std::endl;return false;};
 
+#ifndef DISABLE_PSMESH
   virtual boost::filesystem::path GetTmpFolder() {return "";};
   virtual boost::asio::thread_pool* GetPool() {return NULL;};
+#endif
 
   virtual bool ComputeSubMeshes(
             SMESH_Gen* gen,
@@ -466,7 +468,7 @@ protected:
   TCallUp*                    _callUp;
 
   // Mutex for multhitreading write in SMESH_Mesh
-#ifndef WIN32
+#ifndef DISABLE_PSMESH
   boost::mutex _my_lock;
 #endif
   int _NbThreads=-1;
index 4b9f83ce5269adeec3e778cce4fcb4a0253f0652..a56658892e6c33658098973389bf67cec72fa35d 100644 (file)
   #include <windows.h>
 #endif
 
-#ifndef WIN32
+#ifndef DISABLE_PSMESH
 #include <boost/filesystem.hpp>
 namespace fs=boost::filesystem;
 #endif
 
-#ifndef WIN32
+#ifndef DISABLE_PSMESH
 #include <boost/asio.hpp>
 #endif
 
@@ -58,7 +58,11 @@ SMESH_ParallelMesh::SMESH_ParallelMesh(int               theLocalId,
                                                                   theDocument)
 {
   MESSAGE("SMESH_ParallelMesh::SMESH_ParallelMesh(int localId)");
+#ifndef DISABLE_PSMESH
   _NbThreads = std::thread::hardware_concurrency();
+#else
+  _NbThreads = 0;
+#endif
   CreateTmpFolder();
 };
 
@@ -78,7 +82,7 @@ SMESH_ParallelMesh::~SMESH_ParallelMesh()
 //=============================================================================
 void SMESH_ParallelMesh::CreateTmpFolder()
 {
-#ifndef WIN32
+#ifndef DISABLE_PSMESH
   // Temporary folder that will be used by parallel computation
   tmp_folder = fs::temp_directory_path()/fs::unique_path(fs::path("SMESH_%%%%-%%%%"));
   fs::create_directories(tmp_folder);
@@ -92,7 +96,7 @@ void SMESH_ParallelMesh::CreateTmpFolder()
 //=============================================================================
 void SMESH_ParallelMesh::DeleteTmpFolder()
 {
-#ifndef WIN32
+#ifndef DISABLE_PSMESH
     fs::remove_all(tmp_folder);
 #endif
 }
index 09a520681a69a8a2f5b3f7456a8d6674b2ebaec3..361d7fba1100a9f0dd17f8bbfcf9314d827fd15b 100644 (file)
@@ -42,6 +42,7 @@ class SMESH_EXPORT SMESH_ParallelMesh: public SMESH_Mesh
 
   virtual ~SMESH_ParallelMesh();
 
+#ifndef DISABLE_PSMESH
   void Lock() override {_my_lock.lock();};
   void Unlock() override {_my_lock.unlock();};
 
@@ -60,6 +61,22 @@ class SMESH_EXPORT SMESH_ParallelMesh: public SMESH_Mesh
 
   boost::filesystem::path GetTmpFolder() override {return tmp_folder;};
   boost::asio::thread_pool* GetPool() override {return _pool;};
+#else
+  void Lock() override {};
+  void Unlock() override {};
+
+  int GetNbThreads() override {return 0;};
+  void SetNbThreads(long nbThreads) {(void) nbThreads;};
+
+  void InitPoolThreads() override {};
+  void DeletePoolThreads() override {};
+  void wait() override {};
+
+  bool IsParallel() override {return false;};
+
+  void CreateTmpFolder();
+  void DeleteTmpFolder();
+#endif
 
   bool ComputeSubMeshes(
             SMESH_Gen* gen,
@@ -77,7 +94,9 @@ class SMESH_EXPORT SMESH_ParallelMesh: public SMESH_Mesh
   SMESH_ParallelMesh():SMESH_Mesh() {};
   SMESH_ParallelMesh(const SMESH_ParallelMesh& aMesh):SMESH_Mesh(aMesh) {};
  private:
+#ifndef DISABLE_PSMESH
   boost::filesystem::path tmp_folder;
   boost::asio::thread_pool *     _pool = nullptr; //thread pool for computation
+#endif
 };
 #endif