pub struct CoonsReport {Show 13 fields
pub reversed: [bool; 4],
pub corner_gaps: [f64; 4],
pub corner_band: f64,
pub weight_scales: [f64; 4],
pub weight_closure: f64,
pub work: [CompatWork; 4],
pub degree_u: usize,
pub degree_v: usize,
pub control_rows: usize,
pub control_columns: usize,
pub min_weight: f64,
pub boundary_residual: f64,
pub ribbons: Option<RibbonReport>,
}Expand description
What the constructor had to do, and what it measured doing it.
Nothing here is inferred: every field is either a decision the constructor took (and can be replayed) or a number it measured.
Fields§
§reversed: [bool; 4]Which boundaries were reversed to make the cyclic order run consistently round the patch. Index is the caller’s boundary index.
corner_gaps: [f64; 4]Distance from boundary k’s end to boundary (k + 1) % 4’s start,
after orientation normalisation.
corner_band: f64The band those gaps were judged against.
weight_scales: [f64; 4]Factor each boundary’s homogeneous control points were scaled by to
make the corner weights agree. All 1.0 for polynomial input.
weight_closure: f64Product of end weights over product of start weights: 1.0 when the
rational corner weights close.
work: [CompatWork; 4]Degree elevation / knot insertion / domain re-mapping per boundary.
degree_u: usize§degree_v: usize§control_rows: usize§control_columns: usize§min_weight: f64Smallest rational weight in the blended control net.
boundary_residual: f64Worst distance between a boundary iso-curve’s control point and the
compatible input curve’s — 0.0 when the boundaries came back bit for
bit. Homogeneous for coons_bilinear; Euclidean for
coons_with_ribbons, whose input is polynomial by contract, so the
two coincide there.
ribbons: Option<RibbonReport>Ribbon measurements, present only for coons_with_ribbons.