Struct solstice::mesh::IndexedMesh [−][src]
pub struct IndexedMesh<V, I> { /* fields omitted */ }
A mesh with vertex data that is indexed with separate data.
This is useful if you have a number of vertices that you would otherwise have to duplicate because indices are generally smaller than a vertex so duplicating them is more performant.
Implementations
impl<V, I> IndexedMesh<V, I> where
V: Vertex,
I: Index,
[src]
impl<V, I> IndexedMesh<V, I> where
V: Vertex,
I: Index,
[src]pub fn new(
ctx: &mut Context,
vertex_count: usize,
index_count: usize
) -> Result<Self, GraphicsError>
[src]
ctx: &mut Context,
vertex_count: usize,
index_count: usize
) -> Result<Self, GraphicsError>
Construct a mesh with a given number of vertices and indices.
pub fn with_data(
ctx: &mut Context,
vertices: &[V],
indices: &[I]
) -> Result<Self, GraphicsError>
[src]
ctx: &mut Context,
vertices: &[V],
indices: &[I]
) -> Result<Self, GraphicsError>
pub fn with_mesh(
ctx: &mut Context,
mesh: VertexMesh<V>,
index_count: usize
) -> Result<Self, GraphicsError>
[src]
ctx: &mut Context,
mesh: VertexMesh<V>,
index_count: usize
) -> Result<Self, GraphicsError>
Construct an indexed mesh from a non-indexed mesh.
pub fn set_vertices(&self, ctx: &mut Context, vertices: &[V], offset: usize)
[src]
Write new data into a range of the Mesh’s vertex data.
pub fn set_indices(&self, ctx: &mut Context, indices: &[I], offset: usize)
[src]
Write new data into a range of the Mesh’s vertex data.
pub fn set_draw_range(&mut self, draw_range: Option<Range<usize>>)
[src]
pub fn draw_range(&self) -> Range<usize>
[src]
pub fn set_draw_mode(&mut self, draw_mode: DrawMode)
[src]
pub fn len(&self) -> usize
[src]
Trait Implementations
impl<V: Clone, I: Clone> Clone for IndexedMesh<V, I>
[src]
impl<V: Clone, I: Clone> Clone for IndexedMesh<V, I>
[src]fn clone(&self) -> IndexedMesh<V, I>
[src]
pub fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl<V: Debug, I: Debug> Debug for IndexedMesh<V, I>
[src]
impl<V: Debug, I: Debug> Debug for IndexedMesh<V, I>
[src]impl<V: Vertex, I: Index> Mesh for IndexedMesh<V, I>
[src]
impl<V: Vertex, I: Index> Mesh for IndexedMesh<V, I>
[src]impl<V: Vertex, I: Index> Mesh for &IndexedMesh<V, I>
[src]
impl<V: Vertex, I: Index> Mesh for &IndexedMesh<V, I>
[src]impl<V: Vertex, I: Index> MeshAttacher for IndexedMesh<V, I>
[src]
impl<V: Vertex, I: Index> MeshAttacher for IndexedMesh<V, I>
[src]impl<V: PartialEq, I: PartialEq> PartialEq<IndexedMesh<V, I>> for IndexedMesh<V, I>
[src]
impl<V: PartialEq, I: PartialEq> PartialEq<IndexedMesh<V, I>> for IndexedMesh<V, I>
[src]fn eq(&self, other: &IndexedMesh<V, I>) -> bool
[src]
fn ne(&self, other: &IndexedMesh<V, I>) -> bool
[src]
impl<V, I> StructuralPartialEq for IndexedMesh<V, I>
[src]
impl<V, I> StructuralPartialEq for IndexedMesh<V, I>
[src]Auto Trait Implementations
impl<V, I> RefUnwindSafe for IndexedMesh<V, I> where
I: RefUnwindSafe,
V: RefUnwindSafe,
impl<V, I> RefUnwindSafe for IndexedMesh<V, I> where
I: RefUnwindSafe,
V: RefUnwindSafe,
impl<V, I> Send for IndexedMesh<V, I> where
I: Send,
V: Send,
impl<V, I> Send for IndexedMesh<V, I> where
I: Send,
V: Send,
impl<V, I> Sync for IndexedMesh<V, I> where
I: Sync,
V: Sync,
impl<V, I> Sync for IndexedMesh<V, I> where
I: Sync,
V: Sync,
impl<V, I> Unpin for IndexedMesh<V, I> where
I: Unpin,
V: Unpin,
impl<V, I> Unpin for IndexedMesh<V, I> where
I: Unpin,
V: Unpin,
impl<V, I> UnwindSafe for IndexedMesh<V, I> where
I: UnwindSafe,
V: UnwindSafe,
impl<V, I> UnwindSafe for IndexedMesh<V, I> where
I: UnwindSafe,
V: UnwindSafe,