diff --git a/crates/fj-core/src/validation/checks/half_edge_connection.rs b/crates/fj-core/src/validation/checks/half_edge_connection.rs index f38fbcf37..64166c553 100644 --- a/crates/fj-core/src/validation/checks/half_edge_connection.rs +++ b/crates/fj-core/src/validation/checks/half_edge_connection.rs @@ -3,7 +3,7 @@ use fj_math::{Point, Scalar}; use crate::{ geometry::Geometry, storage::Handle, - topology::{Cycle, Face, HalfEdge, Region, Sketch}, + topology::{Cycle, Face, HalfEdge, Region, Sketch, Surface}, validation::{validation_check::ValidationCheck, ValidationConfig}, }; @@ -63,7 +63,7 @@ impl ValidationCheck for AdjacentHalfEdgesNotConnected { geometry: &'r Geometry, config: &'r ValidationConfig, ) -> impl Iterator + 'r { - check_region(object.region(), geometry, config) + check_region(object.region(), object.surface(), geometry, config) } } @@ -73,26 +73,27 @@ impl ValidationCheck for AdjacentHalfEdgesNotConnected { geometry: &'r Geometry, config: &'r ValidationConfig, ) -> impl Iterator + 'r { - object - .regions() - .iter() - .flat_map(|region| check_region(region, geometry, config)) + object.regions().iter().flat_map(|region| { + check_region(region, object.surface(), geometry, config) + }) } } fn check_region<'r>( region: &'r Region, + surface: &'r Handle, geometry: &'r Geometry, config: &'r ValidationConfig, ) -> impl Iterator + 'r { [region.exterior()] .into_iter() .chain(region.interiors()) - .flat_map(|cycle| check_cycle(cycle, geometry, config)) + .flat_map(|cycle| check_cycle(cycle, surface, geometry, config)) } fn check_cycle<'r>( cycle: &'r Cycle, + _: &'r Handle, geometry: &'r Geometry, config: &'r ValidationConfig, ) -> impl Iterator + 'r {