pub struct MeshReport {Show 19 fields
pub vertices: usize,
pub faces: usize,
pub unused_vertices: usize,
pub degenerate_faces: usize,
pub invalid_faces: usize,
pub edges: usize,
pub boundary_edges: usize,
pub non_manifold_edges: usize,
pub inconsistent_edges: usize,
pub holes: Vec<usize>,
pub components: Vec<usize>,
pub watertight: bool,
pub min: Point3f,
pub max: Point3f,
pub size: [f32; 3],
pub surface_area: f64,
pub volume: Option<f64>,
pub printable: bool,
pub problems: Vec<String>,
}Expand description
Health and measurement report for a triangle mesh, from analyze_mesh.
Fields§
§vertices: usize§faces: usize§unused_vertices: usizeVertices no face uses.
degenerate_faces: usizeFaces with zero area (repeated or collinear corners).
invalid_faces: usizeFaces with an index past the vertex list; such faces are otherwise ignored by this report.
edges: usizeDistinct edges.
boundary_edges: usizeEdges used by exactly one face: the rims of holes.
non_manifold_edges: usizeEdges used by three or more faces.
inconsistent_edges: usizeEdges used twice in the same direction: neighbouring faces wound opposite ways.
holes: Vec<usize>Number of edges around each hole (closed loop of boundary edges), largest first.
components: Vec<usize>Face count of each separate piece, largest first.
watertight: boolNo holes and no non-manifold edges.
min: Point3fBounding box corners and size (all zero for an empty mesh).
max: Point3f§size: [f32; 3]§surface_area: f64Total area of all faces.
volume: Option<f64>Enclosed volume. Only defined for a watertight, consistently wound
mesh; None otherwise.
printable: boolWatertight, manifold, consistently wound and facing outward.
problems: Vec<String>Why the mesh is not printable, in plain words (empty when it is).
Trait Implementations§
Source§impl Clone for MeshReport
impl Clone for MeshReport
Source§impl Debug for MeshReport
impl Debug for MeshReport
Source§impl PartialEq for MeshReport
impl PartialEq for MeshReport
impl StructuralPartialEq for MeshReport
Auto Trait Implementations§
impl Freeze for MeshReport
impl RefUnwindSafe for MeshReport
impl Send for MeshReport
impl Sync for MeshReport
impl Unpin for MeshReport
impl UnsafeUnpin for MeshReport
impl UnwindSafe for MeshReport
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> Scalar for T
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>
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
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
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.