diff --git a/crates/fj-kernel/src/algorithms/reverse/cycle.rs b/crates/fj-kernel/src/algorithms/reverse/cycle.rs index 7ec00c5bc..45e67bc30 100644 --- a/crates/fj-kernel/src/algorithms/reverse/cycle.rs +++ b/crates/fj-kernel/src/algorithms/reverse/cycle.rs @@ -8,7 +8,7 @@ impl Reverse for Cycle { let mut edges = self .into_edges() - .map(|edge| edge.reverse()) + .map(|edge| edge.reverse_including_curve()) .collect::>(); edges.reverse(); diff --git a/crates/fj-kernel/src/algorithms/reverse/edge.rs b/crates/fj-kernel/src/algorithms/reverse/edge.rs index 2543c5e43..b64d59753 100644 --- a/crates/fj-kernel/src/algorithms/reverse/edge.rs +++ b/crates/fj-kernel/src/algorithms/reverse/edge.rs @@ -4,6 +4,6 @@ use super::Reverse; impl Reverse for Edge { fn reverse(self) -> Self { - self.reverse_including_curve() + Edge::from_curve_and_vertices(*self.curve(), self.vertices().reverse()) } } diff --git a/crates/fj-kernel/src/algorithms/sweep/edge.rs b/crates/fj-kernel/src/algorithms/sweep/edge.rs index bb63a6064..46f6d6148 100644 --- a/crates/fj-kernel/src/algorithms/sweep/edge.rs +++ b/crates/fj-kernel/src/algorithms/sweep/edge.rs @@ -44,7 +44,7 @@ fn create_non_continuous_side_face( color: Color, ) -> Face { let edge = if path.is_negative_direction() { - edge.reverse() + edge.reverse_including_curve() } else { *edge }; diff --git a/crates/fj-kernel/src/objects/edge.rs b/crates/fj-kernel/src/objects/edge.rs index dc9ec2a17..d1cb7bbf3 100644 --- a/crates/fj-kernel/src/objects/edge.rs +++ b/crates/fj-kernel/src/objects/edge.rs @@ -239,22 +239,7 @@ impl VerticesOfEdge { /// /// Makes sure that the local coordinates are still correct. pub fn reverse(self) -> Self { - Self(self.0.map(|[a, b]| { - [ - Vertex::new( - -b.position(), - b.curve().reverse(), - *b.surface_form(), - *b.global_form(), - ), - Vertex::new( - -a.position(), - a.curve().reverse(), - *a.surface_form(), - *a.global_form(), - ), - ] - })) + Self(self.0.map(|[a, b]| [b, a])) } /// Convert this instance into its global variant