pub enum BooleanOperand {
Solid(EntityId),
HalfSpace(EntityId),
BooleanResult(EntityId),
CsgPrimitive(EntityId),
TessellatedFaceSet(EntityId),
}Expand description
IfcBooleanOperand = IfcSolidModel | IfcHalfSpaceSolid |
IfcBooleanResult | IfcCsgPrimitive3D | IfcTessellatedFaceSet.
§Why the branch matters
Self::HalfSpace is the one operand a kernel cannot tessellate on its
own, because a half space is infinite. A caller that treats all operands
alike will hand a kernel something unboundable; distinguishing the branch
here is what lets it clip first.
Variants§
Solid(EntityId)
A solid model: swept, brep, CSG or disk-swept.
HalfSpace(EntityId)
An infinite half space. Only meaningful inside a boolean.
BooleanResult(EntityId)
A nested boolean result: the operand tree is recursive.
CsgPrimitive(EntityId)
An analytic CSG primitive.
TessellatedFaceSet(EntityId)
A tessellated face set (IFC4 ADD2 permits these as operands).
Implementations§
Trait Implementations§
Source§impl Clone for BooleanOperand
impl Clone for BooleanOperand
impl Copy for BooleanOperand
Source§impl Debug for BooleanOperand
impl Debug for BooleanOperand
impl Eq for BooleanOperand
Source§impl PartialEq for BooleanOperand
impl PartialEq for BooleanOperand
impl StructuralPartialEq for BooleanOperand
Auto Trait Implementations§
impl Freeze for BooleanOperand
impl RefUnwindSafe for BooleanOperand
impl Send for BooleanOperand
impl Sync for BooleanOperand
impl Unpin for BooleanOperand
impl UnsafeUnpin for BooleanOperand
impl UnwindSafe for BooleanOperand
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
Mutably borrows from an owned value. Read more