The SEDRIS Data Representation Model
APPENDIX B - Constraints Non Empty Model Instance |
---|
All <Model> instances shall have either a <Feature Model> component, a <Geometry Model> component, or both.
A <Model> instance is permitted to have an "empty" <Geometry Model> component, that is, a <Geometry Model> component without a <Geometry Hierarchy> component, only if
The <Model> instance either does not have a <Feature Model> component, or its <Feature Model> component is "empty".
The <Model> instance has a <Classification Data> component with tag = ECC_OBJECT.
The <Model> instance is tagged as SE_MODREFTYP_ROOT_AND_COMPONENT so that it can be instanced within <Environment Root> scopes as well as other <Model> instances, and
The "empty" <Geometry Model> instance has no <Attachment Point> component, <Contact Point> component, or <LSR Transformation> component, since these components require the presence of a <Geometry Hierarchy> component.
A <Model> instance is permitted to have an "empty" <Feature Model> component, that is, a <Feature Model> component without a <Feature Hierarchy> component, only if
The <Model> instance either does not have a <Geometry Model> component, or its <Geometry Model> component is empty.
The <Model> instance has a <Classification Data> component with tag = ECC_OBJECT.
The <Model> instance is tagged as SE_MODREFTYP_ROOT_AND_COMPONENT so that it can be instanced within <Environment Root> scopes as well as other <Model> instances.
No <Model> instance other than a properly constructed "empty" <Model> instance is permitted to have a <Classification Data> component with tag = ECC_OBJECT.
The DRM notation cannot enforce an "or" aggregation. Consequently, this constraint is required.
Allowing a <Feature Model> to be empty permits a <Feature Model Instance> to associate to an "empty" <Feature Model>. The semantic restrictions on "empty" models will only have to be performed at the model level, rather than at model instance objects all over the transmittal.
Allowing a <Geometry Model> to be empty permits a <Geometry Model Instance> to associate to an "empty" <Geometry Model>. The semantic restrictions on "empty" models will only have to be performed at the model level, rather than at model instance objects all over the transmittal.
No example supplied.
An "empty" <Model> shall have the required <Classification Data> component with tag = ECC_OBJECT. Since its components, and their component hierarchies are required to be stored in the same transmittal, ITR references are not a concern.
This question has more than one possible answer. One approach would be the following.
A similar procedure would work if the references to the empty <Model> instance were needed in the scope of an <Environment Root> instance rather than in other <Model> instances.
|