From b363bece4507e9c4e72fa19a822539015439669a Mon Sep 17 00:00:00 2001 From: cconopoima Date: Thu, 24 Aug 2023 15:59:13 +0100 Subject: [PATCH] bos #37027 [EDF] Define more general geomTol value to detect mesh edges in geom edges in 1D meshing import. . .. --- src/StdMeshers/StdMeshers_Import_1D.cxx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/StdMeshers/StdMeshers_Import_1D.cxx b/src/StdMeshers/StdMeshers_Import_1D.cxx index 1d4dd738f..cd63e7c39 100644 --- a/src/StdMeshers/StdMeshers_Import_1D.cxx +++ b/src/StdMeshers/StdMeshers_Import_1D.cxx @@ -948,20 +948,20 @@ bool StdMeshers_Import_1D::Compute(SMESH_Mesh & theMesh, const TopoDS_Shape & th const double edgeTol = helper.MaxTolerance( geomEdge ); const int shapeID = tgtMesh->ShapeToIndex( geomEdge ); - double geomTol = Precision::Confusion(); + double minGeomTol = std::numeric_limits::max(); + for ( size_t iG = 0; iG < srcGroups.size(); ++iG ) { const SMESHDS_GroupBase* srcGroup = srcGroups[iG]->GetGroupDS(); for ( SMDS_ElemIteratorPtr srcElems = srcGroup->GetElements(); srcElems->more(); ) { const SMDS_MeshElement* edge = srcElems->next(); - geomTol = Sqrt( 0.5 * ( getMinEdgeLength2( edge->GetNode(0) ) + - getMinEdgeLength2( edge->GetNode(1) ))) / 25; - iG = srcGroups.size(); - break; + minGeomTol = std::min( Sqrt( getMinEdgeLength2( edge->GetNode(0) )) / 25, minGeomTol ); + geomTol = minGeomTol; } } + CurveProjector curveProjector( geomEdge, geomTol ); // get nodes on vertices -- 2.30.2