mirror of
https://github.com/hannobraun/Fornjot
synced 2025-05-04 01:48:28 +00:00
Provide surface to HalfEdge
's reverse trait impl
This commit is contained in:
parent
976922550b
commit
b13a5eb773
@ -176,9 +176,10 @@ pub trait BuildShell {
|
||||
.update_half_edge(
|
||||
cycle.half_edges().nth_circular(0),
|
||||
|edge, core| {
|
||||
[edge.reverse_curve_coordinate_systems(
|
||||
core,
|
||||
)]
|
||||
[(edge, bad.face.surface())
|
||||
.reverse_curve_coordinate_systems(
|
||||
core,
|
||||
)]
|
||||
},
|
||||
core,
|
||||
)
|
||||
@ -207,7 +208,7 @@ pub trait BuildShell {
|
||||
.update_half_edge(
|
||||
cycle.half_edges().nth_circular(1),
|
||||
|edge, core| {
|
||||
[edge
|
||||
[(edge, dac.face.surface())
|
||||
.reverse_curve_coordinate_systems(core)]
|
||||
},
|
||||
core,
|
||||
@ -222,7 +223,7 @@ pub trait BuildShell {
|
||||
.update_half_edge(
|
||||
cycle.half_edges().nth_circular(0),
|
||||
|edge, core| {
|
||||
[edge
|
||||
[(edge, dac.face.surface())
|
||||
.reverse_curve_coordinate_systems(core)]
|
||||
},
|
||||
core,
|
||||
@ -252,7 +253,7 @@ pub trait BuildShell {
|
||||
.update_half_edge(
|
||||
cycle.half_edges().nth_circular(0),
|
||||
|edge, core| {
|
||||
[edge
|
||||
[(edge, cbd.face.surface())
|
||||
.reverse_curve_coordinate_systems(core)]
|
||||
},
|
||||
core,
|
||||
@ -260,7 +261,7 @@ pub trait BuildShell {
|
||||
.update_half_edge(
|
||||
cycle.half_edges().nth_circular(1),
|
||||
|edge, core| {
|
||||
[edge
|
||||
[(edge, cbd.face.surface())
|
||||
.reverse_curve_coordinate_systems(core)]
|
||||
},
|
||||
core,
|
||||
@ -268,7 +269,7 @@ pub trait BuildShell {
|
||||
.update_half_edge(
|
||||
cycle.half_edges().nth_circular(2),
|
||||
|edge, core| {
|
||||
[edge
|
||||
[(edge, cbd.face.surface())
|
||||
.reverse_curve_coordinate_systems(core)]
|
||||
},
|
||||
core,
|
||||
|
@ -41,12 +41,12 @@ impl ReverseCurveCoordinateSystems for (&Cycle, &Handle<Surface>) {
|
||||
self,
|
||||
core: &mut Core,
|
||||
) -> Self::Reversed {
|
||||
let (cycle, _) = self;
|
||||
let (cycle, surface) = self;
|
||||
|
||||
let edges = cycle
|
||||
.half_edges()
|
||||
.iter()
|
||||
.map(|edge| edge.reverse_curve_coordinate_systems(core));
|
||||
.map(|edge| (edge, surface).reverse_curve_coordinate_systems(core));
|
||||
|
||||
Cycle::new(edges)
|
||||
}
|
||||
|
@ -1,20 +1,20 @@
|
||||
use crate::{
|
||||
operations::{derive::DeriveFrom, insert::Insert},
|
||||
storage::Handle,
|
||||
topology::HalfEdge,
|
||||
topology::{HalfEdge, Surface},
|
||||
Core,
|
||||
};
|
||||
|
||||
use super::ReverseCurveCoordinateSystems;
|
||||
|
||||
impl ReverseCurveCoordinateSystems for &Handle<HalfEdge> {
|
||||
impl ReverseCurveCoordinateSystems for (&Handle<HalfEdge>, &Handle<Surface>) {
|
||||
type Reversed = Handle<HalfEdge>;
|
||||
|
||||
fn reverse_curve_coordinate_systems(
|
||||
self,
|
||||
core: &mut Core,
|
||||
) -> Self::Reversed {
|
||||
let half_edge = self;
|
||||
let (half_edge, _) = self;
|
||||
|
||||
let mut half_edge_geom = *core.layers.geometry.of_half_edge(half_edge);
|
||||
half_edge_geom.path = half_edge_geom.path.reverse();
|
||||
|
Loading…
Reference in New Issue
Block a user