_fineness = NETGENPlugin_Hypothesis::GetDefaultFineness();
mparams.uselocalh = NETGENPlugin_Hypothesis::GetDefaultSurfaceCurvature();
netgen::merge_solids = NETGENPlugin_Hypothesis::GetDefaultFuseEdges();
+
+#ifdef NETGEN_V6
+
+ mparams.nthreads = std::thread::hardware_concurrency();
+
+ if ( getenv( "SALOME_NETGEN_DISABLE_MULTITHREADING" ))
+ {
+ mparams.nthreads = 1;
+ mparams.parallel_meshing = false;
+ }
+
+#endif
}
//=============================================================================
netgen::Mesh* & ngMesh )
{
int err = 0;
-#ifdef NETGEN_V6
-
if ( !ngMesh )
ngMesh = new netgen::Mesh;
+
+#ifdef NETGEN_V6
+
ngMesh->SetGeometry( shared_ptr<netgen::NetgenGeometry>( &occgeo, &NOOP_Deleter ));
netgen::mparam.perfstepsstart = startWith;