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

where-rule may return indeterminate value for a valid model

Open I-Sokolov opened this issue 1 year ago • 10 comments

Some of functions can return indeterminate (?) value explicitly

  • IfcCorrectLocalPlacement
  • IfcCrossProduct
  • IfcCurveDim
  • IfcFirstProjAxis
  • IfcListToArray
  • IfcMakeArrayOfArray
  • ...

At least one of them is where rule.

Even ISO allows this, the semantic for where rules is not clear "it shall be neither violated nor asserted when the expression evaluates to a indeterminate". Does it mean model valid or not? I am tending to think "neither violated nor asserted" includes "not asserted" and model is not valid, in other words - invalid:) For example, it can happen when an expected value missed.

However, IfcCorrectLocalPlacement explicitly returns (?) in valid cases.

I'm suggesting

  1. Assume where rule that returns indeterminate fails (in general)
  2. Rework IfcCorrentLocalPlacement (related issue #615 )
  3. Inspect that other rules does not return indeterminate for valid cases.

I-Sokolov avatar Jun 01 '24 03:06 I-Sokolov