Skip to main content

boolean_dispatch_full

Function boolean_dispatch_full 

Source
pub fn boolean_dispatch_full(
    mesh_a: &ManifoldImpl,
    mesh_b: &ManifoldImpl,
    op: OpType,
    engine: BooleanEngine,
    rule: WindingRule,
    token: Option<&CancelToken>,
    progress: Option<&ProgressReporter>,
) -> ManifoldImpl
Expand description

boolean_dispatch_with_progress with an explicit winding rule.

Winding rules are a robust-engine semantic: the exact engine has no cell labels to reinterpret and ignores rule entirely. Because of that, Auto with [WindingRule::Nonzero] resolves to Robust even for two clean manifold operands — nonzero semantics can only be honored there, and silently answering with positive-rule geometry would be worse than paying for the robust pipeline. An explicit Exact still runs the exact engine, rule and all, so a caller who pinned the engine gets exactly what it asked for.

[WindingRule::Positive] is byte-for-byte boolean_dispatch_with_progress, including Auto’s resolution.