Skip to main content

CarrierDeviation

Struct CarrierDeviation 

Source
pub struct CarrierDeviation {
    pub band: f64,
    pub lane: OffsetSurfaceLane,
    pub surface: Option<MeasuredTolerance>,
    pub edges: Vec<(u64, MeasuredTolerance)>,
    pub vertices: Vec<(u64, f64)>,
}
Expand description

Everything an offset carrier’s construction MEASURED about itself.

The measured half of occt-offset-algorithms.md §6.1’s ADOPT, in the place this kernel can put it without a durable-format change: alongside the transient construction result, never as a field on a crate::BrepSolid record. io/snapshot.rs is a documented durable format and SOLID_CODEC_VERSION a versioned wire layout; persisting per-entity tolerances is real, planned, and separately designed (docs/developer/kernel-plans/per-entity-tolerances.md S3). This lands the measurement with no format churn at all.

Every number here is a RECORD. None of it widens a band — see MeasuredTolerance’s direction rule.

Fields§

§band: f64

The derived band every measurement below was judged against: crate::offset_construction_band of the source solid’s extent.

§lane: OffsetSurfaceLane

Which branch built the carrier surface.

§surface: Option<MeasuredTolerance>

The carrier surface’s own fit error, when the lane has one.

§edges: Vec<(u64, MeasuredTolerance)>

max_t ‖C_3d(t) − S_off(p(t))‖ per carrier edge id, folded over every coedge that references the edge — OCCT’s FillEdgeData rule (BRepOffset_SimpleOffset.cxx:296-310), which takes the maximum over every adjacent face rather than the first one.

§vertices: Vec<(u64, f64)>

Per carrier vertex id, propagated from the incident edge ends by crate::vertex_tolerance_from_edges — which is also where the verdict on OCCT’s 1.001 inflation factor is recorded.

Implementations§

Source§

impl CarrierDeviation

Source

pub fn worst(&self) -> Option<MeasuredTolerance>

The worst thing the construction did, against the tightest band it faced. None only when there was nothing at all to measure.

Source

pub fn exceedances(&self) -> Vec<String>

The entities whose measured deviation exceeded the derived band — the interesting case, and the only one any gate acts on.

Trait Implementations§

Source§

impl Clone for CarrierDeviation

Source§

fn clone(&self) -> CarrierDeviation

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 CarrierDeviation

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