ISO/IEC 18023-1 SEDRIS functional specification

6       DRM class definitions

6.1    Introduction

6.1.1             Table of contents

Table 6.1 is the table of contents for this clause.


Table 6.1 — Table of contents


6 DRM class definitions. 62

6.1 Introduction. 62

6.1.1    Table of contents. 62

6.1.2    Description. 63

6.2 Constraints. 63

6.2.1    Overview.. 63

6.2.2    Attribute set components. 64

6.2.3    Attribute set table size. 64

6.2.4    Axis type restrictions. 64

6.2.5    Colour mapping restrictions. 65

6.2.6    Colour table size. 65

6.2.7    Connected edge restrictions. 65

6.2.8    Contained node restrictions. 66

6.2.9    Continuous LOD restrictions. 67

6.2.10  Corresponding same data type. 67

6.2.11  Distinct link objects. 67

6.2.12  Edges bordering faces. 67

6.2.13  Environment_Root spatial reference frame. 68

6.2.14  Face_Direction levels 0 - 3. 68

6.2.15  Feature_Edge restrictions. 68

6.2.16  Face ring edge consistency. 68

6.2.17  Hierarchy summary constraints. 69

6.2.18  Homogeneous Light_Rendering_Properties. 70

6.2.19  Image_Anchor spatial reference frame. 70

6.2.20  Image mapping functions and texture coordinates. 70

6.2.21  Index_Codes within tables. 71

6.2.22  Inheritance rule for Location. 72

6.2.23  Legal time ranges. 72

6.2.24  Level of detail related organizing principle. 73

6.2.25  LSR model and reference surfaces. 73

6.2.26  LSR_Transformation components. 74

6.2.27  Mandatory metadata. 74

6.2.28  Model reference type constraints. 76

6.2.29  Model spatial reference frame. 76

6.2.30  Nested primitive geometry. 77

6.2.31  No attribute conflicts. 77

6.2.32  Non-crossing aggregations. 77

6.2.33  Non-crossing associations. 77

6.2.34  Non-cyclic aggregations. 77

6.2.35  Non-empty Environment_Root 78

6.2.36  Non-empty Model 78

6.2.37  Non-overlapping DRM class summary items. 78

6.2.38  Non-selfoverlapping Perimeter_Data locations. 78

6.2.39  Oct tree related organizing principle. 79

6.2.40  Perimeter_Related_Feature_Topology partitioning. 81

6.2.41  Perimeter related organizing principle. 81

6.2.42  Precedence of Attribute_Set_Index. 81

6.2.43  Primitive_Summary_Item constraints. 82

6.2.44  Property_Characteristic restrictions. 83

6.2.45  Property meaning restrictions. 83

6.2.46  Publishable objects. 83

6.2.47  Quad tree related organizing principle. 84

6.2.48  Reference to Data_Table_Library. 86

6.2.49  Relative spatial axes values. 86

6.2.50  Required Reference_Vector location. 86

6.2.51  Separating plane organizing principle. 86

6.2.52  Spatial_Index related organizing principle. 87

6.2.53  State related organizing principle. 87

6.2.54  Time dependency. 88

6.2.55  Time interval calculation. 88

6.2.56  Unique ID field. 88

6.2.57  Universal_Feature_Face level 3. 89

6.2.58  Variable meaning restrictions. 89

6.3 DRM class definitions. 89

6.3.1    Introduction. 89

6.3.2    Definitions. 90

6.1.2             Description

This clause defines the DRM classes used within SEDRIS to specify the various objects that are to be represented. Such DRM classes are composed of both fundamental data types and references to other DRM classes using the handle data types defined in 5.4.8 DRM class instance handles. These are used as the building blocks for more complex data structures that describe composites of information.

6.1    Constraints

6.1.1             Overview

The constraints stated below define rules for forming and combining DRM class instances. Since many of these constraints apply to multiple DRM classes, they are specified here and only referenced in 6.3—DRM class definitions.

6.1.2             Attribute set components

A <DRM Attribute Set> may contain attribute objects used by <DRM Geometry> and/or <DRM Feature>s. If it contains attribute objects that are used by <DRM Geometry> and is referenced by a <DRM Feature>, the <DRM Geometry>-related attribute objects are ignored. The reverse is also true.

6.1.3             Attribute set table size

All of the <DRM Attribute Set Table>s within an <DRM Attribute Set Table Group> shall be of the same size; that is, all <DRM Attribute Set Table>s within an <DRM Attribute Set Table Group> shall contain the same number of <DRM Attribute Set>s. However, <DRM Attribute Set Table>s within an <DRM Attribute Set Table Group> are free to have different attribute objects from each other.

6.1.4             Axis type restrictions

The following restrictions apply:

a)      In <DRM Regular Axis>, <DRM Irregular Axis>, and <DRM Interval Axis> instances,

1.       The axis_type shall correspond to an EDCS Attribute (EA) bound to a numeric value type.

i.         If the axis_type is specified by an EDCS_Attribute_Code, it shall correspond to an EDCS Attribute (EA) bound to a numeric value type.

ii.       If the axis_type is specified by a Variable_Code, it shall represent a variable bound to a numeric value type.

2.       If the axis_type is bound to some set of EDCS Unit Equivalence classes (EQs), the value_unit and value_scale shall be set to EUC_UNITLESS and shall be a member of one of the specified EQs.

3.       If the axis_type is not bound to any EQ, the value_unit and value_scale shall be set to EUC_UNITLESS and ESC_UNI, respectively.

b)      In a <DRM Enumeration Axis> instance X,

1.       The axis_type of X shall correspond to an EDCS Attribute T bound to the abstract value type ENUMERATION.

2.       The entries of X's axis_value_array shall be distinct, valid EEs for T.

c)      In a <DRM Interval Axis> instance X,

1.       Each individual entry in X's axis_interval_value_array shall have a value_type corresponding to an interval type, and this value_type shall be the same for all entries in the axis_interval_value_array.

2.       All entries in X's axis_interval_value_array shall be mutually disjoint.

3.       The entries in X's axis_interval_value_array shall be arranged in either monotonically ascending or monotonically descending order.

d)      In a <DRM Irregular Axis> instance X,

1.       Each individual entry in X's axis_value_array shall have a value_type consistent with the axis_type, and this value_type shall be the same for all entries in the axis_value_array.

2.       All entries in X's axis_value_array shall be distinct, and

3.       The entries in X's axis_value_array shall be arranged in either monotonically ascending or monotonically descending order.

e)      In an instance of <DRM Regular Axis>, the value_type of the first_value and spacing field values shall be the same, and shall be consistent with the numeric data type to which the axis_type's value is bound.

f)       In regard to spatial <DRM Axis> instances,

1.       A spatial <DRM Axis> is a <DRM Axis> instance with one of the following as its axis_type.

i.         For angular coordinates, such as latitude and longitude, EAC_SPATIAL_ANGULAR_PRIMARY_COORDINATE
EAC_SPATIAL_ANGULAR_SECONDARY_COORDINATE

ii.       For x, y coordinates,
EAC_SPATIAL_LINEAR_PRIMARY_COORDINATE
EAC_SPATIAL_LINEAR_SECONDARY_COORDINATE

iii.      For z and elevation coordinates,
EAC_SPATIAL_LINEAR_TERTIARY_COORDINATE

2.       The first spatial_axes_count <DRM Axis> components of a <DRM Property Grid> instance shall be spatial <DRM Axis> instances, each of which uniquely corresponds to a coordinate of the <DRM Property Grid> instance's spatial reference frame.

3.       No other <DRM Axis> instances in any other context shall be spatial.

6.1.5             Colour mapping restrictions

The color_mapping field of a <DRM Colour> shall not be empty.

In addition,

a)      The colour_mapping field of a <DRM Colour> shall not be empty.

b)      The PRIMARY and SECONDARY flags may only be used for objects with <DRM Light Rendering Properties>.

c)      The PRIMARY flag may not be combined with any other use of the Colour_Mapping data type.

d)      The SECONDARY flag may not be combined with any other use of the Colour_Mapping data type.

6.1.6             Colour table size

All of the <DRM Colour Table>s within a <DRM Colour Table Group> shall be of the same size; that is, all <DRM Colour Table>s within a <DRM Colour Table Group> shall have the same number of <DRM Primitive Colour>s. This is a requirement in order to allow the <DRM Colour Table>s within a <DRM Colour Table Group> to be interchangeable. However,  <DRM Colour Table>s within a <DRM Colour Table Group> are free to have different types of <DRM Primitive Colour>s from each other (e.g., some using <DRM Specular Colour>, some not).

6.1.7             Connected edge restrictions

The following restrictions apply to instances of connected edge DRM classes:

a)      A <DRM Feature Node> FN has the following relationship with its <DRM Connected Feature Edge> components, if any exist.

1.       For each <Feature Edge> that has FN as a starting node, FN shall have a <DRM Connected Feature Edge> that associates to that <DRM Feature Edge>.

2.       For each <Feature Edge> that has FN as an ending node, FN shall have a <DRM Connected Feature Edge> that associates to that <DRM Feature Edge>.

3.       If FN is neither a starting nor an ending node of a given <DRM Feature Edge>, that <DRM Feature Edge> shall not appear among the associates of any of FN’s <DRM Connected Feature Edge> components.

4.       Consequently, for any given <DRM Feature Edge> FE of which FN is a starting or ending node, FE shall appear among the associates of FN’s <DRM Connected Feature Edge> components either:

i.         once, if FN is FE’s starting node and not its ending node,

ii.       once, if FN is FE’s ending node and not its starting node, or

iii.      twice, if FE is a loop.

b)      A <DRM Geometry Node> GN has the following relationship with its <DRM Connected Geometry Edge> components, if any exist.

1.       For each <DRM Geometry Edge> that has GN as a starting node, GN shall have a <DRM Connected Geometry Edge> which associates to that <DRM Geometry Edge>.

