Salome HOME
Update of CheckDone
[modules/smesh.git] / src / SMESH / SMESH_Gen.cxx
index 48fc0da2f3b82d0872514fe1b43e612ad418d3b1..8b042cf00f2451808deda9a27c9e0ef257f0230b 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2023  CEA, EDF, OPEN CASCADE
+// Copyright (C) 2007-2024  CEA, EDF, OPEN CASCADE
 //
 // Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
@@ -394,7 +394,7 @@ bool SMESH_Gen::parallelComputeSubMeshes(
     // do not mesh vertices of a pseudo shape
     const TopoDS_Shape&        shape = smToCompute->GetSubShape();
     const TopAbs_ShapeEnum shapeType = shape.ShapeType();
-    // Not doing in parallel 1D and 2D meshes
+    // Not doing in parallel 1D meshes
     if ( !aMesh.HasShapeToMesh() && shapeType == TopAbs_VERTEX )
       continue;
 
@@ -402,22 +402,10 @@ bool SMESH_Gen::parallelComputeSubMeshes(
       // Waiting for all threads for the previous type to end
       aMesh.wait();
 
-      std::string file_name;
-      switch(previousShapeType){
-        case TopAbs_FACE:
-          file_name = "Mesh2D.med";
-          break;
-        //case TopAbs_EDGE:
-        //  file_name = "Mesh1D.med";
-        //  break;
-        //case TopAbs_VERTEX:
-        //  file_name = "Mesh0D.med";
-        //  break;
-        case TopAbs_SOLID:
-        default:
-          file_name = "";
-          break;
-      }
+      std::string file_name="";
+      if (previousShapeType == aParMesh.GetDumpElement())
+        file_name = "Mesh"+std::to_string(aParMesh.GetParallelismDimension()-1)+"D.med";
+
       if(file_name != "")
       {
         fs::path mesh_file = fs::path(aParMesh.GetTmpFolder()) / fs::path(file_name);
@@ -439,7 +427,7 @@ bool SMESH_Gen::parallelComputeSubMeshes(
       continue;
     }
     // Parallelism is only for 3D parts
-    if(shapeType!=TopAbs_SOLID){
+    if(shapeType!=aMesh.GetParallelElement()){
       compute_function(smToCompute, computeEvent,
                       shapeSM, aShapeOnly, allowedSubShapes,
                       aShapesId);