pub enum IfcBooleanOperator {
Union,
Intersection,
Difference,
}Expand description
IfcBooleanOperator: the three set operations IFC defines.
The IFC-file enumeration is distinct from the neutral operator, with an
explicit lossless conversion at the adapter boundary under lowering.
The link is feature-gated because the target crate is optional; naming it
unconditionally breaks cargo doc --no-default-features.
See axiolid_core::BooleanOperator.
Variants§
Union
.UNION. – everything in either operand.
Intersection
.INTERSECTION. – everything in both operands.
Difference
.DIFFERENCE. – first operand minus second. Not commutative;
swapping the operands of a clipping result deletes the wall instead of
the opening.
Implementations§
Source§impl IfcBooleanOperator
impl IfcBooleanOperator
Sourcepub fn parse(token: &str) -> Option<Self>
pub fn parse(token: &str) -> Option<Self>
Parse an enumeration token, with or without its surrounding dots.
Accepts any case because STEP keywords are case-insensitive and real exporters are inconsistent about it.
Sourcepub fn is_order_sensitive(self) -> bool
pub fn is_order_sensitive(self) -> bool
Does operand order change the result?
Only DIFFERENCE is order-sensitive, and it is also the most common operator in building models, so a walker that normalises operand order for caching must check this first.
Trait Implementations§
Source§impl Clone for IfcBooleanOperator
impl Clone for IfcBooleanOperator
impl Copy for IfcBooleanOperator
Source§impl Debug for IfcBooleanOperator
impl Debug for IfcBooleanOperator
Source§impl Display for IfcBooleanOperator
impl Display for IfcBooleanOperator
impl Eq for IfcBooleanOperator
Source§impl From<IfcBooleanOperator> for BooleanOperator
Available on crate feature lowering only.
impl From<IfcBooleanOperator> for BooleanOperator
lowering only.