Function symmetric_difference_via_composition

Source
pub fn symmetric_difference_via_composition<P>(
    provider: &P,
    subject: &TriMesh,
    tool: &TriMesh,
    options: &ExecutionOptions,
) -> Result<BooleanOutcome, GeomError>
where P: MeshBoolean + ?Sized,
Expand description

Compose A △ B as (A ∪ B) \ (A ∩ B).

Free-standing rather than a trait default so a provider cannot accidentally inherit a composed implementation while reporting sub_operations: 1. A native implementor overrides MeshBoolean::boolean and never calls this.

Composition is the reason BooleanEvidence::sub_operations exists: without it a caller cannot tell a three-pass emulation from a single-pass primitive, and the two have materially different numerical behaviour.