2.       For each <DRM Geometry Edge> that has GN as an ending node, GN shall have a <DRM Connected Geometry Edge> which associates to that .

3.       If GN is neither a starting nor an ending node of a given <DRM Geometry Edge>, that <Geometry Edge> shall not appear among the associates of any of GN’s <DRM Geometry Edge> components.

4.       Consequently, for any given <DRM Geometry Edge> GE of which GN is a starting or ending node, GE shall appear among the associates of GN’s <DRM Connected Geometry Edge> components either

i.         once, if GN is GE’s starting node and not its ending node,

ii.       once, if GN is GE’s ending node and not its starting node, or

iii.      twice, if GE is a loop.

6.1.8             Contained node restrictions

The following restrictions apply to instances of contained node DRM classes:

a)      A <DRM Feature Face> FF has the following relationship with its associated <DRM Feature Node>s, if any exist.

1.       At any feature topology level, if FF is associated with any <DRM Feature Node> FN,

i.         If FF has an <DRM External Feature Face Ring>, all of its associated <DRM Feature Node>s shall lie within the boundary of that ring. Otherwise, FF is a <DRM Universal Feature Face> and has no outer boundary.

ii.       If FF has <DRM Internal Feature Face Ring>s, none of its associated <DRM Feature Node>s shall lie within the boundary of any of those rings, which mark its inner boundaries.

Note that since the association relationship between the <DRM Feature Face> and <DRM Feature Node> classes is bidirectional, these restrictions apply to all <DRM Feature Face> associates of <DRM Feature Node>s.

2.       At feature topology levels 3 and 4, FF shall be associated to each <DRM Feature Node> that is contained within its boundary.

3.       If FF contains no <DRM Feature Node>s within its boundaries, it shall not have any associated <DRM Feature Node>s.

4.       If a <DRM Feature Node> does not lie within the boundary of any <DRM Feature Face>, it shall not have any associated <DRM Feature Face>s.

b)      A <DRM Geometry Face> GF has the following relationship with its associated <DRM Geometry Node>, if any exist.

1.       At any geometry topology level, if GF is associated with any <DRM Geometry Node>s GN, all of its associated <DRM Geometry Node>s shall lie within the boundary of its <DRM Geometry Face Ring>.

Note that since the association relationship between the <DRM Geometry Face> and <DRM Geometry Node> classes is bidirectional, these restrictions apply to all <Geometry Face> associates of <DRM Geometry Node>s.

2.       At geometry topology levels 3 and 4, GF shall be associated to each <DRM Geometry Node> that is contained within its boundary.

3.       If GF contains no <DRM Geometry Node>s within its boundaries, it shall not have any associated <DRM Geometry Node>.

4.       If a <DRM Geometry Node> does not lie within the boundary of any <DRM Geometry Face>, it shall not have any associated <DRM Geometry Face>s.

6.1.9             Continuous LOD restrictions

The following restrictions apply:

a)      <DRM Continuous Level Of Detail Related Geometry> instances can be used only in the scope of some <DRM Environment Root>.

b)      A <DRM Primitive Geometry> instanced within the component tree of a <DRM Continuous Level Of Detail Related Geometry> shall not have a <DRM Union Of Primitive Geometry> component

6.1.10        Corresponding same data type

When the characteristic_value of an instance of class <DRM_Property_Characteristic> corresponds to an actual numerical value such as the UPPER_BOUND, the value shall have the same data_type, units, and scale as the attribute being constrained.

6.1.11        Distinct link objects

The following constratins apply to link objects:

a)      Under any single <DRM Aggregate Feature> or <DRM Aggregate Geometry> instance, other than a <DRM Separating Plane Related Geometry>, the link objects (if any) shall have non-identical discriminators.

b)      Under any single topology hierarchy, whether a <DRM Feature Topology Hierarchy> or <DRM Geometry Topology Hierarchy>, the link objects shall have non-identical discriminators.

c)      Under any single model instance, whether a <DRM Feature Model Instance> or a <DRM Geometry Model Instance>, the <DRM Model Instance Template Index> instances shall be distinct.

6.1.12        Edges bordering faces

<DRM Feature Edge>s have the following relationship with <DRM Feature Face>s:

a)      If a <DRM Feature Edge> FE associates to a <DRM Feature Face> FF, FE shall be part of one of the <DRM Feature Face Ring> of FF.

b)      At feature topology level 3 or higher, if a <DRM Feature Edge> FE is part of any <DRM Feature Face Ring> of a <DRM Feature Face> FF, FE shall have an association to FF. At lower levels of topology, this relationship may be present, but it is not required.

<DRM Geometry Edge>s have the following relationship with <DRM Geometry Face>s:

c)      If a <DRM Geometry Edge> GE associates to a <Geometry Face> GF, GE shall be part of one of the <DRM Geometry Face Ring> of GF.

d)      At geometry topology level 3 or higher, if a <DRM Geometry Edge> GE is part of any <DRM Geometry Face Ring> of a <DRM Geometry Face> GF, GE shall have an association to GF. At lower levels of topology, this relationship may be present, but it is not required.

6.1.13        Environment_Root spatial reference frame

Consider a <DRM Transmittal Root> instance TR having one or more <DRM Environment Root> instances as components:

a)      For TR, no two <DRM Environment Root> instances may have identical spatial reference frame parameters.

b)      All <DRM Location> instances appearing in the composition tree rooted at a given <DRM Environment Root> instance shall be defined within the spatial reference frame of that <DRM Environment Root> instance, unless such <DRM Location>s fall within the scope of an object which defines its own spatial reference frame, such as a <Property Grid> or <DRM Image Anchor>.

c)      No <DRM Location> instances under an <DRM Environment Root> may be invalid within that spatial reference frame; they shall be either valid, or "extended".

6.1.14        Face_Direction levels 0 - 3

At feature topology levels 0 through 3, the front field of <DRM Face Direction> shall always be true.

6.1.15        Feature_Edge restrictions

The following restictions apply:

a)      The <DRM Location>s within a <DRM Feature Edge> shall be distinct (i.e., no two may have the same coordinates).

b)      <DRM Feature Edge>s may meet only at <DRM Feature Node>s, and <DRM Feature Face>s may meet only along one or more <DRM Feature Edge>s.

c)      At feature topology level 2 or higher, no <DRM Feature Edge> may intersect with or overlap another <DRM Feature Edge>.

d)      At feature topology level 3, each <DRM Feature Edge> forms part of the boundaries of exactly two <DRM Feature Face>s.

6.1.16        Face ring edge consistency

The following restrictions apply:

a)      For each consecutive <DRM Feature Edge> within a <DRM Feature Face Ring>, and for each consecutive <DRM Geometry Edge> within a <DRM Geometry Face Ring>, the <DRM Edge Direction> shall be consistent with the starting and ending nodes of the edge.

b)      A <DRM Feature Edge> shall appear no more than twice in a <DRM Feature Face Ring>, once with each orientation.

c)      A <DRM Geometry Edge> shall appear no more than twice in a <DRM Geometry Face Ring>, once with each orientation.

6.1.17        Hierarchy summary constraints

The following constraints apply:

a)      An instance of <DRM Hierarchy Summary Item> shall have a drm_class field value corresponding to one of the following:

·         <DRM Feature Hierarchy> or one of its subclasses

·         <DRM Geometry Hierarchy> or one of its subclasses

b)      For any <DRM Hierarchy Summary Item> instance B that is a component of another <DRM Hierarchy Summary Item> instance A, the class represented by B’s drm_class field value shall be defined as a formal component of A, and the multiplicity and multiplicity_meaning of B shall comply with the corresponding component relationship between the two classes.

c)      Consider a <DRM Environment Root> instance ER.

1.       If ER has a <DRM Geometry Hierarchy> component GH, ER shall have at most one <DRM Hierarchy Summary Item> component HS_G for which the drm_class field corresponds to a <DRM Geometry Hierarchy> subclass. If such a component instance HS_G exists, its field values shall comply with the following constraints.

i.         HS_G’s drm_class shall match that of GH.

ii.       HS_G’s multiplicity_meaning shall be EXACT, and its multiplicity shall be 1.

2.       If ER does not have a <DRM Geometry Hierarchy> component, ER shall not have any <DRM Hierarchy Summary Item> component for which the drm_class field corresponds to a <DRM Geometry Hierarchy> subclass.

3.       If ER has a <DRM Feature Hierarchy> component FH, ER shall have at most one <DRM Hierarchy Summary Item> component HS_F for which the drm_class field corresponds to a <DRM Feature Hierarchy> subclass. If such a component instance HS_F exists, its field values shall comply with the constraint

i.         HS_F’s drm_class shall match that of FH.

ii.       HS_F’s multiplicity_meaning shall be EXACT, and its multiplicity shall be 1.

 

4.       If ER does not have a <DRM Feature Hierarchy> component, ER shall not have any <DRM Hierarchy Summary Item> component for which the drm_class field corresponds to a <DRM Feature Hierarchy> subclass.

 

d)      Consider a <DRM Model> instance M.

1.       If M has a <DRM Geometry Model> with a <DRM Geometry Hierarchy> component GH, M shall have at most one <DRM Hierarchy Summary Item> component HS_G for which the drm_class field corresponds to a <DRM Geometry Hierarchy> subclass. If such a component instance HS_G exists, its field values shall comply with the following constraints.

i.         HS_G’s drm_class shall match that of GH.

ii.       HS_G’s multiplicity_meaning shall be EXACT, and its multiplicity shall be 1.

 

2.       If M does not have a <Geometry Model> component, or its <Geometry Model> does not have a <DRM Geometry Hierarchy> component, M shall not have any <DRM Hierarchy Summary Item> component for which the drm_class field corresponds to a <DRM Geometry Hierarchy> subclass.

3.       If M has a <DRM Feature Model> with a <DRM Feature Hierarchy> component FH, M shall have at most one <DRM Hierarchy Summary Item> component HS_F for which the drm_class field corresponds to a <DRM Feature Hierarchy> subclass. If such a component instance HS_F exists, its field values shall comply with the following constraints.

