#[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: [BooleanOperator; 4]
pub const ALL: [BooleanOperator; 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 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for BooleanOperator
impl Debug for BooleanOperator
Source§impl Hash for BooleanOperator
impl Hash for BooleanOperator
Source§impl PartialEq for BooleanOperator
impl PartialEq for BooleanOperator
impl Copy for BooleanOperator
impl Eq for BooleanOperator
impl StructuralPartialEq for BooleanOperator
Auto Trait Implementations§
impl Freeze for BooleanOperator
impl RefUnwindSafe for BooleanOperator
impl Send for BooleanOperator
impl Sync for BooleanOperator
impl Unpin for BooleanOperator
impl UnwindSafe for BooleanOperator
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