[][src]Trait plexus::index::GroupedIndexVertices

pub trait GroupedIndexVertices<R, P>: Sized where
    R: Grouping,
    P: Topological
{ fn index_vertices_with<N, K, F>(
        self,
        indexer: N,
        f: F
    ) -> (Vec<R::Item>, Vec<P::Vertex>)
    where
        N: Indexer<P, K>,
        F: Fn(&P::Vertex) -> &K
; fn index_vertices<N>(self, indexer: N) -> (Vec<R::Item>, Vec<P::Vertex>)
    where
        N: Indexer<P, P::Vertex>
, { ... } }

Functions for collecting a stream of $n$-gons into raw index and vertex buffers.

Unlike IndexVertices, this trait provides functions that are closed (not parameterized) with respect to grouping. Instead, the trait is implemented for a particular grouping. These functions cannot be used fluently as part of an iterator expression. Generally, IndexVertices should be preferred.

Required methods

fn index_vertices_with<N, K, F>(
    self,
    indexer: N,
    f: F
) -> (Vec<R::Item>, Vec<P::Vertex>) where
    N: Indexer<P, K>,
    F: Fn(&P::Vertex) -> &K, 

Loading content...

Provided methods

fn index_vertices<N>(self, indexer: N) -> (Vec<R::Item>, Vec<P::Vertex>) where
    N: Indexer<P, P::Vertex>, 

Loading content...

Implementors

impl<R, P, I> GroupedIndexVertices<R, P> for I where
    I: Iterator<Item = P>,
    R: Grouping,
    P: Map<<Vec<R::Item> as IndexBuffer<R>>::Index> + Topological,
    P::Output: Topological<Vertex = <Vec<R::Item> as IndexBuffer<R>>::Index>,
    Vec<R::Item>: Push<R, P::Output>, 
[src]

Loading content...