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 | 
| 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 | 
| 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 | 
| 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 | 
| 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 | 
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).  | 
8.3.2.3.3 Formal representation
TYPE IfcLogicalOperatorEnum = ENUMERATION OF
	(LOGICALAND
	,LOGICALNOTAND
	,LOGICALNOTOR
	,LOGICALOR
	,LOGICALXOR);
END_TYPE;