From ec6b7ad88eb6733b2b19664aa059863c9dbe70e6 Mon Sep 17 00:00:00 2001 From: Sameer Puri Date: Sun, 25 Aug 2019 15:46:13 -0500 Subject: [PATCH] Update codebase to support euclid ^0.20 --- Cargo.lock | 6 +++--- src/turtle.rs | 56 +++++++++++++++++++++++++-------------------------- 2 files changed, 31 insertions(+), 31 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index e458d9b..f5e9197 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -266,7 +266,7 @@ dependencies = [ [[package]] name = "typenum" -version = "1.10.0" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -280,7 +280,7 @@ version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", - "typenum 1.10.0 (registry+https://github.com/rust-lang/crates.io-index)", + "typenum 1.11.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -364,7 +364,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" "checksum termcolor 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "96d6098003bde162e4277c70665bd87c326f5a0c3f3fbfb285787fa482d54e6e" "checksum textwrap 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060" "checksum thread_local 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" = "c6b53e329000edc2b34dbe8545fd20e55a333362d0a321909685a19bd28c3f1b" -"checksum typenum 1.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "612d636f949607bdf9b123b4a6f6d966dedf3ff669f7f045890d3a4a73948169" +"checksum typenum 1.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "9af116643fb2603767cc7850b2f70b571ae451a2abe795acbf01747dfd33aa70" "checksum unicode-width 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "7007dbd421b92cc6e28410fe7362e2e0a2503394908f417b68ec8d1c364c4e20" "checksum uom 0.25.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3198c29f199fa8a23d732f4aa21ddc4f4d0a257cb0c2a44afea30145ce2575c1" "checksum vec_map 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "05c78687fb1a80548ae3250346c3db86a80a7cdd77bda190189f2d0a0987c81a" diff --git a/src/turtle.rs b/src/turtle.rs index e92185e..1e8de06 100644 --- a/src/turtle.rs +++ b/src/turtle.rs @@ -1,6 +1,6 @@ use crate::code::GCode; use crate::machine::Machine; -use lyon_geom::euclid::{Angle, Transform2D}; +use lyon_geom::euclid::{Angle, default::Transform2D}; use lyon_geom::math::{point, vector, F64Point}; use lyon_geom::{ArcFlags, CubicBezierSegment, QuadraticBezierSegment, SvgArc}; @@ -46,7 +46,7 @@ impl Turtle { Y: Into>, { let invtran = self.curtran.inverse().unwrap(); - let origcurpos = invtran.transform_point(&self.curpos); + let origcurpos = invtran.transform_point(self.curpos); let x = x .into() .map(|x| if abs { x } else { origcurpos.x + x }) @@ -57,7 +57,7 @@ impl Turtle { .unwrap_or(origcurpos.y); let mut to = point(x, y); - to = self.curtran.transform_point(&to); + to = self.curtran.transform_point(to); self.curpos = to; self.initpos = to; self.prev_ctrl = None; @@ -83,7 +83,7 @@ impl Turtle { // See https://www.w3.org/TR/SVG/paths.html#Segment-CompletingClosePath which could result in a G91 G1 X0 Y0 if (self.curpos - self.initpos) .abs() - .lower_than(&vector(std::f64::EPSILON, std::f64::EPSILON)) + .lower_than(vector(std::f64::EPSILON, std::f64::EPSILON)) .all() { return vec![]; @@ -112,7 +112,7 @@ impl Turtle { F: Into>, { let invtran = self.curtran.inverse().unwrap(); - let origcurpos = invtran.transform_point(&self.curpos); + let origcurpos = invtran.transform_point(self.curpos); let x = x .into() .map(|x| if abs { x } else { origcurpos.x + x }) @@ -123,7 +123,7 @@ impl Turtle { .unwrap_or(origcurpos.y); let mut to = point(x, y); - to = self.curtran.transform_point(&to); + to = self.curtran.transform_point(to); self.curpos = to; self.prev_ctrl = None; @@ -199,14 +199,14 @@ impl Turtle { let mut to = point(x, y); if !abs { let invtran = self.curtran.inverse().unwrap(); - let origcurpos = invtran.transform_point(&self.curpos); + let origcurpos = invtran.transform_point(self.curpos); ctrl1 += origcurpos.to_vector(); ctrl2 += origcurpos.to_vector(); to += origcurpos.to_vector(); } - ctrl1 = self.curtran.transform_point(&ctrl1); - ctrl2 = self.curtran.transform_point(&ctrl2); - to = self.curtran.transform_point(&to); + ctrl1 = self.curtran.transform_point(ctrl1); + ctrl2 = self.curtran.transform_point(ctrl2); + to = self.curtran.transform_point(to); let cbs = lyon_geom::CubicBezierSegment { from, ctrl1, @@ -238,12 +238,12 @@ impl Turtle { let mut to = point(x, y); if !abs { let invtran = self.curtran.inverse().unwrap(); - let origcurpos = invtran.transform_point(&self.curpos); + let origcurpos = invtran.transform_point(self.curpos); ctrl2 += origcurpos.to_vector(); to += origcurpos.to_vector(); } - ctrl2 = self.curtran.transform_point(&ctrl2); - to = self.curtran.transform_point(&to); + ctrl2 = self.curtran.transform_point(ctrl2); + to = self.curtran.transform_point(to); let cbs = lyon_geom::CubicBezierSegment { from, ctrl1, @@ -272,10 +272,10 @@ impl Turtle { let mut to = point(x, y); if !abs { let invtran = self.curtran.inverse().unwrap(); - let origcurpos = invtran.transform_point(&self.curpos); + let origcurpos = invtran.transform_point(self.curpos); to += origcurpos.to_vector(); } - to = self.curtran.transform_point(&to); + to = self.curtran.transform_point(to); let qbs = QuadraticBezierSegment { from, ctrl, to }; self.bezier(qbs.to_cubic(), tolerance, z, f) @@ -301,12 +301,12 @@ impl Turtle { let mut to = point(x, y); if !abs { let invtran = self.curtran.inverse().unwrap(); - let origcurpos = invtran.transform_point(&self.curpos); + let origcurpos = invtran.transform_point(self.curpos); to += origcurpos.to_vector(); ctrl += origcurpos.to_vector(); } - ctrl = self.curtran.transform_point(&ctrl); - to = self.curtran.transform_point(&to); + ctrl = self.curtran.transform_point(ctrl); + to = self.curtran.transform_point(to); let qbs = QuadraticBezierSegment { from, ctrl, to }; self.bezier(qbs.to_cubic(), tolerance, z, f) @@ -334,15 +334,15 @@ impl Turtle { let f = f.into(); let from = self.curpos; - let mut to = point(x, y); - to = self.curtran.transform_point(&to); + let mut to: F64Point = point(x, y); + to = self.curtran.transform_point(to); if !abs { to -= vector(self.curtran.m31, self.curtran.m32); to += self.curpos.to_vector(); } let mut radii = vector(rx, ry); - radii = self.curtran.transform_vector(&radii); + radii = self.curtran.transform_vector(radii); let sarc = SvgArc { from, @@ -378,9 +378,9 @@ impl Turtle { } pub fn stack_scaling(&mut self, scaling: Transform2D) { - self.curtran = self.curtran.post_mul(&scaling); + self.curtran = self.curtran.post_transform(&scaling); if let Some(ref current_scaling) = self.scaling { - self.scaling = Some(current_scaling.post_mul(&scaling)); + self.scaling = Some(current_scaling.post_transform(&scaling)); } else { self.scaling = Some(scaling); } @@ -391,11 +391,11 @@ impl Turtle { if let Some(ref scaling) = self.scaling { self.curtran = self .curtran - .post_mul(&scaling.inverse().unwrap()) - .pre_mul(&trans) - .post_mul(&scaling); + .post_transform(&scaling.inverse().unwrap()) + .pre_transform(&trans) + .post_transform(&scaling); } else { - self.curtran = self.curtran.post_mul(&trans); + self.curtran = self.curtran.post_transform(&trans); } } @@ -408,7 +408,7 @@ impl Turtle { pub fn reset(&mut self) { self.curpos = point(0.0, 0.0); - self.curpos = self.curtran.transform_point(&self.curpos); + self.curpos = self.curtran.transform_point(self.curpos); self.prev_ctrl = None; self.initpos = self.curpos; }