The SEDRIS Data Representation Model
APPENDIX A - Classes
Variable

Class Name: Variable

Superclass - <Expression>

Subclasses

This DRM class is concrete and has no subclasses.

Definition

An instance of this DRM class is an <Expression> instance that specifies a variable value used in conjunction with an <Interface Template> instance to exert external influence on one or more <Control Link> instances, either directly or indirectly.

Primary Page in DRM Diagram:

Secondary Pages in DRM Diagram:

This class appears on only one page of the DRM class diagram.

Example

  1. See the examples for the <CMY Colour Control Link> class and the <Colour Index Control Link> class.

  2. The following is an example of how a name on a <Variable> instance is used.

    Consider a <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 <Polygon> instances in a transmittal have similar material properties, the data provider in this example has created a <Property Table> instance in which the infrared values are stored.

    The <Polygon> instances of the motorcycle reference these elements through a <Property Table Reference> instance. A <Property Table Reference Control Link> instance is used for those <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 <Polygon> instance will contain the same ID. The consumer shall be able to identify the <Polygon> instances (through the <Property Table Reference Control Link> instance and <Interface Template> instance) by this ID so that during consumption these <Polygon> instances can be switched to be heat-producing.

  3. 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 <Model> instance M having a <Geometry Model> component. Consider a triangular polygon within the truck representation where the triangle is represented by a <Polygon> instance P in the transmittal. P has three <Vertex> components V1, V2, and V3 and one <Image Mapping Function> component, where each Vi has a <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 <Property Table> instance C which is specified as a component of the <Data Table Library> instance of the transmittal. Each Ti has a <Texture Coordinate Control Link> component which determines the s value of Ti with a <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 <Property Table Reference> component to be determined at run-time. Consequently, each <Property Table Reference> component in this example has a <Property Table Reference Control Link> component specifying a <Variable> component to determine the index_on_axis field value being controlled. Each such <Variable> instance is associated with the <Interface Template> component of M so that each <Variable> instance can be supplied with an appropriate value whenever M is instantiated.

FAQs

Why is identification of <Variable> instances (provided by name) desirable?

So that consumers can control what value is being plugged in, depending on how it is identified. See examples for how this is used and why it is needed.

Constraints

Associated with (two-way)

Component of (two-way) (inherited)

Inherited Field Elements

This class has no inherited field elements.

Field Elements

SE_String name; 1
SE_Property_Code meaning; 2
EDCS_Unit_Code value_unit; 3
EDCS_Unit_Scale_Code value_scale; 4
EDCS_Attribute_Value_Type value_type; 5
SE_String description; 6

Notes

Fields Notes

name

The name field specifies the name of the <Variable> instance.

meaning

The meaning field specifies the quantity represented by the <Variable> instance.

value_unit

The value_unit field specifies the unit of measurement of the quantity represented by the <Variable> instance.

value_scale

The value_scale field specifies the scale applicable to value_unit.

value_type

The value_type field specifies the storage type of the <Variable> instance.

description

The description field specifies a meaningful explanation of the purpose of the <Variable> instance.


Prev: Union Of Primitive Geometry. Next: Vertex. Up:Index.

Last updated: July 26, 2006 Copyright © 2006 SEDRIS