From 4381bb1c3aa13c49558748ec2c4483754ec92737 Mon Sep 17 00:00:00 2001 From: Hanno Braun Date: Wed, 19 Jun 2024 20:42:55 +0200 Subject: [PATCH] Prepare for follow-on change --- .../coincident_half_edges_are_not_siblings.rs | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/crates/fj-core/src/validation/checks/coincident_half_edges_are_not_siblings.rs b/crates/fj-core/src/validation/checks/coincident_half_edges_are_not_siblings.rs index 7b0a2da35..e3c56e8f6 100644 --- a/crates/fj-core/src/validation/checks/coincident_half_edges_are_not_siblings.rs +++ b/crates/fj-core/src/validation/checks/coincident_half_edges_are_not_siblings.rs @@ -184,14 +184,16 @@ fn distances( half_edge: &Handle, surface: &Handle, geometry: &Geometry, - ) -> Point<3> { + ) -> Option> { let [start, end] = geometry.of_half_edge(half_edge).boundary.inner; let path_coords = start + (end - start) * percent; let path = geometry.of_half_edge(half_edge).path; let surface_coords = path.point_from_path_coords(path_coords); - geometry - .of_surface(surface) - .point_from_surface_coords(surface_coords) + Some( + geometry + .of_surface(surface) + .point_from_surface_coords(surface_coords), + ) } // Three samples (start, middle, end), are enough to detect weather lines @@ -203,8 +205,8 @@ fn distances( let mut distances = Vec::new(); for i in 0..sample_count { let percent = i as f64 * step; - let sample1 = sample(percent, &half_edge_a, surface_a, geometry); - let sample2 = sample(1.0 - percent, &half_edge_b, surface_b, geometry); + let sample1 = sample(percent, &half_edge_a, surface_a, geometry)?; + let sample2 = sample(1.0 - percent, &half_edge_b, surface_b, geometry)?; distances.push(sample1.distance_to(&sample2)) } Some(distances.into_iter())