Table 6.161 — DRM_Model

Property

Description

Class

  • <DRM Model>

Superclass

Subclass

  • None.

Definition

An instance of this DRM class specifies a representation of some environmental entity as a feature representation and/or a geometry representation. This representation is usually a generic representation that can be referenced many times in a transmittal to create many instances of representations of similar environmental entities.

The special case of the null model is the case in which both the feature and the geometric representation of the <DRM Model> instance are empty; that is, they contain no primitives. This is instanced in cases where some state or condition of a representation exists but has no primitives, such as a representation of an environmental entity that has been completely destroyed or that is out of viewing range.

The name field specifies a meaningful short name.

The srf_context_info field specifies the SRF within which the <DRM Model> instance is defined.

The model_reference_type field specifies how the <DRM Model> instance may be referenced within a transmittal.

The value of the dynamic_model_processing field is TRUE only if the <DRM Model> instance is used by the data provider to represent something that moves throughout the environment, such as a vehicle. This flag is used to identify information at the top level of model data, so that it can be set at the level where model_reference_type is not COMPONENT.

The has_units field only takes effect if the srf_context_info value specifies an LSR SRF. The has_units field allows a data provider to say “This LSR Model is in metres” vs. “This LSR Model is unitless (it has no units)”. In the former case, when an LSR model is specified in metres, it can be used to represent real-world things, such as a tank, a ship, or a tree. Such a <DRM Model> instance may be scaled when it is instantiated. (<DRM Model> instances representing trees are often scaled, but those representing ships and tanks are not.) In the latter case when an LSR model has no units, the <DRM Model> instance cannot be instantiated into another SRF.

The value of the has_moving_parts field is TRUE only if the <DRM Model> instance contains at least one <DRM Control Link> instance attached to a <DRM LSR Transformation Step> instance that allows motion.

Class diagram

Figure 6.192 — DRM_Model

Inherited field elements

Field name

Range

Field data type

None

   

Field elements

Field name

Range

Field data type

name

 

String

srf_context_info

 

SRF_Context_Info

model_reference_type

 

Model_Reference_Type

dynamic_model_processing

 

Boolean

has_units

 

Boolean

has_moving_parts

 

Boolean

Default field values

Default field values for DRM_Model

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)

  • None.

Composed of (two-way) (inherited)

  • None.

Composed of (two-way)

Composed of (two-way metadata) (inherited)

  • None.

Composed of (two-way metadata)

Component of (two-way) (inherited)

  • None.

Component of (two-way)

Constraints

Clarifications

1If provided, the <DRM Identification> component may be used to provide a more detailed description than that specified by the name field.

Example(s)

  • The lowest level of detail of a tank’s turret may be represented by a <DRM Model> instance.

  • A one degree by one degree tile of terrain containing thousands of instances to other <DRM Model> instances may be represented by a <DRM Model> instance.

  • An aircraft carrier that has both a geometric representation and a feature representation may be represented by a <DRM Model> instance.

  • A data provider has an overall model (call it “automobile”) made up of several components: top, two sides, four tires, back, front, underneath. When put into this data provider’s <DRM Model Library> instance, each of these components (as well as the overall “automobile” placeholder) is represented as a <DRM Model> instance. The data provider’s organization has a place in its database where “automobile” is instantiated that is represented in the resulting transmittal by a <DRM Geometry Model Instance> instance of “automobile” appearing in the component tree of a <DRM Environment Root> instance. No other <DRM Model> instances in this data provider’s mapping to the DRM can reference the “automobile” <DRM Model> instance.

    In this case, the “automobile” has model_reference_type set to ROOT, since “automobile” can be instanced outside the scope of the <DRM Model Library> instance and has <DRM Geometry Model Instance> instance in the component tree of a <DRM Environment Root> instance.

    On the other hand, the “top” <DRM Model> instance, representing the top of the automobile, cannot be instantated outside the <DRM Model Library> instance in the data provider’s scheme of things, but only as part of more complex <DRM Model> instances; consequently, the “top” <DRM Model> instance has model_reference_type COMPONENT.

  • A producer has a <DRM Model> instance “plane” that has several components (such as two wings, a tail, and a fuselage). However, the producer has a <DRM Model> instance “ship” that instances “plane” to specify a ship with planes on its deck. The transmittal instantiates “ship”, which has model_reference_type = ROOT. Since the <DRM Model> instance “plane” could be used elsewhere in the transmittal, its instance under “ship” has model_reference_type = ROOT_AND_COMPONENT.