Skip to content

Commit 6eabde4

Browse files
committed
Fixed scale dependent runtime of curve network interpolation
1 parent 8e6f626 commit 6eabde4

2 files changed

Lines changed: 3 additions & 3 deletions

File tree

src/internal/BSplineAlgorithms.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -754,8 +754,8 @@ ApproxResult BSplineAlgorithms::reparametrizeBSplineContinuouslyApprox(const Han
754754
approximationObj.InterpolatePoint(idx, true);
755755
}
756756
#endif
757-
758-
ApproxResult result = approximationObj.FitCurveOptimal(parameters);
757+
758+
ApproxResult result = approximationObj.FitCurveOptimal(parameters, 1);
759759

760760
assert(!result.curve.IsNull());
761761

src/internal/BSplineApproxInterp.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -254,7 +254,7 @@ ApproxResult BSplineApproxInterp::FitCurveOptimal(const std::vector<double>& ini
254254
ApproxResult result = solve(parms, occKnots->Array1(), occMults->Array1());
255255
double old_error = result.error * 2.;
256256

257-
while(result.error > 0 && (old_error - result.error) / std::max(result.error, 1e-6) > 1e-3 && iteration < maxIter) {
257+
while(result.error > 0 && (old_error - result.error) / result.error > 1e-3 && iteration < maxIter) {
258258
old_error = result.error;
259259

260260
optimizeParameters(result.curve, parms);

0 commit comments

Comments
 (0)