IFC4.3.x-development icon indicating copy to clipboard operation
IFC4.3.x-development copied to clipboard

Potential deprecation of IfcLogical

Open Moult opened this issue 2 years ago • 1 comments

IfcLogical as a data type presents a few issues:

  1. Complexity of serialisation: many serialisations understand booleans, but few understand logical. This prevents IFC being easier to express (ahahah get it) in other serisalisations.
  2. Ambiguity of null state. What's the difference between null and unknown?
  3. Sometimes abused to provided two bits of information in a single field (database design 101, 1 field = 1 value), like in IfcMaterialLayer.

Thoughts to deprecate and change to optional IfcBoolean?

I vaguely recall that it was maintained in some places for STEP compatibility, but not sure if that is still a priority, especially if NULL is equivalent to UNKNOWN.

Moult avatar Oct 03 '23 21:10 Moult

Well, tristate logic is fairly common ground in some domains, but I agree that our use of it in IFC is very inconsistent and of questionable value. I can support either way. Either apply it consistently and semantically sound or remove and where needed emulate with optional boolean.

aothms avatar Oct 04 '23 11:10 aothms