pub struct Stream<'a> { /* private fields */ }
Expand description
A stream of value groups which are meant to be used together (e.g. 3 floats representing a vertex position).
Implementations§
Source§impl<'a> Stream<'a>
impl<'a> Stream<'a>
Sourcepub fn from_slice<T>(slice: &'a [T]) -> Self
pub fn from_slice<T>(slice: &'a [T]) -> Self
Creates a stream from a slice.
§Example
use meshopt_rs::Stream;
let positions = vec![[1.0, 2.0, 3.0], [2.0, 3.0, 4.0], [5.0, 6.0, 7.0]];
let stream = Stream::from_slice(&positions);
assert_eq!(stream.len(), positions.len());
Sourcepub fn from_slice_with_subset<T>(slice: &'a [T], subset: Range<usize>) -> Self
pub fn from_slice_with_subset<T>(slice: &'a [T], subset: Range<usize>) -> Self
Creates a stream from a slice with the given byte subset.
§Arguments
subset
: subset of data to use inside aT
§Example
use meshopt_rs::Stream;
#[derive(Clone, Default)]
#[repr(C)]
struct Vertex {
position: [f32; 3],
normal: [f32; 3],
uv: [f32; 2],
}
let normals_offset = std::mem::size_of::<f32>() * 3;
let normals_size = std::mem::size_of::<f32>() * 3;
let vertices = vec![Vertex::default(); 1];
let normal_stream = Stream::from_slice_with_subset(&vertices, normals_offset..normals_offset+normals_size);
assert_eq!(normal_stream.len(), 1);
Auto Trait Implementations§
impl<'a> Freeze for Stream<'a>
impl<'a> RefUnwindSafe for Stream<'a>
impl<'a> Send for Stream<'a>
impl<'a> Sync for Stream<'a>
impl<'a> Unpin for Stream<'a>
impl<'a> UnwindSafe for Stream<'a>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more