Trait fj_core::operations::split::SplitFace
source · pub trait SplitFace: Sized {
// Required method
fn split_face(
&self,
face: &Handle<Face>,
line: [(&Handle<HalfEdge>, impl Into<Point<1>>); 2],
services: &mut Services
) -> (Self, [Handle<Face>; 2]);
}Expand description
Split a face into two
Required Methods§
sourcefn split_face(
&self,
face: &Handle<Face>,
line: [(&Handle<HalfEdge>, impl Into<Point<1>>); 2],
services: &mut Services
) -> (Self, [Handle<Face>; 2])
fn split_face( &self, face: &Handle<Face>, line: [(&Handle<HalfEdge>, impl Into<Point<1>>); 2], services: &mut Services ) -> (Self, [Handle<Face>; 2])
Split the face into two
The line that splits the face is defined by two points, each specified in local coordinates of an edge.
Panics
Panics, if the half-edges are not part of the boundary of the provided face.
Implementation Note
The way the split line is specified is rather inconvenient, and not very flexible. This is an artifact of the current implementation, and more flexible and convenient ways to split the face (like an arbitrary curve) can be provided later.
Object Safety§
This trait is not object safe.