Property
|
Description
|
Class
|
- <DRM State Related Geometry>
|
Superclass
|
|
Subclass
|
|
Definition
|
An instance of this DRM class specifies a mechanism for specifying
discrete states from a possibly continuous
state value. Each discrete state corresponds to a branch of the
<DRM State Related Geometry>
instance and is
identified by the <DRM State Data> instance for
that branch; the state value itself is given by the
state_tag
of <DRM State Related Geometry>
instance.
The state_tag field
specifies the state by which the component
<DRM Geometry Hierarchy> instances
are being differentiated, and shall be an EAC that is designated
as state applicable.
The active_state_value specifies the default state. If the given
<DRM State Related Geometry>
instance has a
<DRM State Control Link>
component, this field is the target of that
<DRM State Control Link> instance.
|
Clarifications
|
1
An association between a
<DRM Feature Representation>
instance and a
<DRM Geometry Hierarchy> instance
indicates that the environmental object(s) that they
represent have the semantic relationship indicated by
the <DRM Base Association Data>
instance on the association relationship.
2
An association between two
<DRM Geometry Hierarchy> instances
indicates that the environmental object(s) that they
represent have the semantic relationship indicated by
the <DRM Base Association Data>
instance on the association relationship.
3
An association between a
<DRM Feature Representation>
instance and a
<DRM Geometry Hierarchy> instance
indicates that the environmental object(s) that they
represent have the semantic relationship indicated by
the <DRM Base Association Data>
instance on the association relationship.
4
An association between two
<DRM Geometry Hierarchy> instances
indicates that the environmental object(s) that they
represent have the semantic relationship indicated by
the <DRM Base Association Data>
instance on the association relationship.
5
An association from a
<DRM Hierarchy Summary Item>
instance to a <DRM Geometry Hierarchy>
indicates that the
<DRM Hierarchy Summary Item>
summarizes that <DRM Geometry Hierarchy>.
6
An association from a
<DRM Reference Surface> instance to a
<DRM Geometry Hierarchy> indicates
that the <DRM Geometry Hierarchy>
organizes the geometric objects that specify the resolution
surface of the <DRM Reference Surface>.
7
In the case where multiple
<DRM Collision Volume> components are
specified for a given
<DRM Aggregate Geometry>, the union
of the volumes thus specified is used in collision detection.
|
Class diagram
|
Figure 6.313 —
DRM_State_Related_Geometry
|
Inherited field elements
|
|
Field elements
|
|
Associated to (one-way) (inherited) |
|
Associated to (one-way) |
|
Associated by (one-way) (inherited) |
|
Associated by (one-way) |
|
Associated with (two-way) (inherited) |
|
Associated with (two-way) |
|
Composed of (two-way) (inherited) |
|
Composed of (two-way) |
|
Composed of (two-way metadata) (inherited) |
|
Composed of (two-way metadata) |
|
Component of (two-way) (inherited) |
- zero or more <DRM Alternate Hierarchy Related Geometry> instances, each with a <DRM Hierarchy Data> link object
- zero or more <DRM Animation Related Geometry> instances
- zero or more <DRM Classification Related Geometry> instances, each with a <DRM Classification Data> link object
- zero or one <DRM Environment Root> instance
- zero or one <DRM Geometry Model> instance
- zero or more <DRM LOD Related Geometry> instances, each with a <DRM Base LOD Data> link object
- zero or more <DRM Octant Related Geometry> instances, each with a <DRM Octant Data> link object
- zero or more <DRM Perimeter Related Geometry> instances, each with a <DRM Perimeter Data> link object
- zero or more <DRM Quadrant Related Geometry> instances, each with a <DRM Quadrant Data> link object
- zero or more <DRM Separating Plane Relations> instances, each with a <DRM Separating Plane Data> link object
- zero or more <DRM Spatial Index Related Geometry> instances, each with a <DRM Spatial Index Data> link object
- zero or more <DRM State Related Geometry> instances, each with a <DRM State Data> link object
- zero or more <DRM Time Related Geometry> instances, each with a <DRM Time Constraints Data> link object
- zero or more <DRM Union Of Geometry Hierarchy> instances
|
Component of (two-way) |
|
Constraints
|
|
Example(s)
|
Consider a <DRM Model> instance of a building
that has four
different geometric representations, each representing different damage states.
The <DRM Model> instance therefore has a <DRM
Geometry Model> instance, the geometry of which is organized via a
<DRM State Related Geometry> instance with
four branches, one for each damage state, as shown in
Figure 6.314.
Figure 6.314 — <DRM State Related Geometry>
four representation example
Each branch of the
<DRM State Related Geometry>
has a <DRM State Data>
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.
A slightly different design for example 1, modified to allow
each <DRM Geometry Model Instance>
instance to
specify a percent damage value via a
<DRM State Control Link> instance.
-
Add a <DRM State Control Link> component
to the <DRM State Related Geometry>
instance, with
mismatch_behaviour
= NONE and a <DRM Variable>
instance V as
its controlling <DRM Expression>
instance, where V’s meaning is
EAC_GENERAL_DAMAGE_FRACTION.
-
Associate V to the <DRM Interface Template>
component of the <DRM Model> instance. If the
<DRM Model> instance has no
<DRM Interface Template>
instance, create one.
The
mismatch_behaviour
of the <DRM State Control Link>
instance can be
exploited to turn off the <DRM
Geometry Model Instance> instance if a damage value is provided which
does not match one of the damage states. This is allows the
<DRM 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
<DRM State Data> instance,
LAST would be specified.
The
mismatch_behaviour
would not be needed if the <DRM Variable>
instance only
took on valid values (0,0, 0,5,
0,75, or 1,0), but this scheme
does not force state values to be discrete.
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 modeled with five states of
EAC_WIND_RESPONSE, where the response to
wind direction is implemented by using a <DRM
Rotation Control Link> instance tied to an
EAC_WIND_DIRECTION <DRM Variable>
instance.
Figure 6.315 — <DRM State Related Geometry>
wind example
Identifies one of alternative appearances for some
state-applicable attribute.
For a <DRM State Related Geometry>
instance
representing different states of an aircraft hatch for
EAC_OPENING_COVER_POSITION, one
<DRM State Data> instance with
EEC_OPNCOVPOS_CLOSED and another with
EEC_OPNCOVPOS_OPEN.
For a <DRM State Related Geometry>
instance
representing different damage states of a building for
EAC_GENERAL_DAMAGE, <DRM
State Data> instance for [0, 25) % damage, [25, 50)% damage,
[50, 75)% damage, and [75, 100]% damage.
For a <DRM State Related Geometry>
instance
representing different states of a forest for healthy versus burned,
EAC_GENERAL_DAMAGE could be used.
|