0027079: Bad approximation of intersection curves with variable curvature
authorjgv <jgv@opencascade.com>
Mon, 20 Mar 2017 11:43:32 +0000 (14:43 +0300)
committerbugmaster <bugmaster@opencascade.com>
Fri, 16 Jun 2017 11:24:53 +0000 (14:24 +0300)
commit2c26a53d859acbc0d8d4985c209df0df6c13d312
treefd1190bbfd322e726e8dce669361b8368493aace
parent6c060ff2c468e847bb45413d98e2de2d6b7332e8
0027079: Bad approximation of intersection curves with variable curvature

    1. Method Approx_ComputeLine::Perform is modified: now it contains also recursive calls after new line computation made by new method ApproxInt_MultiLine::MakeMLOneMorePoint.
    2. New method MakeMLOneMorePoint is added to ApproxInt_MultiLine: it builds new sub-line as a part of main line with new point added into the middle of the longest interval between existing points.
    3. Method ShapeConstruct_ProjectCurveOnSurface::ApproxPCurve is modified to avoid regressions: now it takes care of the set of initial points to be enough close to each other so that an interval between two adjacent points is less than half-period of the surface.
    4. Modification in ShapeConstruct_ProjectCurveOnSurface: correction of pcurves of edges which extremities are in the singularities of surface.
29 files changed:
dox/dev_guides/upgrade/upgrade.md
src/AppDef/AppDef_Compute.hxx
src/AppDef/AppDef_MyLineTool.cxx
src/AppDef/AppDef_MyLineTool.hxx
src/Approx/Approx_ComputeLine.gxx
src/ApproxInt/ApproxInt_Approx.gxx
src/ApproxInt/ApproxInt_ImpPrmSvSurfaces.gxx
src/ApproxInt/ApproxInt_MultiLine.gxx
src/ApproxInt/ApproxInt_MultiLineTool.lxx
src/ApproxInt/ApproxInt_PrmPrmSvSurfaces.gxx
src/ApproxInt/ApproxInt_SvSurfaces.hxx
src/BRepApprox/BRepApprox_TheComputeLineBezierOfApprox.hxx
src/BRepApprox/BRepApprox_TheImpPrmSvSurfacesOfApprox.hxx
src/BRepApprox/BRepApprox_TheMultiLineOfApprox.hxx
src/BRepApprox/BRepApprox_TheMultiLineToolOfApprox.hxx
src/BRepApprox/BRepApprox_ThePrmPrmSvSurfacesOfApprox.hxx
src/GeomInt/GeomInt_TheComputeLineBezierOfWLApprox.hxx
src/GeomInt/GeomInt_TheImpPrmSvSurfacesOfWLApprox.hxx
src/GeomInt/GeomInt_TheMultiLineOfWLApprox.hxx
src/GeomInt/GeomInt_TheMultiLineToolOfWLApprox.hxx
src/GeomInt/GeomInt_ThePrmPrmSvSurfacesOfWLApprox.hxx
src/LocOpe/LocOpe_WiresOnShape.cxx
src/ShapeAnalysis/ShapeAnalysis_Surface.cxx
src/ShapeAnalysis/ShapeAnalysis_Surface.hxx
src/ShapeConstruct/ShapeConstruct_ProjectCurveOnSurface.cxx
src/ShapeConstruct/ShapeConstruct_ProjectCurveOnSurface.hxx
src/ShapeFix/ShapeFix_Edge.cxx
tests/bugs/modalg_6/bug27079_1 [new file with mode: 0644]
tests/bugs/modalg_6/bug27079_2 [new file with mode: 0644]