pub struct BooleanOptions {
pub deflection: f64,
pub tolerance: Tolerance,
pub unify_faces: bool,
pub heal_after_boolean: bool,
}Expand description
Options for boolean operations.
Fields§
§deflection: f64Tessellation deflection for non-planar faces.
Lower values produce more triangles (more accurate but slower). Default: 0.1.
tolerance: ToleranceTolerance for geometric comparisons.
Controls vertex merging, point classification, and predicate
thresholds throughout the boolean pipeline. Default: Tolerance::new().
unify_faces: boolMerge co-surface face fragments after assembly.
When true, the pipeline calls unify_faces to merge adjacent faces
that share the same underlying surface (same-domain
analysis). This dramatically reduces face count – e.g. sequential
booleans on curved surfaces drop from 2871 to ~106 faces.
Non-convex merged faces are handled correctly by the
polygon_clip_intervals fallback in the analytic chord splitter,
so this is safe for intermediate results fed into further booleans.
Default: true.
heal_after_boolean: boolRun full shape healing on the boolean result via crate::heal::heal_solid.
Use for final results only – healing can corrupt intermediates fed into further booleans (non-convex merged faces confuse chord splitting).
Default: false.
Trait Implementations§
Source§impl Clone for BooleanOptions
impl Clone for BooleanOptions
Source§fn clone(&self) -> BooleanOptions
fn clone(&self) -> BooleanOptions
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for BooleanOptions
Source§impl Debug for BooleanOptions
impl Debug for BooleanOptions
Auto Trait Implementations§
impl Freeze for BooleanOptions
impl RefUnwindSafe for BooleanOptions
impl Send for BooleanOptions
impl Sync for BooleanOptions
impl Unpin for BooleanOptions
impl UnsafeUnpin for BooleanOptions
impl UnwindSafe for BooleanOptions
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more