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: f64The total triangle area.
signed_volume: f64The 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: boolNo boundary loop or open chain and no non-manifold edge.
volume_reason: Option<VolumeReason>Why volume is None; None exactly when closed.
boundary_loops: usizeThe boundary loops and open chains, as analyze reports them.
non_manifold_edges: usizeHow many edges have three or more triangles.
orientation_conflicts: usizeHow 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
impl Clone for MeasureReport
Source§fn clone(&self) -> MeasureReport
fn clone(&self) -> MeasureReport
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more