ListBuilder

Trait ListBuilder 

Source
pub trait ListBuilder<'p, P: PolygonList<'p> + ?Sized> {
    type Output;
    type Error: Error;

    const WINDING: TriangleWinding = TriangleWinding::Counterclockwise;

    // Required methods
    fn add_triangle(
        &mut self,
        vi0: P::Index,
        vi1: P::Index,
        vi2: P::Index,
    ) -> Result<(), Self::Error>;
    fn build(self) -> Result<Self::Output, Self::Error>;
    fn fail(self, error: &TriangulationError<Self::Error>);
}
Expand description

Performs the construction of a triangle list

Provided Associated Constants§

Source

const WINDING: TriangleWinding = TriangleWinding::Counterclockwise

The winding direction this builder expects for triangles

Required Associated Types§

Source

type Output

The triangle list output type

Source

type Error: Error

The error type when the builder fails

Required Methods§

Source

fn add_triangle( &mut self, vi0: P::Index, vi1: P::Index, vi2: P::Index, ) -> Result<(), Self::Error>

Adds a triangle with the given indices

Source

fn build(self) -> Result<Self::Output, Self::Error>

Called when triangulation has completed to get the resulting output

Source

fn fail(self, error: &TriangulationError<Self::Error>)

Called when triangulation encounters an error.

Any required cleanup (e.g. removing the partial triangulation added to an existing Vec) should be done here

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§