X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=src%2FStdMeshers%2FStdMeshers_Import_1D.cxx;h=7beb1e77c03137011c1829b2e3129ee5e8d7b034;hp=5a9880cd8f4a62aea7dbd6ba35fa866063a5fb63;hb=refs%2Ftags%2FV9_7_0a1;hpb=624e57e97d4aaea94f4318200b82f7756f27453a diff --git a/src/StdMeshers/StdMeshers_Import_1D.cxx b/src/StdMeshers/StdMeshers_Import_1D.cxx index 5a9880cd8..7beb1e77c 100644 --- a/src/StdMeshers/StdMeshers_Import_1D.cxx +++ b/src/StdMeshers/StdMeshers_Import_1D.cxx @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2020 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2021 CEA/DEN, EDF R&D, OPEN CASCADE // // Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS @@ -253,6 +253,7 @@ namespace // INTERNAL STUFF _chord2 = Max( _line. SquareDistance( curve->Value( uf + 0.25 * ( ul - uf ))), Max( _line.SquareDistance( curve->Value( uf + 0.5 * ( ul - uf ))), _line.SquareDistance( curve->Value( uf + 0.75 * ( ul - uf ))))); + _chord2 *= ( 1.05 * 1.05 ); // +5% _chord2 = Max( tol, _chord2 ); _chord = Sqrt( _chord2 ); @@ -944,8 +945,8 @@ bool StdMeshers_Import_1D::Compute(SMESH_Mesh & theMesh, const TopoDS_Shape & th SMESHDS_Mesh* tgtMesh = theMesh.GetMeshDS(); const TopoDS_Edge& geomEdge = TopoDS::Edge( theShape ); - const double edgeTol = BRep_Tool::Tolerance( geomEdge ); - const int shapeID = tgtMesh->ShapeToIndex( geomEdge ); + const double edgeTol = helper.MaxTolerance( geomEdge ); + const int shapeID = tgtMesh->ShapeToIndex( geomEdge ); double geomTol = Precision::Confusion(); @@ -1083,7 +1084,7 @@ bool StdMeshers_Import_1D::Compute(SMESH_Mesh & theMesh, const TopoDS_Shape & th } // loop on groups if ( n2n->empty()) - return error("Empty source groups"); + return error("Source groups are empty or mismatching geometry"); // check if the whole geom edge is covered by imported segments; // the check consist in passing by segments from one vetrex node to another @@ -1310,7 +1311,7 @@ bool StdMeshers_Import_1D::Evaluate(SMESH_Mesh & theMesh, if ( srcGroups.empty() ) return error("Invalid source groups"); - vector aVec(SMDSEntity_Last,0); + vector aVec(SMDSEntity_Last,0); bool toCopyMesh, toCopyGroups; _sourceHyp->GetCopySourceMesh(toCopyMesh, toCopyGroups);