The SEDRIS Data Representation Model
APPENDIX A - Classes State Related Geometry |
---|
An instance of this DRM class specifies a state related organization of <Geometry Hierarchy> components where each <Geometry Hierarchy> component represents a separate discrete state from a possibly continuous state value. Each discrete state corresponds to a branch of the <State Related Geometry> instance and is identified by the <State Data> link object for that branch. The state value itself is specified by the state_tag of the <State Related Geometry> instance.
Consider a <Model> instance of a building that has four different geometric representations, each representing different damage states. The <Model> instance therefore has a <Geometry Model> component, the geometry of which is organized using a <State Related Geometry> component with four branches, one for each damage state, as in Figure 6.67.
Each branch of the <State Related Geometry> instance is specified through a <State Data> link object indicating the range of percent damage that the branch represents. The range values in the diagram therefore specify explicitly the bins in which the states fall.
Consider a slightly different design for the previous example, modified to allow each <Geometry Model Instance> instance to specify a percent damage value using a <State Control Link> instance.
The mismatch_behaviour of the <State Control Link> instance can be exploited to turn off the <Geometry Model Instance> instance if a damage value is provided that does not match one of the damage states. This allows the <Model> instance to not require a totally destroyed state for 100% damage. If the data provider instead wanted to keep a state transition from happening until the state value matches a <State Data> link object, SE_STMISMBEH_LAST is specified. The mismatch_behaviour is not needed if the <Variable> instance only takes on valid values.
A wind sock model designed to support a landing site has state behaviour to allow it to respond to wind speed and wind direction. The wind sock is modelled with five states of EAC_WIND_RESPONSE, where the response to wind direction is implemented by using a <Rotation Control Link> instance with a <Variable> component having a meaning of EAC_WIND_DIRECTION as depicted in Figure 6.68:
A <State Related Geometry> instance represents different states of an aircraft hatch for EAC_OPENING_COVER_POSITION, one <State Data> link object with EEC_OPNCOVPOS_CLOSED and another with EEC_OPNCOVPOS_OPEN.
A <State Related Geometry> instance represents different damage states of a building for EAC_GENERAL_DAMAGE_FRACTION with <State Data> link objects for [0, 25) % damage, [25, 50) % damage, [75, 100) % damage, and [100, 100) % damage.
To represent a forest as healthy versus burned, a <State Related Geometry> instance with state_tag set to EAC_GENERAL_DAMAGE_FRACTION is used.
No. <Control Link> instances can be used to provide a fine level of control over state by changing fields instead of representing states as different <Geometry Representation> instances.
SE_Boolean | unique_descendants; | 9 |
---|---|---|
SE_Boolean | strict_organizing_principle; | 10 |
EDCS_Attribute_Code | state_tag; | 11 |
---|---|---|
EDCS_Attribute_Value | active_state_value; | 12 |
If the value of the unique_descendants field is SE_TRUE, each descendant of this aggregation, that is, each <Geometry Representation> instance that exists in the component tree rooted at the <Aggregate Geometry> instance shall be unique, in the sense that it shall appear in only one branch of this aggregation. If unique_descendants is SE_FALSE, at least one <Geometry Representation> instance appears in more than one branch of the aggregation.
If the value of the strict_organizing_principle field is SE_TRUE, each branch of this aggregation strictly complies with the organizing principle for its particular subclass. If this value is SE_FALSE, at least one branch does not strictly comply with the given organizing principle. See the organizing principle constraint for each specific subclass for details.
The state_tag field specifies the state by which the <Geometry Hierarchy> components are being differentiated and shall specify an EAC that qualifies as state applicable.
The active_state_value field specifies the default state. If the <State Related Geometry> instance has a <State Control Link> component, the value of the active_state_value field is obtained from that <State Control Link> instance.
|