Consider an instance of a geometric model of a wind sock, which
is to be rotated depending on the wind direction; that is, whenever
the wind changes, the <DRM
Geometry Model Instance> instance is rotated accordingly.
The <DRM Rotation> instance of the applicable
<DRM LSR Transformation> instance
is controlled
by a <DRM Rotation Control Link>
instance,
which is driven using values from a <DRM
Property Table> instance. That is, the <DRM
Rotation Control Link> instance is driven by a <DRM
Predefined Function> instance with value,
TABLE_VALUE, containing a
<DRM Property Table Reference>
instance
referring to the <DRM Property Table>
instance
containing the rotation values.
Figure 6.236 — <DRM Property Table Reference Control Link> example
The wind sock rotates around the Y axis, depending on wind speed.
That is, if the wind speed is zero, it will hang down toward the
ground, while if the wind speed is higher, it will straighten out
parallel to the ground.
The <DRM Property Table> instance is classified as
ECC_CONTROL_VALUE, and has a
<DRM Table Property Description>
instance
specified by ROTATION_ANGLE. The <DRM
Property Table> instance specifies, for each
EAC_WIND_SPEED value, the angle to which the wind sock should be
rotated.
Figure 6.237 — <DRM Property Table Reference Control Link> example
Consider a <DRM
Translation Control Link> instance that is to be driven using
values from a <DRM Property Table>
instance. The
table values that are to
be used are to be cycled through eight times, with each cycle taking ten
seconds. This sequence of cycles is to be triggered from outside the
transmittal.
Figure 6.238 — <DRM Property Table Reference Control Link> example
The <DRM Translation Control Link>
instance’s
controlling <DRM Expression>
instance is a
<DRM Predefined Function> instance
with value
TABLE_VALUE, whose argument is a
<DRM Property Table Reference> instance
referring to the <DRM Property Table>
instance containing
the translation values.
Figure 6.239 — <DRM Property Table Reference Control Link> example
The <DRM
Table Property Description> instance for the control values and the
<DRM Variable> instance controlling the referencing
expression have the same meaning = {
VARIABLE, {
TRANSLATION_AMOUNT }}
The <DRM
Property Table Reference Control Link> instance controls which value is
referenced from the <DRM Property Table>
instance,
and is itself driven by the
CYCLE_TIME <DRM
Predefined Function> instance. The cycle length (ten seconds) and the
number of cycles (eight) are specified as arguments to the function.
The <DRM Variable> instance drives the
<DRM
Property Table Reference Control Link> instance through the
<DRM Predefined Function>,
instance so that it
determines which value is referenced from the <DRM
Property Table> instance. To provide the hook for this <DRM
Variable> instance to be set from outside the transmittal, the
<DRM Variable> instance is associated with an
<DRM Interface Template> instance (not shown).
If this <DRM
Translation Control Link> instance appears inside a <DRM Model>
instance, to set the <DRM Variable>
instance using another variable
from outside the transmittal, the data provider specifies that the
<DRM Geometry Model Instance>
is to supply a
<DRM Variable> instance from its own context for the value of
the <DRM Model> instance’s <DRM Variable>
instance.