Table 6.317—DRM_Variable

Property

Description

Superclass

·         <DRM Expression>

Class

·         <DRM Variable>

Subclass

·         none

Definition

Objects of this class are used to connect <DRM Interface Template>s to locations within <DRM Expression>s where outside control may be exerted.

For <DRM Variable>s contained within <DRM Model>s, evaluation is valid only for a specific instance. The value is determined by an <DRM Expression> that is aggregated by the specific <DRM Geometry Model Instance> or <DRM Feature Model Instance>. This <DRM Expression> shall be associated to the same <DRM Interface Template> object that is associated with the <DRM Variable>.

For <DRM Variable>s contained within the <DRM Environment Root>, the evaluation can only be done within the context of values that shall be supplied by the consuming system.

Example(s)

·         Consider a source database containing a <DRM Model> with some polygons that reference "table driven texture". Such a polygon is defined as a <DRM Polygon> that has one reference to an <DRM Image> with multiple references to s and t values, which are stored in a <DRM Data Table>. The index into this table is decided at run-time. Each <DRM Polygon> containing a "table-driven texture" has an identifier that is used, along with the index, at run-time.

In SEDRIS, the <DRM Polygon> uses a <DRM Property Table Reference> to index into the <DRM Data Table> containing the different s and t values. Attached to the <DRM Property Table Reference> is a <DRM Property Table Reference Control Link>. The <DRM Variable> attached to this <DRM Property Table Reference Control Link> is ultimately be associated to the <DRM Interface Template> on the <DRM Model>. The original identifier on the <DRM Polygon> shall reside on the <DRM Variable> rather than the <DRM Polygon>, since the <DRM Variable> controls the s,t values.

·         The following is another example of how a runtime_label on a <DRM Variable> would be used. On moving models there might be polygons that have IR values attached to them. Consider a tank <DRM Model> in such a database.

In SEDRIS, the IR values are stored in <DRM Property Table>s. The <DRM Polygon>s of the tank reference these elements through a <DRM Property Table Reference>. A <DRM Property Table Reference Control Link> is used for those <DRM Polygon>s that have "heat producing" capability (e.g. the gun barrel), so that the index into the IR table can be changed to other values as the gun is used and heats up. More than one A CLASS="Polygon">Polygon will contain the same ID. The consumer shall be able to identify the <DRM Polygon>s (through the <DRM Control Link>s and <DRM Interface Template>) by this ID so that he can switch these <DRM Polygon>s to be "heat producing".

Inherited field elements

field_name

range

Field_Data_Type

none

 

 

Field elements

field_name

range

Field_Data_Type

meaning1

 

Element_Type

value_unit2

 

EDCS_Unit_Code

value_scale3

 

EDCS_Scale_Code

value_type4

 

Property_Data_Value_Type

description5

 

String

runtime_label6

 

String

Associated to (one-way) (inherited)

·         none

Associated to (one-way)

·         none

Associated by (one-way) (inherited)

·         none

Associated by (one-way)

·         none

Associated with (two-way) (inherited)

·         none

Associated with (two-way)

·         zero or one <DRM Interface Template>

Composed of (two-way) (inherited)

·         none

Composed of (two-way)

·         none

Composed of (two-way metadata) (inherited)

·         none

Composed of (two-way metadata)

·         none

Component of (two-way) (inherited)

·         zero or more <DRM Control Link>s

·         zero or more <DRM Feature Model Instance>s through <DRM Model Instance Template Index>s

·         zero or more <DRM Function>s

·         zero or more <DRM Geometry Model Instance>s through <DRM Model Instance Template Index>s

Component of (two-way)

·         none

Constraints

·         Non-crossing associations

·         Non-cyclic aggregations

Notes

1 Specifies what the <DRM Variable> represents.

2 Specifies the unit of measurement of the <DRM Variable>, which shall be compatible with the requirements imposed by meaning. If meaning does not require a unit of measurement, for example, if meaning requires a value_type of STRING, then value_unit shall be set to EUC_UNITLESS.

3 Specifies the scale applicable to value_unit. If meaning does not require a unit of measurement, for example, if meaning requires a value_type of STRING, value_scale shall be set to ESC_UNI.

4 The value_type of this <DRM Variable>, which shall be compatible with the requirements imposed by the meaning.

5 A meaningful explanation of the purpose of this <DRM Variable>.

6 Used for <DRM Variable>s that shall be identified for consumers. These are run-time flags, provided so that appropriate values can be "plugged in" which then affect features or geometry associated with the <DRM Variable>. If the <DRM Variable> does not need a runtime_label, the field is set to the empty string.

Class diagram

<DRM Variable>