[][src]Module plexus::primitive::index

Indexing and aggregation.

This module provides indexers, which disambiguate geometry and produce the minimal set of topological and geometric data. This can be collected into aggregate data structures like MeshGraph and MeshBuffer.

Examples

use plexus::buffer::MeshBuffer3;
use plexus::prelude::*;
use plexus::primitive::cube::Cube;
use plexus::primitive::index::HashIndexer;

let (indices, positions) = Cube::new()
    .polygons_with_position()
    .triangulate()
    .flat_index_vertices(HashIndexer::default());
let buffer = MeshBuffer3::<u32, _>::from_raw_buffers(indices, positions).unwrap();

Structs

HashIndexer

Hashing vertex indexer.

LruIndexer

LRU caching vertex indexer.

Traits

CollectWithIndexer

Functions for collecting a topology stream into a mesh, buffer, etc.

FlatIndexVertices

Functions for collecting a topology stream into raw index and vertex buffers.

FromIndexer
IndexVertices

Functions for collecting a topology stream into raw index and vertex buffers.

Indexer

Vertex indexer.