#[non_exhaustive]pub struct LinearTransformMeasurements {
pub classification: LinearTransformClassification,
pub axis_lengths: Option<[f64; 3]>,
pub determinant: Option<f64>,
pub orientation: Option<LinearTransformOrientation>,
pub rotation_xyzw: Option<[f32; 4]>,
pub uniform_scale: Option<f64>,
}Expand description
Deterministic facts derived from the linear 3x3 part of an affine matrix.
Numeric fields are present for every finite observation and absent only for
LinearTransformClassification::NonFinite. uniform_scale is present
when the columns are mutually orthogonal and have one common length,
including reflected uniform transforms. Derived numeric fields use f64
so determinant products remain representable across finite f32 matrices.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.classification: LinearTransformClassificationStable transform class.
axis_lengths: Option<[f64; 3]>Lengths of the X, Y, and Z matrix columns.
determinant: Option<f64>Determinant of the linear 3x3 matrix.
orientation: Option<LinearTransformOrientation>Determinant sign, using the same relative singularity tolerance as the classification.
rotation_xyzw: Option<[f32; 4]>Canonical XYZW proper-orthogonal polar rotation of the linear part, present exactly for a right-handed unit-orthonormal transform.
uniform_scale: Option<f64>Common orthogonal axis length when one is well-defined.
Trait Implementations§
Source§impl Clone for LinearTransformMeasurements
impl Clone for LinearTransformMeasurements
Source§fn clone(&self) -> LinearTransformMeasurements
fn clone(&self) -> LinearTransformMeasurements
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more