Trait fj_kernel::builder::FaceBuilder
source · 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§
sourcefn connect_to_open_edges<O>(
&mut self,
edges: O
) -> O::SizePlusOne<Partial<HalfEdge>>where
O: ObjectArgument<Partial<HalfEdge>>,
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.
sourcefn connect_to_closed_edges<O>(
&mut self,
edges: O
) -> O::SameSize<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>>,
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.
sourcefn add_interior(&mut self) -> Partial<Cycle>
fn add_interior(&mut self) -> Partial<Cycle>
Add an interior cycle
sourcefn update_surface_as_plane(&mut self) -> Partial<Surface>
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.
sourcefn infer_curves(&mut self)
fn infer_curves(&mut self)
Infer any undefined curves in the face