Class Name: Variable

Superclass - Expression

Definition

Objects of this class are used to connect Interface Templates to locations within Expressions where outside control may be exerted.

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

For Variables contained within the Environment_Root, the evaluation can only be done within the context of values that must be supplied by the consuming system.

Primary Page in DRM Diagram:

Example

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

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

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

    In SEDRIS, the IR values are stored in Property Tables. The Polygons of the tank reference these elements through a Property Table Reference. A Property Table Reference Control Link is used for those Polygons 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 must be able to identify the Polygons (through the Control Links and Interface Template) by this ID so that he can switch these Polygons to be "heat producing".

FAQs

Why is identification of Variable objects (provided by runtime_label) desirable?
So that consumers can control what value is being plugged in, depending on how it is identified. See examples 1, 2 for how this is used and why it is needed.

Constraints

Associated with (two-way)

Component of (two-way)(inherited)

Field Elements

SE_PROPERTY_DATA_VALUE_TYPE_ENUM value_type;
SE_STRING description; (notes)
EDCS_AC_ID variable_id;
SE_STRING runtime_label; (notes)

Notes

Fields Notes

description

 a meaningful explanation of the purpose
 of this <Variable>

runtime_label

 Used for <Variables> that must 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 <Variable>. If the <Variable> does not need
 a runtime_label, the field is set to the empty string.

Prev: Universal Feature Face. Next: Vertex. Up:Index.