i.         HS_F’s drm_class shall match that of FH.

ii.       HS_F’s multiplicity_meaning shall be EXACT, and its multiplicity shall be 1.

 

4.       If M does not have a <DRM Feature Model> component, or its <DRM Feature Model> does not have a <DRM Feature Hierarchy> component, M shall not have any <DRM Hierarchy Summary Item> component for which the drm_class field corresponds to a <DRM Feature Hierarchy> subclass.

 

e)      All <DRM Geometry Hierarchy> associates (or <DRM Feature Hierarchy> associates) of a given <DRM Hierarchy Summary Item> instance shall be instances of the class specified by its drm_class field value, and shall conform to the structure that it specifies.

6.1.18        Homogeneous Light_Rendering_Properties

Consider a <DRM Image Anchor> instance X.

a)      The <DRM Location> instances in the scope of X shall be valid or "extended" within the spatial reference frame specified by X's srf_parameters.

b)      X shall be either a component of one or more <DRM Image> instances or of one or more <DRM Image Mapping Function> instances, but not both.

c)      If X is a component of a <DRM Image Mapping Function> instance F, and if F appears within the context of some spatial reference frame S, X's srf_parameters shall equal those specified by S.

6.1.19        Image_Anchor spatial reference frame

A <DRM Light Rendering Properties> may only contain one subclass of <DRM Directional Light Behaviour>.

6.1.20        Image mapping functions and texture coordinates

The number of <DRM Image Mapping Function>s a <DRM Geometry> object has shall be equal to the number of <DRM Texture Coordinate>s for each <DRM Base Vertex> and <DRM Tack Point> within that <DRM Geometry>.

<DRM Image Mapping Function>s for <DRM Feature>s, on the other hand, shall either have <DRM Image Anchor> components, or specify <DRM Image>s that have <DRM Image Anchor> components.

EXCEPTION:
If a <DRM Image Mapping Function> is used to specify a non-planar projection (e.g., spherical, cylindrical) it shall use a <DRM Image Anchor> component, and the <DRM Geometry> to which the <DRM Image Mapping Function> is attached cannot have <DRM Texture Coordinate>s or <DRM Tack Point>.

6.1.21        Index_Codes within tables

The following constraints apply:

a)      No <DRM Property> instance, other than a <DRM Table Property Description>, shall have an Index_Code meaning value.

b)      Consider a <DRM Data Table> instance DT, with a component <DRM Table Property Description> instance X, where X has a meaning value of DATA_TABLE_LIBRARY.

For each corresponding cell value N in the <DRM Data Table> instance DT, if N is not a sentinel value for missing or excluded, N is an index into the ordered set of <DRM Data Table> components of a <DRM Data Table Library> where

1.       The transmittal in which the <DRM Data Table> DT resides shall have a <DRM Data Table Library> L,

2.       The <DRM Data Table Library> L shall have at least N ordered <DRM Data Table> components,

3.       The Nth <DRM Data Table> component of the <DRM Data Table Library> L shall have a <DRM Classification Data> whose tag matches the component_data_table_ecc of the <DRM Table Property Description> instance X.

i.         If the <DRM Classification Data> of the referenced Nth <DRM Data Table> has no component <DRM Property Value>s, the<DRM Table Property Description> instance X shall have none.

ii.       If the <DRM Classification Data> of the referenced Nth <DRM Data Table> has j component <DRM Property Value>s, the <DRM Table Property Description> instance X shall have exactly j matching <DRM Property Value>s.

c)      Consider a <DRM Data Table> instance DT, with a component <DRM Table Property Description> instance X, where X has a meaning Index_Code value of DATA_TABLE_COMPONENT.

For each corresponding cell value N in the <DRM Data Table> instance DT, if N is not a sentinel value for missing or excluded, N is an index into the ordered set of <DRM Data Table> components of DT, where

1.       The <DRM Data Table> DT shall have at least N ordered <DRM Data Table> components,

2.       The Nth <DRM Data Table> component of DT shall have a < Classification Data> whose tag matches the component_data_table_ecc of the <DRM Table Property Description> instance X.

i.         If the <DRM Classification Data> of the referenced Nth <DRM Data Table> has no component <DRM Property Value>, the <DRM Table Property Description> instance X shall have none.

ii.       If the <DRM Classification Data> of the referenced Nth <DRM Data Table> has j component <DRM Property Value>, the <DRM Table Property Description> instance X shall have exactly j matching <DRM Property Value>.

 

d)      Consider a <DRM Data Table> instance DT, with a component <DRM Table Property Description> instance X, where X has a meaning Index_Code value of PROP_TABLE_REF_COMPONENT.

For each corresponding cell value N in the <DRM Data Table> instance DT, if N is not a sentinel value for missing or excluded, N is an index into the ordered set of <DRM Property Table Reference> components of DT, where

1.       The <DRM Data Table> DT shall have at least N ordered <DRM Property Table Reference> components,

2.       The Nth <DRM Property Table Reference> component of DT shall refer to a <DRM Property Table> whose <DRM Classification Data> whose tag matches the component_data_table_ecc of the <DRM Table Property Description> instance X.

i.         If the <DRM Classification Data> of the referenced <DRM Property Table> has no component <DRM Property Value>s, the <DRM Table Property Description> instance X shall have none.

ii.       If the <DRM Classification Data> of the referenced <DRM Property Table> has j component <DRM Property Value>s, the <DRM Table Property Description> instance X shall have exactly j matching <DRM Property Value>s.

 

e)      A <DRM Table Property Description> instance which is not covered by 2, 3, or 4 above shall have no <DRM Property Value> components.

f)       Consider a <DRM Data Table> instance DT, with a component <DRM Table Property Description> instance X, where X has a meaning Index_Code value of IMAGE_MAPPING_FUNCTION.

For each corresponding cell value N in the <DRM Data Table> instance DT, if N is not a sentinel value for missing or excluded, N is an index into the ordered set of <DRM Image Mapping Function> components of DT, where the <DRM Data Table> DT shall have at least N ordered <DRM Image Mapping Function> components.

6.1.22        Inheritance rule for Location

Given any object that has a <DRM Location> component, that <DRM Location> (or the first <DRM Location> in an ordered list of <DRM Location> components) becomes the (default) <DRM Location> in the context for the aggregation tree stemming from that object.

6.1.23        Legal time ranges

The following constraints apply:

a)      For <DRM Absolute Time Point>:

1.       hour shall be between 0 and 23 inclusive.

2.       minutes shall be between 0 and 59 inclusive.

3.       seconds shall be between 0 and 60, i.e. 0 ≤ seconds < 60.0.

b)      For <DRM Absolute Time Interval> and <DRM Relative Time Point>,

1.       delta_hours shall be between 0 and 23 inclusive.

2.       delta_minutes shall be between 0 and 59 inclusive.

3.       delta_seconds shall be between 0 and 60; i.e., 0 ≤ seconds < 60.0.

c)      For <DRM Relative Time Interval>,

1.       delta_start_hours shall be between 0 and 23 inclusive, and delta_stop_hours shall be between 0 and 23 inclusive.

2.       delta_start_minutes and delta_stop_minutes shall each be between 0 and 59 inclusive.

3.       delta_start_seconds and delta_stop_seconds shall each be between 0 and 60; i.e., 0 ≤ seconds < 60.0.

6.1.24        Level of detail related organizing principle

For any level-of-detail related organization LRO, whether a <DRM Level Of Detail Related Features> or <DRM Level Of Detail Related Geometry>:

a)      The <DRM Base Level Of Detail Data> for each branch of LRO shall match the class specified by LRO’s lod_data_type field.

b)      For each pair of branches, if the <DRM Base Level Of Detail Data> overlap, neither shall be a subset of the other.

1.       For <DRM Distance Level Of Detail Data>, neither interval shall be contained within the other. Specifically:

i.         The ranges may touch at their endpoints; that is, the minimum_range of one may equal the maximum_range of the other.

ii.       If the ranges overlap by more than one endpoint, each shall have at least one fade band, so that one is fading in while the other is fading out for the overlap range.

2.       For <DRM Volume Level Of Detail Data>:

i.         If the two branches both have outside = FALSE, neither volume may be contained within the other.

ii.       The volumes specified may be identical if the link objects specify different values for their outside fields, provided that LRO complies with the Distinct link objects constraint.

c)      If LRO inherited a <DRM Base Level Of Detail Data> instance C as a component, such that C matches its lod_data_type, LRO’s link objects shall fall within the scope specified by C.

1.       If C is a <DRM Distance Level Of Detail Data> and LRO is DISTANCE, each link object specified by LRO shall specify a range within the region covered by C.

2.       If C is a <DRM Volume Level Of Detail Data> and LRO is VOLUME, each link object specified by LRO shall specify a volume lying within that of C.

3.       No other classes of C permit a matching LRO to occur in their inheritance tree.

6.1.25        LSR model and reference surfaces

A <DRM Model> defined using an LSR spatial reference frame (SRF) may not contain (aggregate) any <DRM Reference Surface> instances.

6.1.26        LSR_Transformation components

An <DRM LSR Transformation> instance L shall have a <DRM Local 4x4>, an ordered set of <DRM LSR Transformation Step> components, or both. If L has both a <DRM Local 4x4> and a set of <DRM LSR Transformation Step> components, the ordered set of <DRM LSR Transformation Step> components shall be mathematically equivalent to the <DRM Local 4x4>.

6.1.27        Mandatory metadata

Table 6.2 lists metadata classes. When these classes are instanced, at least the designated fields shall be populated.

Table 6.2 — Mandatory metadata

<DRM Access>

Consider an <Access> instance A.

a)      If A's access_constraints is set to OTHER_RESTRICTIONS. A's other_constraints field shall contain a non-empty string specifying what those other restrictions are.

