Right now we have only a boolean toggle Geometry3D that decides whether containment is evaluated by inclusion of the whole Geometry or the whole Geometry3D.
An enum could instead be defined to allow for additional rules:
ContainsGeometry3D
ContainsGeometry
ContainsCentroid
ContainsCorners
In particular, ContainsCorners could be useful in cases such as:
where the red panel is an imaginary panel that traverses 2 zones (the purple one and the cyan one). This panel should be evaluated as "passing" if at least one of the Zone Specifications (purple/cyan ones) is passing.
This can also be useful to solve "interface objects", that is, objects that are near a border between two boundingBoxes. You can then define the boundingBox to check for ContainsCentroid instead of ContainsGeometry, so the nearby bounding box can still correctly evaluate all other objects as contained.
Right now we have only a boolean toggle
Geometry3D
that decides whether containment is evaluated by inclusion of the whole Geometry or the whole Geometry3D.An
enum
could instead be defined to allow for additional rules:In particular, ContainsCorners could be useful in cases such as:
where the red panel is an imaginary panel that traverses 2 zones (the purple one and the cyan one). This panel should be evaluated as "passing" if at least one of the Zone Specifications (purple/cyan ones) is passing.
This can also be useful to solve "interface objects", that is, objects that are near a border between two boundingBoxes. You can then define the boundingBox to check for ContainsCentroid instead of ContainsGeometry, so the nearby bounding box can still correctly evaluate all other objects as contained.