summaryrefslogtreecommitdiff
path: root/libs/canvas/framed_curve.cc
diff options
context:
space:
mode:
authornick_m <mainsbridge@gmail.com>2016-12-16 02:52:39 +1100
committernick_m <mainsbridge@gmail.com>2016-12-16 02:52:39 +1100
commit49c6d1338637650556327c34fed041ba56cadf43 (patch)
tree7fde0aace854b63ea342d20676344accd3b75344 /libs/canvas/framed_curve.cc
parentd3ad6dc0019ac7853ff7a1732e5a4adc641f9ca3 (diff)
revert c3ab67dd now that this misbehaviour is understood.
Diffstat (limited to 'libs/canvas/framed_curve.cc')
-rw-r--r--libs/canvas/framed_curve.cc10
1 files changed, 8 insertions, 2 deletions
diff --git a/libs/canvas/framed_curve.cc b/libs/canvas/framed_curve.cc
index 7808f4e226..d5bb23f4e7 100644
--- a/libs/canvas/framed_curve.cc
+++ b/libs/canvas/framed_curve.cc
@@ -85,8 +85,14 @@ FramedCurve::interpolate ()
}
samples.clear ();
- InterpolatedCurve::interpolate (curve_points, points_per_segment, CatmullRomCentripetal, false, samples);
- n_samples = samples.size();
+ if (_points.size() == 3) {
+ samples.push_back (curve_points.front());
+ samples.push_back (curve_points.back());
+ n_samples = 2;
+ } else {
+ InterpolatedCurve::interpolate (curve_points, points_per_segment, CatmullRomCentripetal, false, samples);
+ n_samples = samples.size();
+ }
}
void