b)      If A's use_constraints is set to OTHER_RESTRICTIONS. A's other_constraints field shall contain a non-empty string specifying what those other restrictions are.

<DRM Browse Media>

name shall be a non-empty string.
media_urn shall be a valid URN.

<DRM Citation>

Title shall be a non-empty string.

<DRM Description>

Abstract shall be a non-empty string.

<DRM Keywords>

Keyword_array shall be non-NULL.

For each entry in keyword_array, the thesaurus field shall contain a non-empty string. To indicate that no thesaurus is applicable, the thesaurus field shall have the value “NONE”.

For each entry in keyword_array, the keyword_list shall be a non-empty string, where keywords are separated by semicolons.

For any two entries in keyword_array, either the code fields or the thesaurus fields shall have different values.

<DRM Lineage>

An instance of <DRM Lineage> shall specify at least one of the following:

c)      a <Process Step>,

d)      a <Source>, or

e)      a non-empty string within its statement field.

<DRM Point Of Contact>

The locale of each String field within a <DRM Point Of Contact> instance shall be specified using the same country code as that specified by its address field.

At least one of the following fields shall contain a non-empty string:

f)       individual_name,

g)      position_name, or

h)      organization_name.

contact_information.voice_phone shall be a non-empty string.

contact_information.email_address shall contain a comma-separated list of syntactically valid e-mail addresses.

contact_information.web_site, if specified, shall contain a comma-separated list of syntactically valid URLs.

At least one of the following shall be a non-empty string:

i)        individual_name,

j)        position_name, and/or

k)      organization_name.

email_address shall be a non-empty string, and shall be a comma-separated list of syntactically valid email addresses

web_site, if specified, shall be a comma-separated list of syntactically valid URLs

The locale of each String field within an instance of <DRM Point Of Contact> shall be specified using the same country code as that used by the address except as noted above.

<DRM Process Step>

Given an instance P of <DRM Process Step>, the following conditions shall hold:

l)        P's description field shall be a non-empty string.

m)    P's <DRM Absolute Time Point> component shall have time_significance = OCCURRENCE.

n)      If P has <DRM Point of Contact> components, each shall specify PROCESSOR as its role.

<DRM Source>

Description shall be a non-empty string.

6.1.28        Model reference type constraints

The following constraints apply:

a)      If an instance of <DRM Model> has model_reference_type set to ROOT or ROOT_AND_COMPONENT, the <DRM Model> instance’s name shall be unique in the scope of its aggregate <DRM Model Library>.

b)      If an instance of <DRM Model> has model_reference_type set to COMPONENT, the following also apply:

1.       Any <DRM Geometry Model Instance> or <DRM Feature Model Instance> referencing that <DRM Model> shall be in the scope of another <DRM Model> instance;

2.       Its dynamic_model_processing flag shall be FALSE.

6.1.29        Model spatial reference frame

The following constraints apply:

a)      Consider a <DRM Model> M defined in a spatial reference frame other than Local Space Rectangular.

1.      M shall be instanced only by <DRM Geometry Model Instance> and / or <DRM Feature Model Instance> instances specified in a matching spatial reference frame, and

2.      M’s has_moving_parts field shall be set to FALSE.

b)      Consider a <DRM Model> M defined in a Local Space Rectangular spatial reference frame.

1.      If M’s has_units field is set to FALSE, M shall not be referenced by any <DRM Geometry Model Instance> or <DRM Feature Model Instance>.

2.      If M is to be instanced into a non-LSR reference frame by any <DRM Geometry Model Instance> or <DRM Feature Model Instance>, each such <DRM Geometry Model Instance> and <DRM Feature Model Instance> shall specify a <DRM World Transformation>.

3.      M cannot be instanced into another Local Space Rectangular reference frame unless the target spatial reference frame has identical parameters to that of M.

4.      If the component hierarchy of M contains any <DRM LSR Transformation> instances that have <DRM Control Link>s, and if M provides controlling <DRM Variable> to those <DRM Control Link> such that they allow motion, M’s has_moving_parts field shall be set to TRUE; otherwise, M’s has_moving_parts field shall be set to FALSE.

 

c)      All <DRM Location> under a <DRM Model> shall be expressed in the spatial reference frame defined by that <DRM Model>.

6.1.30        Nested primitive geometry

When a <DRM Primitive Geometry> contains a <DRM Union Of Primitive Geometry> for nesting reasons, the resulting geometry shall be coplanar. Only <DRM Polygon>, <DRM Ellipse>, <DRM Line>, <DRM Arc>, and <DRM Point>. <DRM Primitive Geometry>s can have nesting, except for <DRM Elliptic Cylinder> with <DRM Finite Element Mesh> (see below).

The possible combinations at any level of nesting are:

·      <DRM Polygon> can nest:
<DRM Polygon>, <DRM Ellipse>, <DRM Line>, <DRM Arc>, <DRM Point>, and <DRM Finite Element Mesh>

·      <DRM Ellipse> can nest:
<DRM Polygon>, <DRM Ellipse>, <DRM Line>, <DRM Arc>, <DRM Point>, and <DRM Finite Element Mesh>

·      <DRM Line> can nest <DRM Line>, <DRM Arc>, and <DRM Point>

·      <DRM Arc> can nest <DRM Line>, <DRM Arc>, and <DRM Point>

·      <DRM Point> can nest <DRM Point>

·      <DRM Elliptic Cylinder> can nest <DRM Elliptic Cylinder>

·      <DRM Elliptic Cylinder> can nest:
<DRM Finite Element Mesh> as an interior 3D mesh

·      <DRM Finite Element Mesh> cannot nest.

6.1.31        No attribute conflicts

a)      No two directly attached <DRM Property Value> components of an object instance may specify identical values for their meaning fields.

If an inherited <DRM Property Value> has the same meaning field value as a directly attached <DRM Property Value>, the directly attached component replaces the inherited component in the inheritance context.

b)      No two directly attached <DRM Property Description> components of an object instance may specify identical values for their meaning fields.

If an inherited <DRM Property Description> has the same meaning field value as a directly attached <DRM Property Description>, the directly attached component replaces the inherited component in the inheritance context.

6.1.32        Non-crossing aggregations

Aggregations cannot cross <DRM Model>s and/or <DRM Environment Root>.

6.1.33        Non-crossing associations

Associations cannot cross <DRM Model>s and/or <DRM Environment Root>, except for <DRM Geometry Model Instance> to <DRM Geometry Model>, and <DRM Feature Model Instance> to <DRM Feature Model>.

6.1.34        Non-cyclic aggregations

Aggregations are not allowed to form cycles. Associations are.

a)      By this rule, an object can associate to itself; e.g. a <DRM Point Feature> can associate with itself.

b)      By this rule, a <DRM Feature> can associate to a <DRM Geometry Hierarchy>, which associates to the <DRM Feature>.

c)      By this rule, an object cannot have itself as a component.

6.1.35        Non-empty Environment_Root

An <DRM Environment Root> shall have either a <DRM Feature Hierarchy>, a <DRM Geometry Hierarchy>, or both.

6.1.36        Non-empty Model

The following constraints apply:

a)      All <DRM Model> instances shall have either a <DRM Feature Model>, a <DRM Geometry Model>, or both.

b)      A <DRM Model> is permitted to have an “empty” <DRM Geometry Model>, that is, a <DRM Geometry Model> without a component <DRM Geometry Hierarchy>, only if

1.       The <DRM Model> either does not have a <DRM Feature Model>, or its <DRM Feature Model> is “empty”.

2.       The <DRM Model> has a <DRM Classification Data> component with tag = ECC_OBJECT.

3.       The <DRM Model> is tagged as ROOT_AND_COMPONENT so that it can be instanced within <DRM Environment Root> scopes as well as other <DRM Model>s, and

4.       The “empty” <DRM Geometry Model> has no <DRM Attachment Point>, <DRM Contact Point>, or <DRM LSR Transformation> component, since these components require the presence of a <DRM Geometry Hierarchy>).

c)      A <DRM Model> is permitted to have an “empty” <DRM Feature Model>, that is, a <DRM Feature Model> without a component <DRM Feature Hierarchy>, only if

1.       The <DRM Model> either does not have a <DRM Geometry Model>, or its <DRM Geometry Model> is empty.

2.       The <DRM Model> has a <DRM Classification Data> component with tag = ECC_OBJECT.

3.       The <DRM Model> is tagged as ROOT_AND_COMPONENT so that it can be instanced within <DRM Environment Root> scopes as well as other <DRM Model>s.

 

d)      No <DRM Model> other than a properly constructed “empty” <DRM Model> is permitted to have a <DRM Classification Data> with ECC_OBJECT.

6.1.37        Non-overlapping DRM class summary items

In a list of <DRM DRM Class Summary Item>, no two shall have their type fields set to the same class type.

6.1.38        Non-selfoverlapping Perimeter_Data locations

The perimeter defined by a <DRM Perimeter Data> instance shall not intersect with or overlap itself.

6.1.39        Oct tree related organizing principle

For any oct tree-related organization OTRA, whether an <DRM Oct Tree Related Geometry> or an <DRM Oct Tree Related Features>,

a)      OTRA shall have a <DRM Spatial Extent> component, defining the bounding volume that the oct tree is organizing into octants. Since a volume is being specified, this <DRM Spatial Extent> shall be specified in terms of <DRM Location 3D> components.

b)      Each branch of OTRA shall comply with the following constraints:

1.       Each component representing an octant shall have a <DRM Spatial Extent> component. In the case of octants represented by <DRM Geometry Model Instance> or <DRM Feature Model Instance> instances, the <DRM Model> being referenced shall have the <DRM Spatial Extent>. Since a subdivision of a volume is being specified, this <DRM Spatial Extent> shall be specified in terms of <DRM Location 3D>s.

2.       The regions defined by the branches shall not overlap; that is, the corresponding <DRM Spatial Extent> instances shall not overlap.

