IFC 4.4.0.0 build 20261005 (IFC4X4_DEV_20260525) ⚠ buildingSMART Working Draft. All content is under development.

  • Help suggest improvements
  • Get user or developer support

8.3.2.3 IfcLogicalOperatorEnum

8.3.2.3.1 Semantic definition

IfcLogicalOperatorEnum is an enumeration that defines the logical operators that may be applied for the satisfaction of one or more operands (IfcConstraint) at a time.

The following tables illustrates application of IfcLogicalOperatorEnum in a case of three operands, A, B and C, for each operator.

Operand
A F F F T F T T T
B F F T F T F T T
C F T F F T T F T
RESULT F F F F F F F T
Table A - LOGICALAND(A,B,C)
Operand
A F F F T F T T T
B F F T F T F T T
C F T F F T T F T
RESULT F T T T T T T T
Table B - LOGICALOR(A,B,C)
Operand
A F F F T F T T T
B F F T F T F T T
C F T F F T T F T
RESULT F T T T F F F F
Table C - LOGICALXOR(A,B,C)
Operand
A F F F T F T T T
B F F T F T F T T
C F T F F T T F T
RESULT T T T T T T T F
Table D - LOGICALNOTAND(A,B,C)
Operand
A F F F T F T T T
B F F T F T F T T
C F T F F T T F T
RESULT T F F F F F F F
Table E - LOGICALNOTOR(A,B,C)

{ .change-ifc2x4}

8.3.2.3.2 Type values

Type Description
LOGICALAND

Defines a relationship between operands whereby the result is true if all operands are true, and false if at least one operand is false.

LOGICALNOTAND

Defines a relationship between operands whereby the result is true if at least one operand is false, and false if all operands are true.

LOGICALNOTOR

Defines a relationship between operands whereby the result is true if all operands are false, and false if at least one operand is true.

LOGICALOR

Defines a relationship between operands whereby the result is true if at least one operand is true, and false if all operands are false.

LOGICALXOR

Defines a relationship between operands whereby the result is true if exactly one operand is true (exclusive or).

Table F

8.3.2.3.3 Formal representation

TYPE IfcLogicalOperatorEnum = ENUMERATION OF
(LOGICALAND
,LOGICALNOTAND
,LOGICALNOTOR
,LOGICALOR
,LOGICALXOR);
END_TYPE;

8.3.2.3.4 References

Edit on Github

3 contributor(s): ArturTomczakbSI-BotDion Moult
Last change: Improve definition split (#876) * bring back headers headers were previously removed by mistake, now bringing them back * add new lines and rename the tag add the word 'short' in it * unify newlines make exactly one newline before and two after the tag * resolving typos Because bringing back headers required to go back in time to previous version, I'm now re-resolving the issues: #861, #860, #856 by ArturTomczak on 2024-07-16T16:07:28+02:00

Is this page difficult to understand? Let us know!

8.3.2.3.5 Changelog

8.3.2.3.5.1 IFC4

  • item, LOGICALNOTAND
  • item, LOGICALNOTOR
  • item, LOGICALXOR