pub struct BooleanResult<'m> { /* private fields */ }Expand description
IfcBooleanResult: two operands combined by a set operation.
See the module docs: the operands form a tree and may themselves be boolean results.
Implementations§
Source§impl<'m> BooleanResult<'m>
impl<'m> BooleanResult<'m>
Sourcepub fn new(id: EntityId, entity: &'m Entity) -> Self
pub fn new(id: EntityId, entity: &'m Entity) -> Self
Wrap an entity assumed to be an IfcBooleanResult or a subtype.
Sourcepub fn operator(&self) -> GeometryResult<IfcBooleanOperator>
pub fn operator(&self) -> GeometryResult<IfcBooleanOperator>
The set operation, parsed.
An unrecognised token is an error rather than a silent UNION, because substituting the wrong operator produces a solid that looks built.
Sourcepub fn first_operand(&self) -> GeometryResult<EntityId>
pub fn first_operand(&self) -> GeometryResult<EntityId>
The first operand’s reference. For DIFFERENCE this is the minuend.
Sourcepub fn second_operand(&self) -> GeometryResult<EntityId>
pub fn second_operand(&self) -> GeometryResult<EntityId>
The second operand’s reference. For DIFFERENCE this is the subtrahend.
Sourcepub fn operands(&self) -> GeometryResult<(EntityId, EntityId)>
pub fn operands(&self) -> GeometryResult<(EntityId, EntityId)>
Both operands in schema order.
Order is preserved and must never be normalised for a DIFFERENCE; see
IfcBooleanOperator::is_order_sensitive.
Sourcepub fn operand_kind(
&self,
model: &'m Model,
operand: EntityId,
) -> GeometryResult<Option<OperandKind>>
pub fn operand_kind( &self, model: &'m Model, operand: EntityId, ) -> GeometryResult<Option<OperandKind>>
Classify an operand, resolving it in model.
Returns None for an entity type that is not a legal operand, letting a
caller report the file’s own inconsistency with its own context.
Sourcepub fn is_clipping(&self) -> bool
pub fn is_clipping(&self) -> bool
Is this the IfcBooleanClippingResult specialisation?