Skip to main content

MeasureReport

Struct MeasureReport 

Source
pub struct MeasureReport {
    pub area: f64,
    pub signed_volume: f64,
    pub volume: Option<f64>,
    pub closed: bool,
    pub volume_reason: Option<VolumeReason>,
    pub boundary_loops: usize,
    pub non_manifold_edges: usize,
    pub orientation_conflicts: usize,
}
Expand description

Scalar measurements of a mesh, see measure.

Fields§

§area: f64

The total triangle area.

§signed_volume: f64

The signed divergence-theorem sum, sum dot(p, cross(q, r)) / 6. Its sign follows the winding (negative for inward-wound closed meshes); meaningless when the mesh is not watertight, since the sum then depends on where the missing caps would be.

§volume: Option<f64>

The enclosed volume, |signed_volume|, when the mesh is watertight (closed); None otherwise, with volume_reason saying why.

§closed: bool

No boundary loop or open chain and no non-manifold edge.

§volume_reason: Option<VolumeReason>

Why volume is None; None exactly when closed.

§boundary_loops: usize

The boundary loops and open chains, as analyze reports them.

§non_manifold_edges: usize

How many edges have three or more triangles.

§orientation_conflicts: usize

How many interior edges are used in the same direction by both their triangles (flipped winding nearby makes volume unreliable).

Trait Implementations§

Source§

impl Clone for MeasureReport

Source§

fn clone(&self) -> MeasureReport

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 MeasureReport

Source§

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

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

impl PartialEq for MeasureReport

Source§

fn eq(&self, other: &MeasureReport) -> 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 MeasureReport

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
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> 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 = Infallible

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

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

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.