|
|
@ -404,13 +404,11 @@ impl<'input> Turtle<'input> {
|
|
|
|
let last_point = std::cell::Cell::new(self.current_position);
|
|
|
|
let last_point = std::cell::Cell::new(self.current_position);
|
|
|
|
|
|
|
|
|
|
|
|
let mut ellipse = vec![];
|
|
|
|
let mut ellipse = vec![];
|
|
|
|
arc.for_each_cubic_bezier(&mut |cbs| {
|
|
|
|
arc.flattened(tolerance).for_each(|point| {
|
|
|
|
cbs.flattened(tolerance).for_each(|point| {
|
|
|
|
|
|
|
|
let point = self.current_transform.transform_point(point);
|
|
|
|
let point = self.current_transform.transform_point(point);
|
|
|
|
ellipse.append(&mut Self::linear_interpolation(point.x, point.y, z, f));
|
|
|
|
ellipse.append(&mut Self::linear_interpolation(point.x, point.y, z, f));
|
|
|
|
last_point.set(point);
|
|
|
|
last_point.set(point);
|
|
|
|
});
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
self.current_position = last_point.get();
|
|
|
|
self.current_position = last_point.get();
|
|
|
|
self.previous_control = None;
|
|
|
|
self.previous_control = None;
|
|
|
|