The SEDRIS Data Representation Model
APPENDIX A - Classes
Vertex With Component Indices

Class Name: Vertex With Component Indices

Superclass - <Base Vertex>

Subclasses

This DRM class is concrete and has no subclasses.

Definition

A specialization of the <Base Vertex> class, used to indicate that one or more of the <Base Vertex>'s components are contained within a <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 <Vertex With Component Indices>.

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

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

  1. In lieu of a valid index value, an index field may be set to the sentinel value SE_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 <Vertex With Component Indices> instance has no components of the specified class, and where it directly references such components rather than referring to some <Hierarchical Table>.

  2. An index field may be an actual index into the collection of <Hierarchical Table> instances which lie above the <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 <Hierarchical Table> (with respect to the particular index being evaluated) is encountered, such that the span of the <Hierarchical Table> instance includes the index being evaluated. If the <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 <Hierarchical Table> accomodate this cardinality, the corresponding <Hierarchical Table> subclasses may aggregate a "set" of target components as well as individual instances.

Primary Page in DRM Diagram:

Secondary Pages in DRM Diagram:

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

Example

  1. A producer of a transmittal wants to reuse the <Location> instances for the <Vertex> components of a group of <Polygon> instances. One possible construction is shown below.

    Vertex With Component Indices, Example 1

FAQs

Where can I find further information on the <Hierarchical Table> mechanism?

In addition to the documentation for <Hierarchical Table> and its subclasses, see Part 4, Volume 7 Hierarchical Table Technical Guide of the SEDRIS Documentation Set.

Why is <Location> an optional component of <Vertex With Component Indices>?

Because if location_index == SE_COMPONENT_IS_AGGREGATED for a given <Vertex With Component Indices>, then the <Location> shall be aggregated directly, rather than obtained from a table.

Are the index fields 1-based indices?

Yes; they are defined as unsigned integers only so that sentinel values may be used to indicate when they are not applicable.

Constraints

Associated with (two-way)(inherited)

Composed of (two-way)(inherited)

Composed of (two-way)

Component of (two-way)(inherited)

Inherited Field Elements

This class has no inherited field elements.

Field Elements

SE_Integer_Unsigned colour_index;
SE_Integer_Unsigned location_index;
SE_Integer_Unsigned reference_vector_index;
SE_Integer_Unsigned texture_coordinate_index;
SE_Integer_Unsigned property_table_reference_index;

Prev: Vertex. Next: Volume. Up:Index.

Last updated: May 15, 2003 Copyright © 2003 SEDRIS™