The SEDRIS Data Representation Model
APPENDIX B - Constraints No Attribute Conflicts |
---|
No two directly attached <Property Value> components of an object instance may specify identical values for their meaning fields.
If an inherited <Property Value> has the same meaning field value as a directly attached <Property Value>, then the directly attached component replaces the inherited component in the inheritance context.
No two directly attached <Property Description> components of an object instance may specify identical values for their meaning fields.
If an inherited <Property Description> has the same meaning field value as a directly attached <Property Description>, then the directly attached component replaces the inherited component in the inheritance context.
The intent of this constraint is eliminate ambiguity in specifying the attributes of an object instance.
Consider a <Union Of Primitive Geometry> instance that is a collection of <Polygon> instances representing a parking lot that is primarily surfaced with asphalt but has a few patches of concrete.
The <Union Of Primitive Geometry> instance has a <Property Value> component with meaning = { SE_PROP_CODE_TYP_ATTRIBUTE, {{ EAC_PRIMARY_MATERIAL_TYPE }} and its value is EEC_PRIATTY_ASPHALT. This is inherited by all the <Polygon> components of the union, so that if a <Polygon> instance represents a section of asphalt, it need not specify any further information.
Consider a <Polygon> in the union which represents one of the areas of concrete. This <Polygon> has a <Property Value> component which also has meaning = { SE_PROP_CODE_TYP_ATTRIBUTE, {{ EAC_PRIMARY_MATERIAL_TYPE }} but with value EEC_PRIATTY_CONCRETE. For that <Polygon>, the EEC_PRIATTY_CONCRETE value overrides the inherited EEC_PRIATTY_ASPHALT value.
Produce the building <Model> as a component <Model> in the <Model Library>. (That is, set the <Model>'s model_reference_type field to SE_MDL_REF_TYP_COMPONENT.)
The <Geometry Model>'s <Geometry Hierarchy> (and/or <Feature Model>'s <Feature Hierarchy>, as the case may be) is just a <Geometry Model Instance> (or <Feature Model Instance>) which instances the building component model in (1), above.
Similarly, add a separate model to the <Model Library> for the post office.
|