pub struct MeshSolidReport {Show 21 fields
pub triangles: usize,
pub faces: usize,
pub curved_faces: usize,
pub curved_faceted: usize,
pub fallbacks: Vec<RegionFallback>,
pub vertices_welded: usize,
pub degenerate_dropped: usize,
pub duplicates_dropped: usize,
pub windings_flipped: usize,
pub edges_used_once: usize,
pub edges_used_more: usize,
pub orientation_conflicts: usize,
pub shells: usize,
pub recognition_withdrawn: bool,
pub coplanar_distance_raised: bool,
pub patch_faces: usize,
pub patch_charts_mapped: usize,
pub patches_not_disk: usize,
pub patches_narrow: usize,
pub patches_unverified: usize,
pub free_edges_fitted: usize,
}Expand description
What solid_from_mesh did, and where the mesh does not close.
Fields§
§triangles: usizeTriangles built from, after the dropped ones.
faces: usizeFaces built: the triangles, or their coplanar groups and recognized regions.
curved_faces: usizeFaces built on a recognized curved surface.
curved_faceted: usizeRegions whose face could not be built on their surface, and which were faceted instead: curved regions, and the few planar ones whose face failed or whose plane does not hold their vertices, their triangles gathered again.
fallbacks: Vec<RegionFallback>Those regions by name, each with why it was faceted, in the order
they fell back: as many as MeshSolidReport::curved_faceted
counts. The names are the regions’ in
MeshRegions, whose MeshRegions::find names them alike for
the same mesh and options.
vertices_welded: usizeMesh vertices that welded onto another.
degenerate_dropped: usizeTriangles dropped for having no area.
duplicates_dropped: usizeTriangles dropped for repeating another’s three vertices.
windings_flipped: usizeTriangles whose winding was reversed to agree with their neighbours and face outward.
edges_used_once: usizeMesh edges only one triangle uses: the rims of holes.
edges_used_more: usizeMesh edges three or more triangles use: non-manifold.
orientation_conflicts: usizeShared edges whose windings cannot be made to agree, in a piece that is not orientable.
shells: usizeConnected pieces, each one shell.
recognition_withdrawn: boolWhether recognition was withdrawn from a body because the solid it built did not hold that body’s mesh volume, and the body was built faceted instead.
coplanar_distance_raised: boolWhether the coplanar distance asked for was below what the mesh’s
own scatter allows recognition to hold to, and was raised to that
(MeshSolid::coplanar_distance is the one used).
patch_faces: usizeFaces built on a fitted B-spline patch, among the curved faces.
patch_charts_mapped: usizeOf those, the ones whose chart is the mean-value map onto a square rather than a nearly fitting canonical surface’s.
patches_not_disk: usizeSmooth regions nothing else fitted that were left faceted because they are not one disk bounded by one loop (a region with a hole, or one that touches itself).
patches_narrow: usizeSmooth regions nothing else fitted that were left faceted because too few of their vertices lie inside their boundary for a patch to be held across them (a row or two of facets along a seam).
patches_unverified: usizeSmooth regions nothing else fitted whose fitted patch failed its verification, left faceted.
free_edges_fitted: usizeFree edges of curved faces (a run of the mesh’s boundary with one face and nothing across it) that no parallel or ruling of the face holds, built as a curve fitted onto the face through the feet of the run’s points, its tolerance measured against every vertex of the run. The others are parallels and rulings, placed exactly.
Trait Implementations§
Source§impl Clone for MeshSolidReport
impl Clone for MeshSolidReport
Source§impl Debug for MeshSolidReport
impl Debug for MeshSolidReport
Source§impl Default for MeshSolidReport
impl Default for MeshSolidReport
impl Eq for MeshSolidReport
Source§impl PartialEq for MeshSolidReport
impl PartialEq for MeshSolidReport
impl StructuralPartialEq for MeshSolidReport
Auto Trait Implementations§
impl Freeze for MeshSolidReport
impl RefUnwindSafe for MeshSolidReport
impl Send for MeshSolidReport
impl Sync for MeshSolidReport
impl Unpin for MeshSolidReport
impl UnsafeUnpin for MeshSolidReport
impl UnwindSafe for MeshSolidReport
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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.impl<T> Scalar for T
§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read more§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).§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.