IfcLogicalOperatorEnum

BACnet MVD

#### IfcLogicalOperatorEnum

Natural language names

| Logical Operator Enum
| Enumération des opérateurs logiques

Change log

Item | SPF | XML | Change | Description
--- | --- | --- | --- | ---
IFC2x3 to IFC4
IfcLogicalOperatorEnum |  |  |  |
LOGICALXOR |  |  | ADDED |
LOGICALNOTAND |  |  | ADDED |
LOGICALNOTOR |  |  | ADDED |

##### Semantic definitions at the type

Type 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.

Table 36 illustrates application of IfcLogicalOperatorEnum in a case of three operands, A, B and C, for each operator.

LOGICALAND(A,B,C)
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
LOGICALOR(A,B,C)
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
LOGICALXOR(A,B,C)
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
LOGICALNOTAND(A,B,C)
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
LOGICALNOTOR(A,B,C)
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 36 — Logical operators

> HISTORY New enumeration in IFC2.0.

> IFC4 CHANGE Extended to include LOGICALXOR, LOGICALNOTAND and LOGICALNOTOR.

Enumeration definition

Constant | 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.
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).
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.

##### Formal representations

XML Specification
`<xs:simpleType name="IfcLogicalOperatorEnum">
<xs:restriction base="xs:string">
<xs:enumeration value="logicaland"/>
<xs:enumeration value="logicalor"/>
<xs:enumeration value="logicalxor"/>
<xs:enumeration value="logicalnotand"/>
<xs:enumeration value="logicalnotor"/>
</xs:restriction>
</xs:simpleType>
`
EXPRESS Specification
`TYPE IfcLogicalOperatorEnum = ENUMERATION OF (
LOGICALAND,
LOGICALOR,
LOGICALXOR,
LOGICALNOTAND,
LOGICALNOTOR);
END_TYPE;

EXPRESS-G diagram

`

References: IfcObjective

Link to this page