Simplify make_line_on_surface

This commit is contained in:
Hanno Braun 2024-06-26 18:06:18 +02:00
parent acc0c00d48
commit c267df6cff
4 changed files with 9 additions and 11 deletions

View File

@ -87,6 +87,8 @@ pub trait BuildHalfEdge {
surface: Handle<Surface>, surface: Handle<Surface>,
core: &mut Core, core: &mut Core,
) -> Handle<HalfEdge> { ) -> Handle<HalfEdge> {
let boundary = boundary.unwrap_or_default();
let half_edge = HalfEdge::unjoined(core).insert(core); let half_edge = HalfEdge::unjoined(core).insert(core);
half_edge.curve().clone().make_line_on_surface( half_edge.curve().clone().make_line_on_surface(
@ -96,12 +98,9 @@ pub trait BuildHalfEdge {
&mut core.layers.geometry, &mut core.layers.geometry,
); );
core.layers.geometry.define_half_edge( core.layers
half_edge.clone(), .geometry
HalfEdgeGeom { .define_half_edge(half_edge.clone(), HalfEdgeGeom { boundary });
boundary: boundary.unwrap_or_default(),
},
);
half_edge half_edge
} }

View File

@ -92,7 +92,7 @@ pub trait BuildShell {
let curve = curve.make_line_on_surface( let curve = curve.make_line_on_surface(
positions, positions,
Some(boundary), boundary,
surface.clone(), surface.clone(),
&mut core.layers.geometry, &mut core.layers.geometry,
); );

View File

@ -35,7 +35,7 @@ pub trait UpdateCurveGeometry {
fn make_line_on_surface( fn make_line_on_surface(
self, self,
points_surface: [impl Into<Point<2>>; 2], points_surface: [impl Into<Point<2>>; 2],
points_curve: Option<CurveBoundary<Point<1>>>, points_curve: CurveBoundary<Point<1>>,
surface: Handle<Surface>, surface: Handle<Surface>,
geometry: &mut Layer<Geometry>, geometry: &mut Layer<Geometry>,
) -> Self; ) -> Self;
@ -71,11 +71,10 @@ impl UpdateCurveGeometry for Handle<Curve> {
fn make_line_on_surface( fn make_line_on_surface(
self, self,
points_surface: [impl Into<Point<2>>; 2], points_surface: [impl Into<Point<2>>; 2],
points_curve: Option<CurveBoundary<Point<1>>>, points_curve: CurveBoundary<Point<1>>,
surface: Handle<Surface>, surface: Handle<Surface>,
geometry: &mut Layer<Geometry>, geometry: &mut Layer<Geometry>,
) -> Self { ) -> Self {
let points_curve = points_curve.unwrap_or_default();
let path = SurfacePath::line_from_points_with_coords( let path = SurfacePath::line_from_points_with_coords(
points_curve.inner.zip_ext(points_surface), points_curve.inner.zip_ext(points_surface),
); );

View File

@ -133,7 +133,7 @@ impl SweepHalfEdge for Handle<HalfEdge> {
.unwrap_or_else(|| Curve::new().insert(core)) .unwrap_or_else(|| Curve::new().insert(core))
.make_line_on_surface( .make_line_on_surface(
[start, end], [start, end],
Some(boundary), boundary,
surface.clone(), surface.clone(),
&mut core.layers.geometry, &mut core.layers.geometry,
); );