3.       The eight possible octant components' <DRM Spatial Extent> instances shall be defined in their native SRF within the area specified by the OTRA's <DRM Spatial Extent> as shown in Figure 5.3. Consider the bounding area defined by the <DRM Spatial Extent> of OTRA, as divided into 8 octants of equal size with the area specified from point “a” to point “o” in Figure 5.3.

4.       If a branch with UPPER_NORTHWEST is present, its <DRM Spatial Extent> shall specify the area of the upper northwest octant, from point “h” to point “o” in Figure 5.3, such that:

i.         its eastern boundary aligns with the western boundary of the  UPPER_NORTHEAST octant’s <DRM Spatial Extent>, if present, and

ii.       its southern boundary aligns with the northern boundary of the UPPER_SOUTHWEST octant’s <DRM Spatial Extent>, if present.

iii.      its lower boundary aligns with the upper boundary of the LOWER_NORTHWEST octant’s <DRM Spatial Extent>, if present.

5.       If a branch with UPPER_NORTHEAST is present, its <DRM Spatial Extent> shall specify the area of the upper northeast octant, from point “g” to point “n” in Figure 5.3, such that:

i.         the <DRM Location 3D> instance representing its upper northeast corner corresponds to that of OTRA's <DRM Spatial Extent>,

ii.       its western boundary aligns with the eastern boundary of the UPPER_NORTHWEST octant’s <DRM Spatial Extent>, if present, and its southern boundary aligns with the northern boundary of the UPPER_SOUTHEAST octant’s <DRM Spatial Extent>, if present.

iii.      its lower boundary aligns with the upper boundary of the LOWER_NORTHEAST octant’s <DRM Spatial Extent>, if present.

6.       If a branch with UPPER_SOUTHWEST is present, its <DRM Spatial Extent> shall specify the area of the southwest octant, from point “f” to point “m” in Figure 5.3, such that:

i.         its eastern boundary aligns with the western boundary of the UPPER_SOUTHEAST octant’s <DRM Spatial Extent>, if present, and

ii.       its northern boundary aligns with the southern boundary of the UPPER_NORTHWEST octant’s <DRM Spatial Extent>, if present.

iii.      its lower boundary aligns with the upper boundary of the LOWER_SOUTHWEST octant’s <DRM Spatial Extent>, if present.

7.       If a branch with UPPER_SOUTHEAST is present, its <DRM Spatial Extent> shall specify the area of the southeast octant, from point “e” to point “l” in Figure 5.3, such that:

i.         its western boundary aligns with the eastern boundary of the UPPER_SOUTHWEST octant’s <DRM Spatial Extent>, if present, and

ii.       its northern boundary aligns with the southern boundary of the UPPER_NORTHEAST octant’s <DRM Spatial Extent>, if present.

iii.      its lower boundary aligns with the upper boundary of the LOWER_SOUTHEAST octant’s <DRM Spatial Extent>, if present.

8.       If a branch with LOWER_NORTHWEST is present, its <DRM Spatial Extent> shall specify the area of the upper northwest octant, from point “d” to point “k” in Figure 5.3, such that:

i.         its eastern boundary aligns with the western boundary of the LOWER_NORTHEAST octant’s <DRM Spatial Extent>, if present, and

ii.        its southern boundary aligns with the northern boundary of the LOWER_SOUTHWEST octant’s <DRM Spatial Extent>, if present.

iii.      its upper boundary aligns with the lower boundary of the UPPER_NORTHWEST octant’s <DRM Spatial Extent>, if present.

9.       If a branch with LOWER_NORTHEAST is present, its <DRM Spatial Extent> shall specify the area of the upper northeast octant, from point “c” to point “j” in Figure 5.3, such that:

i.         its western boundary aligns with the eastern boundary of the LOWER_NORTHWEST octant’s <DRM Spatial Extent>, if present, and

ii.       its southern boundary aligns with the northern boundary of the LOWER_SOUTHEAST octant’s <DRM Spatial Extent>, if present.

iii.      its upper boundary aligns with the lower boundary of the UPPER_NORTHEAST octant’s <DRM Spatial Extent>, if present.

10.   If a branch with LOWER_SOUTHWEST is present, its <DRM Spatial Extent> shall specify the area of the southwest octant, from point “b” to point “i” in Figure 5.3, such that:

i.         the <DRM Location 3D> instance representing its lower southwest corner corresponds to that of OTRA's <DRM Spatial Extent>,

ii.       its eastern boundary aligns with the western boundary of the LOWER_SOUTHEAST octant’s <DRM Spatial Extent>, if present, and

iii.      its northern boundary aligns with the southern boundary of the LOWER_NORTHWEST octant’s <DRM Spatial Extent>, if present.

iv.     its upper boundary aligns with the lower boundary of the UPPER_SOUTHWEST octant’s <DRM Spatial Extent>, if present.

11.   If a branch with LOWER_SOUTHEAST is present, its <DRM Spatial Extent> shall specify the area of the southeast octant, from point “a” to point “h” in Figure 5.3, such that:

i.         its western boundary aligns with the eastern boundary of the LOWER_SOUTHWEST octant’s <DRM Spatial Extent>, if present, and

ii.       its northern boundary aligns with the southern boundary of the LOWER_NORTHEAST octant’s <DRM Spatial Extent>, if present.

iii.      its upper boundary aligns with the lower boundary of the UPPER_SOUTHEAST octant’s <DRM Spatial Extent>, if present.

c)      The strict_organizing_principle and unique_descendants field values of OTRA shall be TRUE.

6.1.40        Perimeter_Related_Feature_Topology partitioning

The following conditions apply to DRM_Perimeter_Related_Feature_Topology DRM class instances:

a)      The regions defined by the components of a DRM_Perimeter_Related_Feature_Topology object shall not overlap.

b)      A DRM_Feature_Topology object may belong to at most one DRM_Perimeter_Related_Feature_Topology.

6.1.41        Perimeter related organizing principle

The following constraints apply:

a)      For any perimeter-related organization,

1.       The regions defined by its branches shall not overlap; that is, the <DRM Perimeter Data> on the branches shall define regions that do not overlap.

2.       For each branch of the organization, every primitive within that branch shall have a spatial extent overlapping that of the branch.

b)      For topological organizations,

1.       A <DRM Feature Topology> instance shall belong to at most one <DRM Perimeter Related Feature Topology>.

2.       A <DRM Geometry Topology> instance shall belong to at most one <DRM Perimeter Related Geometry Topology>.

c)      Consider a perimeter-related organization PRA, which is either <DRM Perimeter Related Features> or a <DRM Perimeter Related Geometry>.

1.       If PRA’s strict_organizing_principle = TRUE, for each branch of PRA, each primitive within the branch shall have a spatial extent fully contained within that defined by the <DRM Perimeter Data> corresponding to the branch.

2.       If PRA’s strict_organizing_principle = FALSE, no guarantees exist as to how accurately the objects of the component tree rooted at PRA were placed into their “sorted bins” (the branches of PRA), apart from that specified by 1 (above).

3.       If PRA is a <DRM Perimeter Related Features>, and the same <DRM Feature> instance belongs to more than one of its branches, the unique_descendants and strict_organizing_principle flags of PRA shall be set to FALSE.

4.       If PRA is a <DRM Perimeter Related Geometry>, and the same <DRM Geometry> instance belongs to more than one of its branches, the unique_descendants and strict_organizing_principle flags of PRA shall be set to FALSE.

6.1.42        Precedence of Attribute_Set_Index

<DRM Geometry> or <DRM Feature> instances may contain attribute and/or metadata objects and also <DRM Attribute Set Index> objects that refer to <DRM Attribute Set>s. If there is a clash between the attribute or metadata objects that are contained by the <DRM Geometry> or DRM_Feature and any attribute or metadata objects that are contained by <DRM Attribute Set>s, objects contained directly by <DRM Geometry> or <DRM Feature>s take precedence.

DRM_Geometry and <DRM Feature>s may contain an ordered list of <DRM Attribute Set Index> instances. If a <DRM Geometry> or <DRM Feature> contains references to more than one <DRM Attribute Set> and there is a clash between the attribute objects they contain, attribute objects contained in <DRM Attribute Set>s referenced first in this ordered list have precedence over those contained in <DRM Attribute Set>s that are referenced later.

Precedence will behave differently depending on the multiplicity of the relationship that the attribute or metadata object in question has with the containing <DRM Geometry> or <DRM Feature>. In the event of a clash, the following rules will apply based on this enumeration.

·      Zero or one:
The object contained directly by the <DRM Geometry> or <DRM Feature> is used. If the clash is between objects in <DRM Attribute Set>s, the object contained in the <DRM Attribute Set> that is referenced earliest in the list of <DRM Attribute Set Index> objects is used.

·      Zero or more:
Those contained directly by the <DRM Geometry> or <DRM Feature> are used, followed by those contained in the <DRM Attribute Set>s, in the order that the <DRM Attribute Set>s are referenced by the <DRM Geometry> or <DRM Feature>.

·      Zero or more {ordered}:Those contained directly by the <DRM Geometry> or <DRM Feature> are used in order. Those contained in the <DRM Attribute Set> referenced by the first <DRM Attribute Set Index> object in the list are used, in order. those contained in the <DRM Attribute Set> referenced by the second <DRM Attribute Set Index> object in the list, in order.

This is continued until there are no further objects in the list.

6.1.43        Primitive_Summary_Item constraints

The following constraints apply:

a)      An instance of <DRM Primitive Summary Item> shall have a drm_class field value corresponding to one of the following:

1.       <DRM Primitive Feature> or one of its subclasses

2.       <DRM Primitive Geometry> or one of its subclasses

3.       classes that may legally appear in the component tree of a <DRM Primitive Feature> or <DRM Primitive Geometry>

b)      For any <DRM Primitive Summary Item> instance B that is a component of another <DRM Primitive Summary Item> instance A, the drm_class represented by B shall be defined as a formal component of A, and the multiplicity of B shall comply with the corresponding component relationship between the two classes.

