Skip to main content

RemeshParams

Struct RemeshParams 

Source
pub struct RemeshParams {
    pub max_edge_intersections: usize,
    pub max_nodes: usize,
    pub min_subdivision_size: Scalar,
    pub curve_curve_min_subdivision_size: Scalar,
    pub max_trace_steps: usize,
    pub max_rewrites: usize,
}
Expand description

Every tunable remesh and its phases need. Bundled rather than passed positionally: the phases don’t share one tolerance (see curve_curve_min_subdivision_size’s own note below), so the list is long enough that positional arguments stop being readable at the call site — and each field’s meaning is documented once here instead of in every signature it’s threaded through.

Every field only affects how hard a search tries (budget, tolerance, step length), never what a converged answer means — see AGENTS.md’s “never use epsilons” rule.

Fields§

§max_edge_intersections: usize

Solution cap for the pairwise curve_curve_intersect / curve_surface_intersect searches: how many points one returns at most — its crossings, or, where the two coincide along an arc, that overlap’s ends and points spread over it. The searches find overlaps directly, not by hitting the cap.

§max_nodes: usize

Node budget for every subdivision search.

§min_subdivision_size: Scalar

Convergence tolerance for the single-shape searches (curve_could_contain / surface_could_contain).

§curve_curve_min_subdivision_size: Scalar

Convergence tolerance for the pairwise searches. Deliberately its own, looser value: empirically a pairwise search needs a much looser tolerance than a single-shape query to reliably converge within max_nodes at all — see ValidationParameters’s own doc comment.

§max_trace_steps: usize

How many marching steps one traced curve may take before it’s considered to have failed to reach a terminating vertex. An effort budget only: a trace that reaches its vertex does so in the same steps whatever the budget. The steps scale with the surfaces traced between and their curvature, not with the model’s units, so a curve takes about 16 steps across a flat face and 64 around a turn.

§max_rewrites: usize

How many rewrites — splits, merges, imprints — one stage of the remesh may make before it is considered not to settle, and how many pairs of faces one start point may trace between. An effort budget only: a stage that settles makes the same rewrites whatever the budget, and one that runs out is an error, never taken as settled.

Trait Implementations§

Source§

impl Clone for RemeshParams

Source§

fn clone(&self) -> RemeshParams

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 Copy for RemeshParams

Source§

impl Debug for RemeshParams

Source§

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

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

impl Default for RemeshParams

Source§

fn default() -> Self

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

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

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

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.