diff --git a/crates/fj-kernel/src/algorithms/sweep/face.rs b/crates/fj-kernel/src/algorithms/sweep/face.rs index 1b03318a7..6eb0dda39 100644 --- a/crates/fj-kernel/src/algorithms/sweep/face.rs +++ b/crates/fj-kernel/src/algorithms/sweep/face.rs @@ -104,8 +104,11 @@ mod tests { let surface = services.objects.surfaces.xy_plane(); let solid = Sketch::builder() - .with_surface(surface.clone()) - .with_polygon_from_points(TRIANGLE, &mut services.objects) + .with_polygon_from_points( + surface.clone(), + TRIANGLE, + &mut services.objects, + ) .build(&mut services.objects) .sweep(UP, &mut services.objects); @@ -148,8 +151,11 @@ mod tests { let surface = services.objects.surfaces.xy_plane(); let solid = Sketch::builder() - .with_surface(surface.clone()) - .with_polygon_from_points(TRIANGLE, &mut services.objects) + .with_polygon_from_points( + surface.clone(), + TRIANGLE, + &mut services.objects, + ) .build(&mut services.objects) .sweep(DOWN, &mut services.objects); diff --git a/crates/fj-kernel/src/builder/sketch.rs b/crates/fj-kernel/src/builder/sketch.rs index afb649241..f80593ddf 100644 --- a/crates/fj-kernel/src/builder/sketch.rs +++ b/crates/fj-kernel/src/builder/sketch.rs @@ -14,20 +14,11 @@ use super::FaceBuilder; /// /// Also see [`Sketch::builder`]. pub struct SketchBuilder { - /// The surface that the [`Sketch`] is defined in - pub surface: Option>, - /// The faces that make up the [`Sketch`] pub faces: FaceSet, } impl SketchBuilder { - /// Build the [`Sketch`] with the provided [`Surface`] - pub fn with_surface(mut self, surface: Handle) -> Self { - self.surface = Some(surface); - self - } - /// Build the [`Sketch`] with the provided faces pub fn with_faces( mut self, @@ -40,15 +31,12 @@ impl SketchBuilder { /// Construct a polygon from a list of points pub fn with_polygon_from_points( mut self, + surface: Handle, points: impl IntoIterator>>, objects: &mut Service, ) -> Self { - let surface = self - .surface - .as_ref() - .expect("Can't build `Sketch` without `Surface`"); self.faces.extend([Face::partial() - .with_exterior_polygon_from_points(surface.clone(), points) + .with_exterior_polygon_from_points(surface, points) .build(objects) .insert(objects)]); self diff --git a/crates/fj-kernel/src/objects/full/sketch.rs b/crates/fj-kernel/src/objects/full/sketch.rs index ca58de263..243365168 100644 --- a/crates/fj-kernel/src/objects/full/sketch.rs +++ b/crates/fj-kernel/src/objects/full/sketch.rs @@ -19,7 +19,6 @@ impl Sketch { /// Build a `Sketch` using [`SketchBuilder`] pub fn builder() -> SketchBuilder { SketchBuilder { - surface: None, faces: FaceSet::new(), } }