Skip to main content

MeshSolidReport

Struct MeshSolidReport 

Source
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: usize

Triangles built from, after the dropped ones.

§faces: usize

Faces built: the triangles, or their coplanar groups and recognized regions.

§curved_faces: usize

Faces built on a recognized curved surface.

§curved_faceted: usize

Regions 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: usize

Mesh vertices that welded onto another.

§degenerate_dropped: usize

Triangles dropped for having no area.

§duplicates_dropped: usize

Triangles dropped for repeating another’s three vertices.

§windings_flipped: usize

Triangles whose winding was reversed to agree with their neighbours and face outward.

§edges_used_once: usize

Mesh edges only one triangle uses: the rims of holes.

§edges_used_more: usize

Mesh edges three or more triangles use: non-manifold.

§orientation_conflicts: usize

Shared edges whose windings cannot be made to agree, in a piece that is not orientable.

§shells: usize

Connected pieces, each one shell.

§recognition_withdrawn: bool

Whether 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: bool

Whether 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: usize

Faces built on a fitted B-spline patch, among the curved faces.

§patch_charts_mapped: usize

Of those, the ones whose chart is the mean-value map onto a square rather than a nearly fitting canonical surface’s.

§patches_not_disk: usize

Smooth 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: usize

Smooth 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: usize

Smooth regions nothing else fitted whose fitted patch failed its verification, left faceted.

§free_edges_fitted: usize

Free 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

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for MeshSolidReport

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for MeshSolidReport

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl Eq for MeshSolidReport

Source§

impl PartialEq for MeshSolidReport

Source§

fn eq(&self, other: &Self) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for MeshSolidReport

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> Scalar for T
where T: 'static + Clone + PartialEq + Debug,

§

impl<SS, SP> SupersetOf<SS> for SP
where SS: SubsetOf<SP>,

§

fn to_subset(&self) -> Option<SS>

The inverse inclusion map: attempts to construct self from the equivalent element of its superset. Read more
§

fn is_in_subset(&self) -> bool

Checks if self is actually part of its subset T (and can be converted to it).
§

fn to_subset_unchecked(&self) -> SS

Use with care! Same as self.to_subset but without any property checks. Always succeeds.
§

fn from_subset(element: &SS) -> SP

The inclusion map: converts self to the equivalent element of its superset.
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.