pub trait FaceBuilder {
    fn connect_to_open_edges<O>(
        &mut self,
        edges: O
    ) -> O::SizePlusOne<Partial<HalfEdge>>
    where
        O: ObjectArgument<Partial<HalfEdge>>
; fn connect_to_closed_edges<O>(
        &mut self,
        edges: O
    ) -> O::SameSize<Partial<HalfEdge>>
    where
        O: ObjectArgument<Partial<HalfEdge>>
; fn add_interior(&mut self) -> Partial<Cycle>; fn update_surface_as_plane(&mut self) -> Partial<Surface>; fn infer_curves(&mut self); }
Expand description

Builder API for PartialFace

Required Methods§

Connect the face to another face at the provided half-edges

Assumes that the provided half-edges, once translated into local equivalents of this face, will not form a cycle.

Returns the local equivalents of the provided half-edges and, as the last entry, an additional half-edge that closes the cycle.

Connect the face to another face at the provided half-edges

Assumes that the provided half-edges, once translated into local equivalents of this face, form a cycle.

Returns the local equivalents of the provided half-edges.

Add an interior cycle

Update the face’s surface as a plane

The plane geometry is inferred from three of the face’s vertices. Also infers any undefined SurfaceVertex positions.

Panics

Assumes that the face exterior has exactly three vertices to use. Panics otherwise. This is a temporary limitation, not a fundamental one. It could be overcome with some more work.

Infer any undefined curves in the face

Implementors§