Skip to main content

StepExportReport

Struct StepExportReport 

Source
pub struct StepExportReport {
    pub text: String,
    pub pcurves_written: usize,
    pub pcurves_omitted: usize,
    pub surface_curves: usize,
    pub seam_curves: usize,
    pub bare_curves: usize,
    pub vertex_loops: usize,
    pub max_pcurve_deviation: f64,
    pub worst_omitted_deviation: f64,
}
Expand description

The AP214 document plus what the writer measured while producing it.

The pcurve counters are the honest half of the verify-or-omit contract in step/pcurve.rs: a pcurve is written only when the emitted 2D geometry was proved to reproduce the emitted 3D curve, and every one that could not be proved is COUNTED here rather than guessed into the file. A reader reprojects an omitted pcurve exactly as it must reproject every pcurve in the files this exporter wrote before curve-on-surface geometry existed.

Fields§

§text: String

The Part 21 text.

§pcurves_written: usize

PCURVE entities written — at most one per coedge use of a non-degenerate edge.

§pcurves_omitted: usize

Coedge uses left without a pcurve because no candidate 2D geometry verified inside the export band.

§surface_curves: usize

Edges written as SURFACE_CURVE (their two uses sit on two surfaces).

§seam_curves: usize

Edges written as SEAM_CURVE (both uses on ONE surface — a periodic seam, the case an importer otherwise has to re-detect geometrically).

§bare_curves: usize

Edges that kept a bare 3D curve for edge_geometry, because no pcurve survived (or a seam lost one of the pair it is required to carry).

§vertex_loops: usize

Collapsed face boundaries written as VERTEX_LOOP — cone apexes and sphere poles, which this writer used to drop entirely.

§max_pcurve_deviation: f64

Largest verified ‖S(c₂d(s)) − c₃d(s)‖ among the pcurves actually written, in model units.

§worst_omitted_deviation: f64

Largest deviation among the BEST candidate for each OMITTED pcurve — how far the closest miss was, so an omission can be diagnosed as “a candidate applied and missed the band by this much” rather than only counted. Zero when nothing was omitted.

It is infinite when ANY omission had no candidate proposed at all, which then hides the finite misses behind it — the two omission classes share one counter. Splitting them is a follow-up; the max is the useful half, because it is the finite value that says whether widening the band would have helped.

Trait Implementations§

Source§

impl Clone for StepExportReport

Source§

fn clone(&self) -> StepExportReport

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 StepExportReport

Source§

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

Formats the value using the given formatter. Read more
Source§

impl Default for StepExportReport

Source§

fn default() -> StepExportReport

Returns the “default value” for a type. 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