Property
|
Description
|
Class
|
|
Superclass
|
|
Subclass
|
|
Definition
|
An instance of this DRM class is a <DRM Expression> instance
that specifies a variable value used in conjunction with
a <DRM Interface Template> instance to exert external
influence on one or more <DRM Control Link> instances,
either directly or indirectly.
The name field specifies the name of the
<DRM Variable> instance.
The meaning field specifies
the quantity represented by the
<DRM Variable> instance.
The value_unit field
specifies the unit of measurement of the quantity represented
by the <DRM Variable> instance.
The value_scale field
specifies the scale applicable to
value_unit.
The value_type field
specifies the storage type of the
<DRM Variable> instance.
The description field
specifies a meaningful explanation of the purpose of the
<DRM Variable> instance.
|
Class diagram
|
Figure 6.370 —
DRM_Variable
|
Inherited field elements
|
Field name
|
Range
|
Field data type
|
None |
|
|
|
Field elements
|
|
Default field values
|
Default field values for DRM_Variable
|
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) |
|
Component of (two-way) |
|
Constraints
|
|
Clarifications
|
None.
|
Example(s)
|
See the examples for the <DRM CMY Colour Control Link> class
and the <DRM Colour Index Control Link> class.
The following is an example of how a
name on a
<DRM Variable> instance is used.
Consider a <DRM Model> instance representing a motorcycle
in a database within which polygons have infrared values attached to them.
Since many portions of the surfaces being represented by
<DRM Polygon> instances in a transmittal have similar
material properties, the data provider in this example has
created a <DRM Property Table> instance in which the
infrared values are stored.
The <DRM Polygon> instances of the motorcycle reference
these elements through a
<DRM Property Table Reference> instance.
A <DRM Property Table Reference Control Link> instance
is used for those <DRM Polygon> instances
that have heat-producing capability (for instance, the exhaust pipes), so
that the index into the infrared table can be changed to other values as the
exhaust pipes heat up. More than one <DRM Polygon> instance
will contain the same ID. The consumer shall be able to identify the
<DRM Polygon> instances (through the
<DRM Property Table Reference Control Link> instance and
<DRM Interface Template> instance)
by this ID so that during consumption these <DRM Polygon>
instances can be switched to be heat-producing.
Consider a data provider with a polygonal representation of a
truck in which the polygons reference table-driven textures, i.e.,
in which the texture coordinates used by the texture-mapped polygons
are stored in tables such that the index into the table is
determined at run-time.
The data provider chooses to represent the truck in a transmittal
with a <DRM Model> instance M having a
<DRM Geometry Model> component. Consider a triangular polygon
within the truck representation where the triangle is represented by a
<DRM Polygon> instance P in the transmittal.
P has three <DRM Vertex> components
V1, V2,
and V3 and one
<DRM Image Mapping Function> component, where each
Vi has a <DRM Texture Coordinate>
component Ti. Since a table-driven texture
is being represented, the s and
t field values of each
Ti are determined by references into a
table of texture coordinate values. This is done as follows.
The table supplying the texture coordinate values is represented by
a <DRM Property Table> instance C which is
specified as a component of the <DRM Data Table Library> instance
of the transmittal. Each Ti has a
<DRM Texture Coordinate Control Link> component which determines
the s value of
Ti with a
<DRM Property Table Reference> component that associates to
C. The t value
of Ti is determined similarly.
The data provider wishes each of the indexes into C
to vary at run-time, so it is necessary for the
index_on_axis
field of each <DRM Property Table Reference> component to be
determined at run-time. Consequently, each
<DRM Property Table Reference> component in this example has a
<DRM Property Table Reference Control Link> component specifying a
<DRM Variable> component to determine the
index_on_axis
field value being controlled. Each such <DRM Variable> instance is
associated with the <DRM Interface Template> component of
M so that each <DRM Variable> instance can be
supplied with an appropriate value whenever M is
instantiated.
|