Table 6.319—DRM_Vertex_With_Component_Indices

Property

Description

Superclass

·         <DRM Base Vertex>

Class

·         <DRM Vertex With Component Indices>

Subclass

·         none

Definition

A specialization of the <DRM Base Vertex> class, used to indicate that one or more of the <DRM Base Vertex>'s components are contained within a <DRM Hierarchical Table> instance found higher in the aggregation tree of the transmittal, and are thus referred to by "component index" rather than by direct attachment to the <DRM Vertex With Component Indices>.

The purpose of this specialization is to make reuse and sharing of these components explicit, by placing them in appropriate <DRM Hierarchical Table> instances for reference by indexing rather than direct aggregation.

Each index field value of a <DRM Vertex With Component Indices> instance is either a sentinel value, COMPONENT_IS_AGGREGATED, or an index into some table.

a. In lieu of a valid index value, an index field may be set to the sentinel value COMPONENT_IS_AGGREGATED which indicates that the corresponding component is not a reference to a table.

This sentinel is used both for cases where the <DRM Vertex With Component Indices> instance has no components of the specified class, and where it directly references such components rather than referring to some <DRM Hierarchical Table>.

b. An index field may be an actual index into the collection of <DRM Hierarchical Table> instances which lie above the <DRM Vertex With Component Indices> in the aggregation tree. An index is resolved to an actual component by traversing up the aggregation tree until the correct subclass of <DRM Hierarchical Table> (with respect to the particular index being evaluated) is encountered, such that the span of the <DRM Hierarchical Table> instance includes the index being evaluated. If the <DRM Hierarchical Table> does span the index being evaluated, then its start_index is used to determine which of its ordered components corresponds to the requested index.

Note that for component relationships defined with a cardinality of 0..N, the corresponding subclasses of <DRM Hierarchical Table> accomodate this cardinality, the corresponding <DRM Hierarchical Table> subclasses may aggregate a "set" of target components as well as individual instances.

Example(s)

·         A producer of a transmittal wants to reuse the <DRM Location 3D> objects for <DRM Vertex>s of a group of <DRM Polygon>. One possible construction is given below.

Vertex With Component Indices, Example 1

Inherited field elements

field_name

range

Field_Data_Type

none

 

 

Field elements

field_name

range

Field_Data_Type

colour_index

 

Integer_Unsigned

location_index

 

Integer_Unsigned

reference_vector_Index

 

Integer_Unsigned

texture_coordinate_index

 

Integer_Unsigned

property_table_reference_index

 

Integer_Unsigned

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)

·         zero or one <DRM Geometry Node>

Associated with (two-way)

·         none

Composed of (two-way) (inherited)

·         zero or more <DRM Colour>s

·         zero or one <DRM Conformal Behaviour

·         zero or more <DRM Property Table Reference>s

·         zero or one <DRM Reference Vector>

·         zero or more {ordered} <DRM Texture Coordinate>s

Composed of (two-way)

·         zero or one <DRM Location>

Composed of (two-way metadata) (inherited)

·         none

Composed of (two-way metadata)

·         none

Component of (two-way) (inherited)

·         zero or more <DRM Arc>s

·         zero or more <DRM Finite Element Mesh>s

·         zero or more <DRM Line>s

·         zero or more <DRM Polygon>s

Component of (two-way)

·         none

Constraints

·         Image mapping functions and texture coordinates

Notes

none

Class diagram

<DRM Vertex With Component Indices>