Skip to main content

GordonReport

Struct GordonReport 

Source
pub struct GordonReport {
Show 24 fields pub u_order: Vec<usize>, pub v_order: Vec<usize>, pub u_reversed: Vec<bool>, pub v_reversed: Vec<bool>, pub u_parameters: Vec<f64>, pub v_parameters: Vec<f64>, pub crossing_band: f64, pub closest_approach: f64, pub crossing_gap: f64, pub parameter_spread: f64, pub u_weight_scales: Vec<f64>, pub v_weight_scales: Vec<f64>, pub weight_closure: f64, pub u_work: Vec<CompatWork>, pub v_work: Vec<CompatWork>, pub skin_degree_u: usize, pub skin_degree_v: usize, pub degree_u: usize, pub degree_v: usize, pub control_rows: usize, pub control_columns: usize, pub min_weight: f64, pub interpolation_bound: f64, pub sampled_interpolation_residual: f64,
}
Expand description

What the constructor had to do, and what it measured doing it.

Per-curve vectors indexed by caller index say so; everything else about a curve’s POSITION is in network order — v increasing for u-curves, u increasing for v-curves.

Fields§

§u_order: Vec<usize>

Caller index of the u-curve at each network position (v increasing).

§v_order: Vec<usize>

Caller index of the v-curve at each network position (u increasing).

§u_reversed: Vec<bool>

Which u-curves were reversed to run with +u. Caller order.

§v_reversed: Vec<bool>

Which v-curves were reversed to run with +v. Caller order.

§u_parameters: Vec<f64>

The u at which each network v-curve sits: 0.0, the shared interior crossing parameters, 1.0.

§v_parameters: Vec<f64>

The v at which each network u-curve sits.

§crossing_band: f64

The band every crossing was judged against.

§closest_approach: f64

Worst closest-approach distance of a pair at its own crossing.

§crossing_gap: f64

The ADMITTED CROSSING MISS: the worst distance between a u-curve and a v-curve at the families’ shared crossing parameters. No surface passes through two curves that disagree there, so this is the input’s own disagreement, and it is what separates “interpolated to round-off” (this reads round-off too) from “within the bound because the input missed by this much”. Read it beside Self::interpolation_bound.

§parameter_spread: f64

Worst offset of a pair’s own crossing parameter from the shared one.

§u_weight_scales: Vec<f64>

Factor each u-curve’s homogeneous control points were scaled by to reconcile the weights at the crossings. All 1.0 for polynomial input. Caller order.

§v_weight_scales: Vec<f64>

As Self::u_weight_scales, for the v-curves.

§weight_closure: f64

The reconciled weight ratio farthest from 1 over every crossing.

§u_work: Vec<CompatWork>

Degree elevation / knot insertion / domain re-mapping per u-curve.

§v_work: Vec<CompatWork>

As Self::u_work, for the v-curves.

§skin_degree_u: usize

Degree of the cardinal functions that skin the v-curves across u.

§skin_degree_v: usize

Degree of the cardinal functions that skin the u-curves across v.

§degree_u: usize§degree_v: usize§control_rows: usize§control_columns: usize§min_weight: f64

Smallest rational weight in the blended control net.

§interpolation_bound: f64

Worst homogeneous distance between the surface’s iso-curve at a network parameter and its compatible (weight-reconciled) input curve, control point against control point. The basis is a non-negative partition of unity, so this bounds the homogeneous curve deviation everywhere along the curve, not just at samples — in exact arithmetic. It is not a bound on Self::sampled_interpolation_residual: that reading is Euclidean and carries two evaluators’ round-off, so at round-off scale it can read above this, and for rational input the Euclidean deviation can exceed the homogeneous one by up to (1 + |point|) / weight. Round-off when Self::crossing_gap is; otherwise it carries that miss — half of it through an interior crossing, all of it at an interior curve’s end on a boundary.

§sampled_interpolation_residual: f64

Worst Euclidean distance between the surface and an input curve, evaluated by the kernel’s surface and curve evaluators at uniform samples of every curve — an independent reading of the same promise.

Trait Implementations§

Source§

impl Clone for GordonReport

Source§

fn clone(&self) -> Self

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 GordonReport

Source§

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

Formats the value using the given formatter. Read more

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

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

fn try_from(value: U) -> Result<T, !>

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.
Source§

impl<S, T> Upcast<T> for S
where T: UpcastFrom<S> + ?Sized, S: ?Sized,

Source§

fn upcast(&self) -> &T
where Self: ErasableGeneric, T: Sized + ErasableGeneric<Repr = Self::Repr>,

Perform a zero-cost type-safe upcast to a wider ref type within the Wasm bindgen generics type system. Read more
Source§

fn upcast_into(self) -> T
where Self: Sized + ErasableGeneric, T: Sized + ErasableGeneric<Repr = Self::Repr>,

Perform a zero-cost type-safe upcast to a wider type within the Wasm bindgen generics type system. Read more