pub trait FanFormat<'p, P: PolygonList<'p> + ?Sized> {
    type Builder: FanBuilder<'p, P> + Sized;

    // Required method
    fn initialize(
        self,
        polygon_list: &'p P,
        vi0: P::Index,
        vi1: P::Index,
        vi2: P::Index
    ) -> Result<Self::Builder, <Self::Builder as FanBuilder<'p, P>>::Error>;

    // Provided method
    fn reverse_winding(self) -> ReverseFanFormat<'p, P, Self>
       where Self: Sized { ... }
}
Expand description

Describes the construction and layout of a triangle fans

Required Associated Types§

source

type Builder: FanBuilder<'p, P> + Sized

The type responsible for constructing triangle fans.

This type can be Self, if you choose to implement both FanFormat and FanBuilder on the same type.

Required Methods§

source

fn initialize( self, polygon_list: &'p P, vi0: P::Index, vi1: P::Index, vi2: P::Index ) -> Result<Self::Builder, <Self::Builder as FanBuilder<'p, P>>::Error>

Constructs a FanFormat::Builder with an initial triangle, optionally using a reference to the PolygonList being triangulated.

Provided Methods§

source

fn reverse_winding(self) -> ReverseFanFormat<'p, P, Self>where Self: Sized,

Constructs a FanFormat with the opposite TriangleWinding

Implementors§

source§

impl<'p, P: PolygonList<'p> + ?Sized, FB: FanFormat<'p, P>> FanFormat<'p, P> for ReverseFanFormat<'p, P, FB>

§

type Builder = ReverseFanBuilder<'p, P, <FB as FanFormat<'p, P>>::Builder>

source§

impl<'p, P: PolygonList<'p> + ?Sized, FS: Fans> FanFormat<'p, P> for DeindexedFanFormat<'p, P, FS>where FS::Fan: Fan<P::Vertex>, P::Vertex: Clone,

§

type Builder = DeindexedFanBuilder<'p, P, FS>

source§

impl<'p, P: PolygonList<'p> + ?Sized, FS: Fans> FanFormat<'p, P> for IndexedFanFormat<'p, P, FS>where FS::Fan: Fan<P::Index>,

§

type Builder = IndexedFanBuilder<'p, P, FS>

source§

impl<'p, P: PolygonList<'p> + ?Sized, FS: Fans<Fan = P::Index>> FanFormat<'p, P> for DelimitedFanFormat<'p, P, FS>

§

type Builder = DelimitedFanBuilder<'p, P, FS>

source§

impl<'p, P: PolygonList<'p> + ?Sized, LB: ListFormat<'p, P>> FanFormat<'p, P> for FanToListFormat<'p, P, LB>

§

type Builder = FanToListBuilder<'p, P, <LB as ListFormat<'p, P>>::Builder>