use flattening on ellipses after nical/lyon#662

master
Sameer Puri 4 years ago
parent d8965fd4f2
commit e9b23c16f1

12
Cargo.lock generated

@ -177,9 +177,9 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
[[package]] [[package]]
name = "libc" name = "libc"
version = "0.2.95" version = "0.2.96"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "789da6d93f1b866ffe175afc5322a4d76c038605a1c3319bb57b06967ca98a36" checksum = "5600b4e6efc5421841a2138a6b082e07fe12f9aaa12783d50e5d13325b26b4fc"
[[package]] [[package]]
name = "log" name = "log"
@ -192,9 +192,9 @@ dependencies = [
[[package]] [[package]]
name = "lyon_geom" name = "lyon_geom"
version = "0.17.1" version = "0.17.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d6b5d72694ade806440faf600defca6143dbe5499e90a9ec8caed62adbfd5db5" checksum = "1b63e4ad431a0d079d443e2f195d37ae062743886c73b83c1fd313bf1deec649"
dependencies = [ dependencies = [
"arrayvec", "arrayvec",
"euclid", "euclid",
@ -458,9 +458,9 @@ dependencies = [
[[package]] [[package]]
name = "syn" name = "syn"
version = "1.0.72" version = "1.0.73"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a1e8cdbefb79a9a5a65e0db8b47b723ee907b7c7f8496c76a1770b5c310bab82" checksum = "f71489ff30030d2ae598524f61326b902466f72a0fb1a8564c001cc63425bcc7"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",

@ -7,7 +7,7 @@ description = "Convert paths in SVG files to GCode for a pen plotter, laser engr
[dependencies] [dependencies]
g-code = "0.1.2" g-code = "0.1.2"
lyon_geom = "0" lyon_geom = ">= 0.17.2"
euclid = "0.22" euclid = "0.22"
structopt = "0.3" structopt = "0.3"
log = "0" log = "0"

@ -404,12 +404,10 @@ 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();

Loading…
Cancel
Save