diff --git a/libraries/path-bool/src/lib.rs b/libraries/path-bool/src/lib.rs index fb142a2a3d..eced201893 100644 --- a/libraries/path-bool/src/lib.rs +++ b/libraries/path-bool/src/lib.rs @@ -27,26 +27,10 @@ pub use parsing::path_data::{path_from_path_data, path_to_path_data}; pub use path_boolean::{path_boolean, BooleanError, FillRule, PathBooleanOperation, EPS}; pub use path_segment::PathSegment; -pub fn sort_paths(paths: &mut [Vec]) { - for path in paths.iter_mut() { - let min = path - .iter() - .min_by(|a, b| (a.start().x, a.start().y).partial_cmp(&(b.start().x, b.start().y)).unwrap_or(std::cmp::Ordering::Less)); - let index = path.iter().position(|p| p.start() == min.unwrap().start()); - // dbg!(&path); - dbg!(index); - // path.rotate_left(index.unwrap()); - // dbg!(&path); - // path.rotate_left(20); - } - paths.sort_unstable_by(|a, b| a[0].start().x.partial_cmp(&b[0].start().x).unwrap_or(std::cmp::Ordering::Less)); -} - #[cfg(test)] mod test { use crate::path_boolean::{self, FillRule, PathBooleanOperation}; use crate::path_data::{path_from_path_data, path_to_path_data}; - use crate::sort_paths; use path_boolean::path_boolean; #[test] @@ -326,7 +310,5 @@ mod test { // Add more specific assertions about the resulting path if needed assert_eq!(result.len(), 1); assert!(!result[0].is_empty()); - sort_paths(&mut result); - // dbg!(path_to_path_data(&result[0], 0.001)); } } diff --git a/node-graph/gstd/src/vector.rs b/node-graph/gstd/src/vector.rs index cf7b6c0aec..760bb9bcd9 100644 --- a/node-graph/gstd/src/vector.rs +++ b/node-graph/gstd/src/vector.rs @@ -328,10 +328,7 @@ fn boolean_union(a: Path, b: Path) -> Vec { fn path_bool(a: Path, b: Path, op: PathBooleanOperation) -> Vec { match path_bool::path_boolean(&a, FillRule::NonZero, &b, FillRule::NonZero, op) { - Ok(mut results) => { - path_bool::sort_paths(&mut results); - results - } + Ok(results) => results, Err(e) => { let a_path = path_bool::path_to_path_data(&a, 0.001); let b_path = path_bool::path_to_path_data(&b, 0.001);