buildingSMART / buildingSMART/IFC4.x-development

where-rule may return indeterminate value for a valid model

Open
#852 10 comments 0 reactions 0 assignees View on GitHub
ifc-update-out
Dominant language
Python
Stars
234
Forks
123
Avg merge
15h 4m
Merged PRs (30d)
5

Description

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.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.