From ab5e759b64426dbb07809ef7666918d4edda88d7 Mon Sep 17 00:00:00 2001 From: jfa Date: Wed, 25 Oct 2023 15:29:56 +0100 Subject: [PATCH] 0033433: Shape Healing - Implement a new mode to keep initial types of curves. Fix b-spline curves treatment. --- src/ShapeFix/ShapeFix_Wire.cxx | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/ShapeFix/ShapeFix_Wire.cxx b/src/ShapeFix/ShapeFix_Wire.cxx index 566456951b..b54d03ab11 100644 --- a/src/ShapeFix/ShapeFix_Wire.cxx +++ b/src/ShapeFix/ShapeFix_Wire.cxx @@ -1478,10 +1478,9 @@ Standard_Boolean ShapeFix_Wire::FixCurves(const Standard_Integer theIdx) else if (aCurve3d->IsKind(STANDARD_TYPE(Geom_BSplineCurve))) { Handle(Geom_BSplineCurve) anOld = Handle(Geom_BSplineCurve)::DownCast(aCurve3d); - Standard_Integer f, l; int p = anEnds[0].Distance(aGeomEnds[0]) < anEnds[1].Distance(aGeomEnds[0]) ? 0 : 2; - anOld->MovePoint(aCurBounds[0], anEnds[p], 1, 1, f, l); - anOld->MovePoint(aCurBounds[2], anEnds[2-p], anOld->NbPoles(), anOld->NbPoles(), f, l); + anOld->SetPole(1, anEnds[p]); + anOld->SetPole(anOld->NbPoles(), anEnds[2-p]); return true; } else if (aCurve3d->IsKind(STANDARD_TYPE(Geom_BezierCurve)))