pub trait FaceBuilder {
    // Required methods
    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§

source

fn connect_to_open_edges<O>(
&mut self,
edges: O
) -> O::SizePlusOne<Partial<HalfEdge>>where
O: ObjectArgument<Partial<HalfEdge>>,

Connect the face to other faces 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.

source

fn connect_to_closed_edges<O>(
&mut self,
edges: O
) -> O::SameSize<Partial<HalfEdge>>where
O: ObjectArgument<Partial<HalfEdge>>,

Connect the face to other faces 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.

source

fn add_interior(&mut self) -> Partial<Cycle>

Add an interior cycle

source

fn update_surface_as_plane(&mut self) -> Partial<Surface>

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.

source

fn infer_curves(&mut self)

Infer any undefined curves in the face

Implementors§