Skip to main content

ImprintOptions

Struct ImprintOptions 

Source
pub struct ImprintOptions {
    pub tolerance: f64,
    pub maximum_fit_points: usize,
    pub local_fit: bool,
    pub fit_chunk_points: Option<usize>,
    pub maximum_ssi_step: Option<f64>,
    pub span_budget: Option<f64>,
    pub hermite_sections: bool,
    pub tangent_curve_lane: bool,
    pub exact_iso_pcurves: bool,
    pub march_starts: bool,
    pub two_radius_junctions: bool,
    pub tangent_curve_imprint: bool,
}

Fields§

§tolerance: f64§maximum_fit_points: usize§local_fit: bool§fit_chunk_points: Option<usize>§maximum_ssi_step: Option<f64>§span_budget: Option<f64>

None, the default, marches exactly as before. BREP_SPAN_BUDGET overrides either way: fit is the pair’s intersection_fit at the operands’ scale, a number is an absolute budget, off is none. BREP_SPAN_CENSUS=<file> appends one line per clipped section with its stations, deviation and refine route (span-budget census:), labelled by BREP_CENSUS_LABEL.

§hermite_sections: bool

Implies a span budget of the pair’s intersection_fit when none is set. Off by default; BREP_HERMITE_SECTIONS overrides either way (0 off, anything else on).

§tangent_curve_lane: bool

The TANGENT-CURVE lane: where an exact lane proves a pair’s transverse intersection empty, or the tangential-only gate would skip it, and the pair classification reads near-tangent, look for an EXTENDED contact (crate::tangent_curve), march it with one planar carrier, and record it as a typed tangent section (ImprintResultRecord::tangent_sections). The boolean then names the contact in any refusal it raises on the pair instead of leaking the arrangement’s own message. On by default since the census of 2026-10-10 (every manifest leaf identical with the lane on and off, hlr_tests green both ways); the section is recorded, never imprinted, so nothing the boolean builds changes. BREP_TANGENT_CURVE_LANE=0 is the escape hatch. Appended at the end of the struct (2026-10-10).

§exact_iso_pcurves: bool

EXACT PCURVES FOR THE PLANAR-ISO LANE (slice 1, 2026-10-11, the catalogue’s P3 applied to the exact lane): a section the planar-iso lane answers is an iso-curve of the ruled carrier and an affine image on the plane, so both pcurves are written down on the curve’s own knots (support::planar_iso_section) instead of fitted, and the junction pass moves their ends instead of re-marching them. Off by default (the fitted pcurves are the shipped bytes); BREP_EXACT_ISO_PCURVES overrides either way: 0/off, on, or check, which fits as before and appends one census line per pcurve comparing the fitted and the exact one in 3-D (BREP_EXACT_ISO_CENSUS=<file>, labelled by BREP_CENSUS_LABEL). A face read in a lifted chart declines the exact pcurve (the iso line is in the carrier’s frame). Appended at the end of the struct.

§march_starts: bool

MARCH STARTS: every surface/surface march the imprint runs traces its starts in order (explicit trim-boundary pierces first, the most transverse first, a run-through start consumed with a snapped station) and seeds its interior candidates from the two carriers’ knot-span leaves instead of a fixed grid (SurfaceIntersectionOptions::ordered_starts, SurfaceIntersectionOptions::tree_seeds). Off by default (the grid-then-seeds march is the shipped one, byte for byte); BREP_MARCH_STARTS overrides either way: 0/off, order (A3’s ordering alone), snap (the ordering with run-through starts consumed), tree (A4 alone), order+tree, anything else all three. Appended at the end of the struct.

§two_radius_junctions: bool

Candidates for one junction are captured within the wide residual band; two combine only when they are connected (share a support face) and lie within the strict radius built from their own evidence radii; the surviving position is the lowest-dimensional candidate’s, an operand vertex over an operand edge’s crossing over a section end on two carriers. Off by default until the census in the record promotes it; BREP_JUNCTION_COMBINE overrides either way (0/off, check for the census that logs every junction’s candidates to BREP_JUNCTION_CENSUS without moving anything, anything else on). Appended at the end of the struct (2026-10-11).

§tangent_curve_imprint: bool

IMPRINT THE TANGENT SECTION (the pinched result): a planar-carrier contact the tangent-curve lane traced is also IMPRINTED — process_curve on the clipped run, so the contact becomes a section piece on both carriers, the operand edges its ends lie on are split there, and every earlier piece the ends lie on (the through-bore’s cap circles) is split at them — and its piece ids are recorded in TangentSectionRecord::piece_ids. The boolean’s assembler then pairs the four coedges of such a piece by MATERIAL SIDE (two edge records on one locus, each manifold) instead of by arrival, so the grazing through-bore builds as one shell whose tangent edge is carried twice. On by default since the census of 2026-10-11 (the battery moving only the pins that asserted the old refusal and the recentre pin whose unguarded far fillet now completes); BREP_TANGENT_CURVE_IMPRINT=0 is the escape hatch. Requires tangent_curve_lane. Appended at the end of the struct (2026-10-11).

Trait Implementations§

Source§

impl Clone for ImprintOptions

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 ImprintOptions

Source§

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

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

impl Default for ImprintOptions

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl<'de> Deserialize<'de> for ImprintOptions

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. 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> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

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