pub struct ProcessMesh {
pub verts: Vec<Vertex>,
pub faces: Vec<Face>,
pub normals: Option<Vec<Vertex>>,
pub uvs: Option<Vec<Uv>>,
}Expand description
A triangle mesh used as the primary data structure for all processing.
Fields§
§verts: Vec<Vertex>Vertex positions.
faces: Vec<Face>Triangular faces (vertex-index triples).
normals: Option<Vec<Vertex>>Per-vertex normals (optional).
uvs: Option<Vec<Uv>>Per-vertex UV coordinates (optional).
Implementations§
Source§impl ProcessMesh
impl ProcessMesh
Sourcepub fn new(verts: Vec<Vertex>, faces: Vec<Face>) -> Self
pub fn new(verts: Vec<Vertex>, faces: Vec<Face>) -> Self
Create a new mesh from vertices and faces.
Sourcepub fn compute_normals(&mut self)
pub fn compute_normals(&mut self)
Compute per-vertex normals by averaging adjacent face normals.
Sourcepub fn build_adjacency(&self) -> Vec<Vec<usize>>
pub fn build_adjacency(&self) -> Vec<Vec<usize>>
Build a map from each vertex to its list of neighbouring vertex indices.
Trait Implementations§
Source§impl Clone for ProcessMesh
impl Clone for ProcessMesh
Source§fn clone(&self) -> ProcessMesh
fn clone(&self) -> ProcessMesh
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for ProcessMesh
impl RefUnwindSafe for ProcessMesh
impl Send for ProcessMesh
impl Sync for ProcessMesh
impl Unpin for ProcessMesh
impl UnsafeUnpin for ProcessMesh
impl UnwindSafe for ProcessMesh
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.