c)      For any <DRM Primitive Summary Item> component S of an <DRM Environment Root> instance ER, where the drm_class field corresponds to a class P, the component tree of ER shall contain at least one instance of P, either in its <DRM Feature Hierarchy>, its <DRM Geometry Hierarchy>, or both, such that the component tree of the instance of P conforms with the pattern specified by S.

d)      For any <DRM Primitive Summary Item> component S of a <DRM Model> instance M, where the drm_class field corresponds to a class P, the component tree of M shall contain at least one instance of P, in either the <DRM Feature Hierarchy> of its <DRM Feature Model>, the <DRM Geometry Hierarchy> of its <DRM Geometry Model> , or both, such that the component tree of the instance of P conforms with the pattern specified by S.

Note that this implicitly enjoins the constraint that an “empty” <DRM Model> cannot have <DRM Primitive Summary Item> components.

6.1.44        Property_Characteristic restrictions

Consider a <DRM Property Characteristic> instance C and a <DRM Property> P such that C is a component of P.

a)      The characteristic_value.value_type of C shall correspond to the value type imposed by P. In the case where P is a <DRM Property Description> instance, the value type of C shall be consistent with the restrictions imposed by the meaning of P.

b)      If C is not real valued, it shall not have EVC_TOLERANCE as its meaning.

c)      Consider another, distinct <DRM Property Characteristic> instance C2 that is also a component of P.

1.       The meaning field values of C and C2 shall be distinct.

2.       If C specifies EVC_MINIMUM_VALUE and C2 specifies EVC_MAXIMUM_VALUE, the characteristic_value of C shall be less than or equal to that of C2.

6.1.45        Property meaning restrictions

A <DRM Property Value> instance shall have the field value.value_type consistent with the field meaning.

A <DRM Table Property Description> instance shall have the field value_type and the value_type field elements of the corresponding elements of applicable <DRM Data Table> instances consistent with the field meaning of the <DRM Table Property Description> instance.

If any <DRM Property> subclass instance specifies an EA or Variable Code of value type Real  in the meaning field, then value_unit shall specify a unit belonging to the EDCS Unit  Equivalence Class to which the EA or Variable Code is bound.

6.1.46        Publishable objects

Instances of the following classes may be published. Where an abstract class is specified, the instances of concrete classes descended from that abstract class may be published.

<DRM Aggregate Feature>

<DRM Aggregate Geometry>

<DRM Attribute Set Table Group>

<DRM Colour Table Group>
<DRM Environment Root>

<DRM Feature Model>
<DRM Feature Topology>

<DRM Geometry Model>
<DRM Geometry Topology>

<DRM Image>

<DRM Property Grid>
<DRM Property Grid Hook Point>

<DRM Property Table>

<DRM Sound>

<DRM Symbol>

6.1.47        Quad tree related organizing principle

For any quad tree-related organization QTRA, whether a <DRM Quad Tree Related Features> or a <DRM Quad Tree Related Geometry>, the following constraints shall apply:

a)      QTRA shall have a <DRM Spatial Extent>.

b)      Each branch of QTRA shall comply with the following constraints.

1.       Each component representing a quadrant shall have a <DRM Spatial Extent> component. In the case of quadrants represented by <DRM Geometry Model Instance> or <DRM Feature Model Instance> instances, the <DRM Model> being referenced shall have the <DRM Spatial Extent>.

2.       The regions defined by the branches shall not overlap; that is, the <DRM Spatial Extent> components of the component hierarchies shall not overlap.

3.       The four possible quadrant components’ <DRM Spatial Extent> shall be defined in their native SRF within the area specified by the QTRA’s <DRM Spatial Extent> as follows:

Quad Tree Related Organizing Principle: Quadrant Specification

Consider the bounding area defined by the <DRM Spatial Extent> of QTRA, as divided into 4 quadrants of equal size.

4.      If a branch with quadrant NORTHWEST is present, its <DRM Spatial Extent> shall specify the area of the northwest quadrant, such that:

i.         its eastern boundary aligns with the western boundary of the <DRM Spatial Extent>  of the NORTHEAST quadrant, if present, and

ii.       its southern boundary aligns with the northern boundary of the <DRM Spatial Extent> of the SOUTHWEST quadrant, if present.

5.       If a branch with quadrant NORTHEAST is present, its <DRM Spatial Extent> shall specify the area of the northeast quadrant, such that:

i.         the <DRM Location> instance representing its northeast corner corresponds to that of the <DRM Spatial Extent> of QTRA,

ii.       its western boundary aligns with the eastern boundary of the <DRM Spatial Extent> of the NORTHWEST quadrant, if present, and

iii.      its southern boundary aligns with the northern boundary of the <DRM Spatial Extent> of the SOUTHEAST quadrant, if present.

6.       If a branch with SOUTHWEST is present, its <DRM Spatial Extent> shall specify the area of the southwest quadrant, such that:

i.         the <DRM Location> instance representing its southwest corner corresponds to that of the <DRM Spatial Extent> of QTRA,

ii.       its eastern boundary aligns with the western boundary of the <DRM Spatial Extent> of the SOUTHEAST quadrant, if present, and

iii.      its northern boundary aligns with the southern boundary of the <DRM Spatial Extent> of the NORTHWEST quadrant, if present.

7.       If a branch with SOUTHEAST is present, its <DRM Spatial Extent> shall specify the area of the southeast quadrant, such that:

i.         its western boundary aligns with the eastern boundary of the <DRM Spatial Extent> of the SOUTHWEST quadrant, if present, and

ii.       its northern boundary aligns with the southern boundary of the <DRM Spatial Extent> of the NORTHEAST quadrant, if present.

6.1.48        Reference to Data_Table_Library

The following conditions apply to instances of <DRM Property Table Reference>.

a)      The <DRM Property Table> specified by the <DRM Property Table Reference> shall be a component of a <DRM Data Table Library>.

b)      The <DRM Property Table> shall contain an <DRM Axis> whose axis_type corresponds to that specified by the <DRM Property Table Reference>.

c)      The <DRM Axis> thus specified shall have axis_value_count greater than or equal to (index_on_axis + 1), where index_on_axis is that specified by the <DRM Property Table Reference>.

6.1.49        Relative spatial axes values

The spatial axes values shall be relative to the location specified in the <DRM Location> associated with the <DRM Property Grid Hook Point>.

6.1.50        Required Reference_Vector location

A <DRM Reference Vector> is required to have a <DRM Location> component whenever the <DRM Reference Vector> is a component of a <DRM Polygon>, <DRM Line>, <DRM Infinite Light>, <DRM Moving Light Behaviour>, or <DRM Union Of Geometry>.

6.1.51        Separating plane organizing principle

The following constraints apply:

a)      The <DRM Location 3D> components of a <DRM Separating Plane> shall specify a plane.

b)      For any <DRM Separating Plane Related Geometry> instance S:

1.       No two <DRM Separating Plane Relations> components of S shall specify coplanar <DRM Separating Plane> instances.

2.       For each component <DRM Separating Plane Relations> R of S:

i.         Every primitive within each branch of R shall have a spatial extent overlapping that of the half-space specified by the branch.

ii.       If S's strict_organizing_principle = TRUE, every primitive within each branch of R shall have a spatial extent fully contained within the half-space specified by the <DRM Separating Plane Data> corresponding to the branch. If S's strict_organizing_principle = FALSE, no guarantees exist as to how accurately the objects of the component tree rooted at S were placed into their sorted 'bins', apart from that specified by i above.

6.1.52        Spatial_Index related organizing principle

The following constraints apply:

a)      For any spatial-index-related organization SIRO,

1.       The column_width of SIRO shall be a positive number.

2.       The row_width of SIRO shall be a positive number.

3.       For each branch of the organization, the corresponding <DRM Spatial Index Data> shall define a region in the spatial index, such that

i.         The column_index of the <DRM Spatial Index Data> instance shall be between 1 and the column_count defined by SIRO.

ii.       The row_index of the <DRM Spatial Index Data> instance shall be between 1 and the row_count defined by SIRO.

iii.      Each primitive within the branch shall have a spatial extent overlapping that defined by the <DRM Spatial Index Data> of the branch.

b)      Consider an instance SRA, which is either a <DRM Spatial Index Related Features> or a <DRM Spatial Index Related Geometry>.

1.       If SRA’s strict_organizing_principle = TRUE, for each branch of SRA, each primitive within the branch shall have a spatial extent fully contained within that defined by the <DRM Spatial Index Data> corresponding to the branch.

2.       If SRA’s strict_organizing_principle = FALSE, no guarantees exist as to how accurately the instances of the component tree rooted at SRA were placed into their “sorted bins” (the branches of SRA), apart from that specified by 1 (above).

3.       If SRA is a <DRM Spatial Index Related Features>, and the same <DRM Feature> instance belongs to more than one of its branches, the unique_descendants and strict_organizing_principle flags of SRA shall be set to FALSE.

4.       If SRA is a <DRM Spatial Index Related Geometry>, and the same <DRM Geometry> instance belongs to more than one of its branches, the unique_descendants and strict_organizing_principle flags of SRA shall be set to FALSE.

6.1.53        State related organizing principle

For any state-related aggregation SRA, whether a <DRM State Related Features> or a <DRM State Related Geometry>, the following constraints apply:

a)      The state tag of SRA shall specify an EDCS Attribute Code T that is bound either to the abstract value type ENUMERATION or to a numeric value type. In the latter case, T shall be bound to the EDCS Unit Equivalence class PURE_NUMBER such that the state values of SRA are specified in EUC_PERCENT units with ESC_UNI.

b)      Each branch of SRA shall comply with the following constraints.

1.       The <DRM State Data> associated with that branch shall have a state_value whose value_type matches that of SRA’s active_state_value.

