#[non_exhaustive]pub enum BooleanOperator {
Union,
Intersection,
Difference,
SymmetricDifference,
}Expand description
Regularized boolean set operation on solids.
The operand set matches axiolid-overlay’s planar contract so 2D and 3D
booleans describe the same algebra. It is deliberately not a mirror of any
one backend’s operation enum: SymmetricDifference exists here because the
set algebra has it, not because a provider offered it.
Marked #[non_exhaustive] so a future operand cannot break downstream
match arms.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Union
Points in either operand.
Intersection
Points in both operands.
Difference
Ordered: points in the subject and not in the tool.
SymmetricDifference
Points in exactly one operand, equal to (A ∪ B) \ (A ∩ B).
Implementations§
Source§impl BooleanOperator
impl BooleanOperator
Sourcepub const ALL: [Self; 4]
pub const ALL: [Self; 4]
Every operand in a stable, declared order.
Conformance suites iterate this so a new operand is automatically covered rather than silently untested.
Sourcepub const fn is_commutative(self) -> bool
pub const fn is_commutative(self) -> bool
Whether swapping the operands leaves the result unchanged.
Difference is the only ordered operand; the identity is part of the
public contract because callers rely on it to reorder work.
Trait Implementations§
Source§impl Clone for BooleanOperator
impl Clone for BooleanOperator
Source§fn clone(&self) -> BooleanOperator
fn clone(&self) -> BooleanOperator
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more