+ // if we are looped and drawing sharp cusps, we'll need a value for the incoming tangent
+ if (loop && sharp_cusps && last_tangent.is_equal_to(Vector::zero()))
+ {
+ hermite<Vector> curve((iter-1)->get_vertex(), iter->get_vertex(), (iter-1)->get_tangent2(), iter->get_tangent1());
+ const derivative< hermite<Vector> > deriv(curve);
+ last_tangent=deriv(1.0-CUSP_TANGENT_ADJUST);
+ }
+
+ // `first' is for making the cusps; don't do that for the first point if we're not looped
+ for(bool first=!loop; next!=end; iter=next++)