diff --git a/crates/fj-core/src/operations/build/cycle.rs b/crates/fj-core/src/operations/build/cycle.rs index 5195766d0..7a6cc46c6 100644 --- a/crates/fj-core/src/operations/build/cycle.rs +++ b/crates/fj-core/src/operations/build/cycle.rs @@ -59,7 +59,9 @@ pub trait BuildCycle { [[a, b], [b, c], [c, d], [d, a]] .into_iter() .map(|[start, end]| { - HalfEdge::arc(start, end, angle, surface.clone(), core) + let (half_edge, _) = + HalfEdge::arc(start, end, angle, surface.clone(), core); + half_edge }); Cycle::new(half_edges) diff --git a/crates/fj-core/src/operations/build/half_edge.rs b/crates/fj-core/src/operations/build/half_edge.rs index f33791f53..45202e88b 100644 --- a/crates/fj-core/src/operations/build/half_edge.rs +++ b/crates/fj-core/src/operations/build/half_edge.rs @@ -50,7 +50,7 @@ pub trait BuildHalfEdge { angle_rad: impl Into, surface: Handle, core: &mut Core, - ) -> Handle { + ) -> (Handle, CurveBoundary>) { let angle_rad = angle_rad.into(); if angle_rad <= -Scalar::TAU || angle_rad >= Scalar::TAU { panic!("arc angle must be in the range (-2pi, 2pi) radians"); @@ -76,7 +76,7 @@ pub trait BuildHalfEdge { .geometry .define_half_edge(half_edge.clone(), HalfEdgeGeom { boundary }); - half_edge + (half_edge, boundary) } /// Create a line segment