revert c3ab67dd now that this misbehaviour is understood.
authornick_m <mainsbridge@gmail.com>
Thu, 15 Dec 2016 15:52:39 +0000 (02:52 +1100)
committernick_m <mainsbridge@gmail.com>
Thu, 15 Dec 2016 15:52:39 +0000 (02:52 +1100)
libs/canvas/framed_curve.cc

index 7808f4e226ef44538d9833604d4842dfb6ca1da8..d5bb23f4e7f1d9bcbc2fffb745549e86a2d993f1 100644 (file)
@@ -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