The SEDRIS Data Representation Model
APPENDIX A - Classes
Interface Template

Class Name: Interface Template

Superclass - <SEDRIS Abstract Base>

Subclasses

This DRM class is concrete and has no subclasses.

Definition

An instance of this DRM class is always a component of a <Model> instance or <Environment Root> instance. The scope of that <Model> instance or <Environment Root> instance is hereafter referred to as the given scope in this definition.

An instance of this DRM class provides, for the given scope, a means of accessing all <Variable> instances within that scope, thus allowing manipulation of the targets of the affected <Control Link> instances. These <Variable> instances are associated with the <Interface Template> instance in an ordered list. Each is also aggregated by at least one <Control Link> instance in the given scope:

  1. For a <Model> instance that is instanced by some DRM object MI (either a <Feature Model Instance> instance or a <Geometry Model Instance> instance), values are specified for each of the <Variable> instances associated with the <Interface Template> component of the <Model> instance.

    Each such value is specified by an <Expression> instance that is aggregated by MI. The <Model Instance Template Index> link object lying between the <Expression> instance and MI specifies the particular <Variable> instance being set by specifying its index within the ordered list of <Variable> instances associated with the <Interface Template> component of the <Model> instance.

    NOTE  The <Expression> instance may be a <Variable> instance in the instancing scope or a <Function> instance of some kind, not just a <Literal> instance.

  2. For an <Environment Root> instance, an <Interface Template> component provides a means for environmental <Variable> instances to be accessed by the user such as a <Variable> instance for EAC_WIND_SPEED.

Primary Page in DRM Diagram:

Secondary Pages in DRM Diagram:

Example

  1. Consider a <Model> instance T representing a tank that is is comprised of separate tank body, turret, and cannon submodels, each instantiated by T as depicted in Figure 26.

    Interface Template, Example 1

    Figure 26 — <DRM Interface Template> example

    The turret can be dynamically rotated and the cannon can be dynamically elevated. Both movements can be controlled separately.

    Both movements are rotations, so each of the turret and cannon submodels have <Rotation> instances at appropriate points in their hierarchies. Each of these <Rotation> instances has a <Rotation Control Link> component, which in turn has a <Variable> component that specifies the current rotation. The values supplied for these <Variable> instances are adjusted from outside the submodels that contain them. Consequently, the <Variable> instances in each submodel are associated with the <Interface Template> component of its submodel.

    However, the turret and cannon rotations are controlled from outside the entire tank <Model> instance T. Therefore, it is possible to set rotation values using the <Interface Template> component of T, so T contains a turret rotation <Variable> instance and a cannon elevation <Variable> instance. These <Variable> instances are associated with the <Interface Template> component of T. Each of the two <Variable> instances is also aggregated by the <Geometry Model Instance> instance that instances the submodel to which they relate.

    Finally, it is necessary to tie the <Variable> instances in T to the equivalent <Variable> instances in each of the submodels. This is done using the <Model Instance Template Index> link object for each tank <Variable> instance. The <Model Instance Template Index> link object associated with the turret rotation <Variable> instance of T references the equivalent <Variable> instance's entry in the turret <Model> instance's <Interface Template> component. Similarly, the <Model Instance Template Index> link object associated with T's cannon elevation <Variable> instance references the equivalent <Variable> instance's entry in the <Interface Template> component of the cannon <Model> instance.

    Consequently, T's <Interface Template> component allows the turret rotation and cannon elevation to be set from outside T. The values set in T themselves set values in the <Variable> instances within the turret and cannon submodels, thereby rotating the turret and elevating the cannon as required.

  2. Consider a building <Model> instance that may be instanced on terrain polygons that are at various different orientations. Each building wall meets the terrain, leaving no gaps. This means that the lengths of the walls of the building are adjusted by different amounts in each instance to match the slope of the ground.

    The location of each <Vertex> component of a <Polygon> instance can be adjusted by using an <LSR 3D Location Control Link> instance aggregated by the <LSR 3D Location> instance that specifies the location of the <Vertex> instance. Each <LSR 3D Location Control Link> instance has a <Variable> component that specifies the new location value. These <Variable> instances are set separately for each instance to match the terrain upon which the building is positioned. The <Variable> instances are set from outside the building <Model> instance so all of these <Variable> instances in the building <Model> instance are associated with the <Interface Template> component of the <Model> instance.

    When the building is instanced, using a <Geometry Model Instance> instance GMI, the values of the <Variable> instances can be set for GMI using <Expression> components of GMI. When the terrain on which GMI stands is known and fixed, these <Expression> components can be <Literal> components. Each <Literal> component is related to the <Variable> instance for which it is specifying a value through a <Model Instance Template Index> link object that references the <Variable> instance by way of the <Interface Template> component of the building <Model> instance.

FAQs

No FAQs supplied.

Constraints

Associated with (two-way)

Component of (two-way)

Inherited Field Elements

This class has no inherited field elements.

Field Elements

SE_String

description;

1


Notes

Fields Notes

description

The description field specifies a brief description.


Prev: Inline Colour. Next: Interval Axis. Up:Index.