2.       The <DRM State Data> associated with that branch shall have a state_value which does not overlap with that of any other branch’s <DRM State Data> within SRA.

c)      If SRA has a <DRM State Control Link> instance as a component, the return type of each of the <DRM Expression> components of the <DRM State Control Link> shall match that of the value_type of the active_state_value field of SRA.

6.1.54        Time dependency

<DRM Relative Time Point>, <DRM Absolute Time Interval>, and <DRM Relative Time Interval> may each have a component <DRM Absolute Time Point>, and the restrictions on their field values depend on the value of the <DRM Absolute Time Point> component, when it is present, subject to the following restrictions:

a)      If an <DRM Absolute Time Point> is present with a time configuration value specifying that the day field is not applicable,

1.       for <DRM Absolute Time Interval> and <DRM Relative Time Point>, delta_days = 0.

2.       for <DRM Relative Time Interval>, delta_start_days = delta_stop_days = 0.

b)      For <DRM Absolute Time Interval> and <DRM Relative Time Point>, if an <DRM Absolute Time Point> is present with a time configuration value indicating that the day field is in use but that the month fields is not in use, delta_days shall be in the range (1 - day) to (30 - day) where day is the day field of the <DRM Absolute Time Point>. Note that delta_days is allowed to be negative for this case.

c)      For <DRM Absolute Time Interval> and <DRM Relative Time Point>, if an <DRM Absolute Time Point> is present with a time configuration value of DAY_OF_YEAR, delta_days shall be in the range [0, 365].

6.1.55        Time interval calculation

A <DRM Time Interval> instance that is referenced to an <DRM Absolute Time Point> with a time configuration value indicating that month is not supplied is treated as having a thirty-day month, such that its fields shall specify an interval not exceeding a 30 day period. See item b of the Time dependency constraint.

A <DRM Time Interval> instance that is referenced to an <DRM Absolute Time Point>with a time configuration value indicating that month is supplied shall be calculated using the actual number of days in that month. In the case of month = FEBRUARY for a configuration where year is not supplied, the number of days in the month shall be treated as 28.

6.1.56        Unique ID field

For any class that has an ID field, the ID is unique for all objects of that class within a given transmittal.

Specifically, within the component tree of a given <DRM Transmittal Root>:

a)      No two <DRM Camera Point> instances may have identical values for their ID fields.

b)      No two <DRM Feature ID> instances may have identical values for their ID fields.

c)      No two <DRM Geometry ID> instances may have identical values for their ID fields.

6.1.57        Universal_Feature_Face level 3

<DRM Universal Feature Face>s are only used at feature topology level 3.

6.1.58        Variable meaning restrictions

The following constraints apply to a <DRM Variable> instance:

a)      The value_type field shall be consistent with the meaning field

b)      If an EA or Variable Code of value type Real is specified in the meaning field, value_unit shall specify a unit belonging to the EDCS Unit Equivalence Class to which the EA or Variable Code is bound.

c)      If an EA or Variable Code not of value type Real is specified in the meaning field, value_unit shall specify Unitless and value_scale shall specify Uni.

6.2    DRM class definitions

6.2.1             Introduction

Each of the DRM class definitions below specifies an abstract data type for the data structures required by SEDRIS. These definitions can be hierarchical in nature and may have dependencies among themselves. DRM class names are formed starting with the fixed letters “DRM_” followed by each subsequent word starting with an upper case character with all other characters in the word in lower case. Words are separated by underscores.

Certain DRM classes are only instantiated through their subclasses. These DRM classes are identified by the use of italics for their names. These DRM classes are called abstract DRM classes. While DRM class instances of abstract DRM classes never exist independently, a handle data type exists for accessing DRM class instances that may be a member of any of the subclasses (see 5.4.7 SEDRIS Object Handles).

Examples that show values for record types will display those values enclosed in braces.

6.2.2             Definitions

The DRM class definitions are presented in Table 6.3 which lists the DRM classes alphabetically.


Table 6.3—DRM classes


Table 6.4DRM_Absolute_Time_Interval

Table 6.5DRM_Absolute_Time_Point

Table 6.6DRM_Access

Table 6.7DRM_AEC_Location_3D

Table 6.8DRM_Aggregate_Feature

Table 6.9DRM_Aggregate_Geometry

Table 6.10DRM_ALCC_Location_3D

Table 6.11DRM_Alternate_Hierarchy_Related_Features

Table 6.12DRM_Alternate_Hierarchy_Related_Geometry

Table 6.13DRM_AM_Location_3D

Table 6.14DRM_Ambient_Colour

Table 6.15DRM_Animation_Behaviour

Table 6.16DRM_Animation_Related_Geometry

Table 6.17DRM_AOM_Location_3D

Table 6.18DRM_APS_Location_3D

Table 6.19DRM_Arc

Table 6.20DRM_Areal_Feature

Table 6.21DRM_ATM_Location_3D

Table 6.22DRM_Attachment_Point

Table 6.23DRM_Attribute_Set

Table 6.24DRM_Attribute_Set_Index

Table 6.25DRM_Attribute_Set_Index_Control_Link

Table 6.26DRM_Attribute_Set_Table

Table 6.27DRM_Attribute_Set_Table_Group

Table 6.28DRM_Attribute_Set_Table_Library

Table 6.29DRM_AUPS_Location_3D

Table 6.30DRM_AUTM_Location_3D

Table 6.31DRM_Axis

Table 6.32DRM_Base_Level_Of_Detail_Data

Table 6.33DRM_Base_Positional_Light

Table 6.34DRM_Base_Reference_Vector

Table 6.35DRM_Base_Summary_Item

Table 6.36DRM_Base_Time_Data

Table 6.37DRM_Base_Vertex

Table 6.38DRM_Blend_Directional_Light

Table 6.39DRM_Bounding_Volume

Table 6.40DRM_Browse_Media

Table 6.41DRM_Camera_Point

Table 6.42DRM_Centre_Of_Buoyancy

Table 6.43DRM_Centre_Of_Mass

Table 6.44DRM_Centre_Of_Pressure

Table 6.45DRM_Citation

Table 6.46DRM_Classification_Data

Table 6.47DRM_Classification_Related_Features

Table 6.48DRM_Classification_Related_Geometry

Table 6.49DRM_CMY_Colour

Table 6.50DRM_CMY_Colour_Control_Link

Table 6.51DRM_Collision_Volume

Table 6.52DRM_Colour

Table 6.53DRM_Colour_Data

Table 6.54DRM_Colour_Entry

Table 6.55DRM_Colour_Entry_Table

Table 6.56DRM_Colour_Index

Table 6.57DRM_Colour_Index_Control_Link

Table 6.58DRM_Colour_Set

Table 6.59DRM_Colour_Shininess

Table 6.60DRM_Colour_Table

Table 6.61DRM_Colour_Table_Group

Table 6.62DRM_Colour_Table_Library

Table 6.63DRM_Cone_Directional_Light

Table 6.64DRM_Conformal_Behaviour

Table 6.65DRM_Connected_Feature_Edge

Table 6.66DRM_Connected_Geometry_Edge

Table 6.67DRM_Contact_Point

Table 6.68DRM_Continuous_Level_Of_Detail_Related_Geometry

Table 6.69DRM_Control_Link

Table 6.70DRM_Cylindrical_Volume_Extent

Table 6.71DRM_Data_Quality

Table 6.72DRM_Data_Table

Table 6.73DRM_Data_Table_Library

Table 6.74DRM_Description

Table 6.75DRM_Diffuse_Colour

Table 6.76DRM_Directional_Light_Behaviour

Table 6.77DRM_Distance_Level_Of_Detail_Data

Table 6.78DRM_DRM_Class_Summary_Item

Table 6.79DRM_EC_Location_2D

Table 6.80DRM_EDCS_Use_Summary_Item

Table 6.81DRM_Edge_Direction

Table 6.82DRM_Ellipse

Table 6.83DRM_Elliptic_Cylinder

Table 6.84DRM_Emissive_Colour

Table 6.85DRM_Enumeration_Axis

Table 6.86DRM_Environmental_Domain_Summary

Table 6.87DRM_Environment_Root

Table 6.88DRM_Expression

Table 6.89DRM_External_Feature_Face_Ring

Table 6.90DRM_Face_Direction

Table 6.91DRM_Fade_Range

Table 6.92DRM_Feature

Table 6.93DRM_Feature_Edge

Table 6.94DRM_Feature_Face

Table 6.95DRM_Feature_Face_Ring

Table 6.96DRM_Feature_Hierarchy

Table 6.97DRM_Feature_ID

Table 6.98DRM_Feature_ID_Control_Link

Table 6.99DRM_Feature_Model

Table 6.100DRM_Feature_Model_Instance

Table 6.101DRM_Feature_Node

Table 6.102DRM_Feature_Same_As

Table 6.103DRM_Feature_Topology

Table 6.104DRM_Feature_Topology_Hierarchy

Table 6.105DRM_Finite_Element_Mesh

Table 6.106DRM_Flashing_Light_Behaviour

Table 6.107DRM_Function

Table 6.108DRM_GC_Location_3D

Table 6.109DRM_GCS_Location_3D

Table 6.110DRM_GD_Location_2D

Table 6.111DRM_GD_Location_3D

Table 6.112DRM_GEI_Location_3D

Table 6.113DRM_Geometry

Table 6.114DRM_Geometry_Edge

Table 6.115DRM_Geometry_Face

Table 6.116DRM_Geometry_Face_Ring

Table 6.117DRM_Geometry_Hierarchy

Table 6.118DRM_Geometry_ID

Table 6.119DRM_Geometry_ID_Control_Link

Table 6.120DRM_Geometry_Model

Table 6.121DRM_Geometry_Model_Instance

Table 6.122DRM_Geometry_Node

Table 6.123DRM_Geometry_Same_As

Table 6.124DRM_Geometry_Topology

Table 6.125DRM_Geometry_Topology_Hierarchy

Table 6.126DRM_GM_Location_3D

