pub struct ProgressiveMesh {
pub mesh: SimpleMesh,
pub history: Vec<CollapseRecord>,
}Expand description
Progressive mesh: stores the sequence of collapses so the mesh can be coarsened incrementally and the collapses can be reversed.
Fields§
§mesh: SimpleMeshCurrent mesh state.
history: Vec<CollapseRecord>Collapse history (oldest first).
Implementations§
Source§impl ProgressiveMesh
impl ProgressiveMesh
Sourcepub fn new(mesh: SimpleMesh) -> Self
pub fn new(mesh: SimpleMesh) -> Self
Wrap an existing mesh.
Sourcepub fn collapse_one(&mut self) -> bool
pub fn collapse_one(&mut self) -> bool
Perform one QEM-based edge collapse (cheapest edge) and record it.
Returns false when the mesh has ≤ 3 triangles and cannot be reduced
further.
Sourcepub fn decimate_to(&mut self, target_triangles: usize)
pub fn decimate_to(&mut self, target_triangles: usize)
Reduce the mesh until it has at most target_triangles triangles.
Auto Trait Implementations§
impl Freeze for ProgressiveMesh
impl RefUnwindSafe for ProgressiveMesh
impl Send for ProgressiveMesh
impl Sync for ProgressiveMesh
impl Unpin for ProgressiveMesh
impl UnsafeUnpin for ProgressiveMesh
impl UnwindSafe for ProgressiveMesh
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<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.