1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-08-14 13:30:48 +03:00

0029839: Modeling Algorithms - Unexpected Circle to BSpline surface extrema behavior

Extrema_ExtCS.cxx: treatment of small line segments is added;
Extrema_GenExtCS.cxx: treatment of particular cases curve-quadric and conic-surface are added
Extrema_GlobOptFuncCQuadric, Extrema_GlobOptFuncConicS: new distance functions for particular cases are added

BOPAlgo_PaveFiller_5.cxx : treatment of large common parts edge-face is improved
ElSLib.cxx : method TorusParameters(...) is modified to avoid divide by zero
math_PSOParticlesPool.cxx : initialization of array is added
This commit is contained in:
ifv
2020-05-15 16:17:34 +03:00
committed by bugmaster
parent 2a6b7c2306
commit e8e8b273bb
15 changed files with 1133 additions and 47 deletions

View File

@@ -424,8 +424,17 @@ void BOPAlgo_PaveFiller::PerformEF()
const TopoDS_Vertex& aV = TopoDS::Vertex(myDS->Shape(nV[j]));
const gp_Pnt aP = BRep_Tool::Pnt(aV);
Standard_Real aDistPP = aP.Distance(aPnew);
UpdateVertex(nV[j], aDistPP);
myVertsToAvoidExtension.Add(nV[j]);
Standard_Real aTol = BRep_Tool::Tolerance(aV);
Standard_Real aMaxDist = 1.e4 * aTol;
if (aTol < .01)
{
aMaxDist = Min(aMaxDist, 0.1);
}
if (aDistPP < aMaxDist)
{
UpdateVertex(nV[j], aDistPP);
myVertsToAvoidExtension.Add(nV[j]);
}
}
}
continue;