Moving variables into parallel meshw

This commit is contained in:
Yoann Audouin 2023-01-12 07:59:46 +01:00
parent 9299033da1
commit 1df51f2b07
3 changed files with 12 additions and 5 deletions

View File

@ -360,7 +360,7 @@ bool SMESH_Gen::parallelComputeSubMeshes(
}
if(file_name != "")
{
fs::path mesh_file = fs::path(aMesh.tmp_folder) / fs::path(file_name);
fs::path mesh_file = fs::path(aMesh.GetTmpFolder()) / fs::path(file_name);
SMESH_DriverMesh::exportMesh(mesh_file.string(), aMesh, "MESH");
}
//Resetting threaded pool info
@ -375,7 +375,7 @@ bool SMESH_Gen::parallelComputeSubMeshes(
smToCompute->ComputeStateEngine( SMESH_subMesh::CHECK_COMPUTE_STATE );
continue;
}
boost::asio::post(*(aMesh._pool), std::bind(compute_function, smToCompute, computeEvent,
boost::asio::post(*(aMesh.GetPool()), std::bind(compute_function, smToCompute, computeEvent,
shapeSM, aShapeOnly, allowedSubShapes,
aShapesId));
}

View File

@ -404,6 +404,9 @@ class SMESH_EXPORT SMESH_Mesh
virtual bool IsParallel(){std::cout << "Should not pass here" << std::endl;return false;};
virtual boost::filesystem::path GetTmpFolder() {return "";};
virtual boost::asio::thread_pool* GetPool() {return NULL;};
virtual bool ComputeSubMeshes(
SMESH_Gen* gen,
SMESH_Mesh & aMesh,
@ -416,9 +419,6 @@ class SMESH_EXPORT SMESH_Mesh
const bool complexShapeFirst,
const bool aShapeOnly){(void) gen;(void) aMesh;(void) aShape;(void) aDim;(void) aShapesId;(void) allowedSubShapes;(void) computeEvent;(void) includeSelf;(void) complexShapeFirst;(void) aShapeOnly;std::cout << "Should not pass here" << std::endl;return false;};
// TODO: Remove from SMESH_Mesh
boost::filesystem::path tmp_folder;
boost::asio::thread_pool * _pool = nullptr; //thread pool for computation
private:
void exportMEDCommmon(DriverMED_W_SMESHDS_Mesh& myWriter,

View File

@ -58,6 +58,9 @@ class SMESH_EXPORT SMESH_ParallelMesh: public SMESH_Mesh
void CreateTmpFolder();
void DeleteTmpFolder();
boost::filesystem::path GetTmpFolder() override {return tmp_folder;};
boost::asio::thread_pool* GetPool() override {return _pool;};
bool ComputeSubMeshes(
SMESH_Gen* gen,
SMESH_Mesh & aMesh,
@ -69,5 +72,9 @@ class SMESH_EXPORT SMESH_ParallelMesh: public SMESH_Mesh
const bool includeSelf,
const bool complexShapeFirst,
const bool aShapeOnly) override;
private:
boost::filesystem::path tmp_folder;
boost::asio::thread_pool * _pool = nullptr; //thread pool for computation
};
#endif