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§

source

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.

Implementors§