axiolid_measure/properties.rs
1//! Measurement result values.
2
3use axiolid_core::{Point3, Scalar, Vec3};
4
5/// Surface/solid mass properties in local coordinates.
6#[derive(Debug, Clone, Copy, PartialEq)]
7pub struct MassProperties {
8 /// Surface area.
9 pub area: Scalar,
10 /// Signed volume; orientation determines sign.
11 pub signed_volume: Scalar,
12 /// Volume centroid.
13 pub centroid: Point3,
14 /// Diagonal of second moments about the origin.
15 pub second_moment_diagonal: Vec3,
16}