Table 6.127DRM_Grid_Overlap

Table 6.128DRM_GSE_Location_3D

Table 6.129DRM_GSM_Location_3D

Table 6.130DRM_Hierarchical_Table

Table 6.131DRM_Hierarchy_Data

Table 6.132DRM_Hierarchy_Summary_Item

Table 6.133DRM_HSV_Colour

Table 6.134DRM_HSV_Colour_Control_Link

Table 6.135DRM_Icon

Table 6.136DRM_Image

Table 6.137DRM_Image_Anchor

Table 6.138DRM_Image_Library

Table 6.139DRM_Image_Lookup

Table 6.140DRM_Image_Mapping_Function

Table 6.141DRM_In_Out

Table 6.142DRM_Index_Level_Of_Detail_Data

Table 6.143DRM_Infinite_Light

Table 6.144DRM_Inline_Colour

Table 6.145DRM_Interface_Template

Table 6.146DRM_Internal_Feature_Face_Ring

Table 6.147DRM_Interval_Axis

Table 6.148DRM_Irregular_Axis

Table 6.149DRM_Keywords

Table 6.150DRM_Label

Table 6.151DRM_LCC_Location_2D

Table 6.152DRM_Level_Of_Detail_Related_Features

Table 6.153DRM_Level_Of_Detail_Related_Geometry

Table 6.154DRM_Library

Table 6.155DRM_Light_Rendering_Behaviour

Table 6.156DRM_Light_Rendering_Properties

Table 6.157DRM_Light_Rendering_Properties_Control_Link

Table 6.158DRM_Light_Source

Table 6.159DRM_Light_Source_Control_Link

Table 6.160DRM_Line

Table 6.161DRM_Lineage

Table 6.162DRM_Linear_Feature

Table 6.163DRM_Linear_Geometry

Table 6.164DRM_Literal

Table 6.165DRM_Lobe_Data

Table 6.166DRM_Local_4x4

Table 6.167DRM_Location

Table 6.168DRM_Location_2D

Table 6.169DRM_Location_3D

Table 6.170DRM_Location_Table

Table 6.171DRM_LSR_Location_2D

Table 6.172DRM_LSR_Location_3D

Table 6.173DRM_LSR_Location_3D_Control_Link

Table 6.174DRM_LSR_Transformation

Table 6.175DRM_LSR_Transformation_Step

Table 6.176DRM_LTP_Location_2D

Table 6.177DRM_LTP_Location_3D

Table 6.178DRM_M_Location_2D

Table 6.179DRM_Map_Scale_Level_Of_Detail_Data

Table 6.180DRM_Mesh_Face_Table

Table 6.181DRM_Model

Table 6.182DRM_Model_Instance_Template_Index

Table 6.183DRM_Model_Library           

Table 6.184DRM_Moving_Light_Behaviour

Table 6.185DRM_Oct_Tree_Data

Table 6.186DRM_Oct_Tree_Related_Features

Table 6.187DRM_Oct_Tree_Related_Geometry

Table 6.188DRM_OM_Location_2D

Table 6.189DRM_Overload_Priority_Index

Table 6.190DRM_Parallelepiped_Volume_Extent

Table 6.191DRM_Perimeter_Data

Table 6.192DRM_Perimeter_Related_Feature_Topology

Table 6.193DRM_Perimeter_Related_Features

Table 6.194DRM_Perimeter_Related_Geometry

Table 6.195DRM_Perimeter_Related_Geometry_Topology

Table 6.196DRM_Point

Table 6.197DRM_Point_Feature

Table 6.198DRM_Point_Of_Contact

Table 6.199DRM_Polygon

Table 6.200DRM_Polygon_Control_Link

Table 6.201DRM_Positional_Light

Table 6.202DRM_Predefined_Function

Table 6.203DRM_Presentation_Domain

Table 6.204DRM_Primitive_Colour

Table 6.205DRM_Primitive_Feature

Table 6.206DRM_Primitive_Geometry

Table 6.207DRM_Primitive_Summary_Item

Table 6.208DRM_Process_Step

Table 6.209DRM_Property

Table 6.210DRM_Property_Characteristic

Table 6.211DRM_Property_Description

Table 6.212DRM_Property_Grid

Table 6.213DRM_Property_Grid_Hook_Point

Table 6.214DRM_Property_Table

Table 6.215DRM_Property_Table_Reference

Table 6.216DRM_Property_Table_Reference_Control_Link

Table 6.217DRM_Property_Table_Reference_Entry

Table 6.218DRM_Property_Table_Reference_Set

Table 6.219DRM_Property_Table_Reference_Table

Table 6.220DRM_Property_Value

Table 6.221DRM_PS_Location_2D

Table 6.222DRM_Pseudo_Code_Function

Table 6.223DRM_Pyramid_Directional_Light

Table 6.224DRM_Quad_Tree_Data

Table 6.225DRM_Quad_Tree_Related_Features

Table 6.226DRM_Quad_Tree_Related_Geometry

Table 6.227DRM_Reference_Origin

Table 6.228DRM_Reference_Surface

Table 6.229DRM_Reference_Vector

Table 6.230DRM_Reference_Vector_Control_Link

Table 6.231DRM_Reference_Vector_Table

Table 6.232DRM_Reference_Vector_With_Location_Index

Table 6.233DRM_Regular_Axis

Table 6.234DRM_Regular_Feature_Face

Table 6.235DRM_Relative_Time_Interval

Table 6.236DRM_Relative_Time_Point

Table 6.237DRM_Rendering_Priority_Level

Table 6.238DRM_Rendering_Properties

Table 6.239DRM_RGB_Colour

Table 6.240DRM_RGB_Colour_Control_Link

Table 6.241DRM_Rotating_Light_Behaviour

Table 6.242DRM_Rotation

Table 6.243DRM_Rotation_Control_Link

Table 6.244DRM_Same_As_Feature_Edge

Table 6.245DRM_Same_As_Feature_Face

Table 6.246DRM_Same_As_Feature_Node

Table 6.247DRM_Same_As_Geometry_Edge

Table 6.248DRM_Same_As_Geometry_Face

Table 6.249DRM_Same_As_Geometry_Node

Table 6.250DRM_Scale

Table 6.251DRM_Scale_Control_Link

Table 6.252DRM_Season

Table 6.253DRM_SEDRIS_Abstract_ Base

Table 6.254DRM_Separating_Plane

Table 6.255DRM_Separating_Plane_Data

Table 6.256DRM_Separating_Plane_Related_Geometry

Table 6.257DRM_Separating_Plane_Relations

Table 6.258DRM_SM_Location_3D

Table 6.259DRM_Sound

Table 6.260DRM_Sound_Instance

Table 6.261DRM_Sound_Instance_Control_Link

Table 6.262DRM_Sound_Library

Table 6.263DRM_Sound_Volume

Table 6.264DRM_Source

Table 6.265DRM_Spatial_Extent

Table 6.266DRM_Spatial_Index_Data

Table 6.267DRM_Spatial_Index_Related_Feature_Topology

Table 6.268DRM_Spatial_Index_Related_Features

Table 6.269DRM_Spatial_Index_Related_Geometry

Table 6.270DRM_Spatial_Index_Related_Geometry_Topology

Table 6.271DRM_Spatial_Resolution_Level_Of_Detail_Data

Table 6.272DRM_Specular_Colour

Table 6.273DRM_Spherical_Volume_Extent

Table 6.274DRM_Spot_Light

Table 6.275DRM_SRF_Summary

Table 6.276DRM_Stamp_Behaviour

Table 6.277DRM_State_Control_Link

Table 6.278DRM_State_Data

Table 6.279DRM_State_Related_Features

Table 6.280DRM_State_Related_Geometry

Table 6.281DRM_Strobing_Light_Behaviour

Table 6.282DRM_Surface_Geometry

Table 6.283DRM_Symbol

Table 6.284DRM_Symbol_Library

Table 6.285DRM_Table_Property_Description

Table 6.286DRM_Tack_Point

Table 6.287DRM_Text

Table 6.288DRM_Texture_Coordinate

Table 6.289DRM_Texture_Coordinate_Control_Link

Table 6.290DRM_Texture_Coordinate_Entry

Table 6.291DRM_Texture_Coordinate_Set

Table 6.292DRM_Texture_Coordinate_Table

Table 6.293DRM_Time_Constraints_Data

Table 6.294DRM_Time_Interval

Table 6.295DRM_Time_Of_Day

Table 6.296DRM_Time_Point

Table 6.297DRM_Time_Related_Features

Table 6.298DRM_Time_Related_Geometry

Table 6.299DRM_TM_Location_2D

Table 6.300DRM_Transformation

Table 6.301DRM_Translation

Table 6.302DRM_Translation_Control_Link

Table 6.303DRM_Translucency

Table 6.304DRM_Translucency_Control_Link

Table 6.305DRM_Transmittal_Root

Table 6.306DRM_Transmittal_Summary

Table 6.307DRM_Twinkling_Light_Behaviour

Table 6.308DRM_Union_Of_Feature_Topology

Table 6.309DRM_Union_Of_Features

Table 6.310DRM_Union_Of_Geometry

Table 6.311DRM_Union_Of_Geometry_Hierarchy

Table 6.312DRM_Union_Of_Geometry_Topology

Table 6.313DRM_Union_Of_Primitive_Geometry

Table 6.314DRM_Universal_Feature_Face

Table 6.315DRM_UPS_Location_2D

Table 6.316DRM_UTM_Location_2D

Table 6.317DRM_Variable

Table 6.318DRM_Vertex

Table 6.319DRM_Vertex_With_Component_Indices

Table 6.320DRM_Volume

Table 6.321DRM_Volume_Extent

Table 6.322DRM_Volume_Geometry

Table 6.323DRM_Volume_Level_Of_Detail_Data

Table 6.324DRM_Volume_Light_Behaviour

Table 6.325DRM_World_Transformation