The table of contents contained in Table 5.1 lists each of the data types used by SEDRIS.
This clause specifies the fundamental data types used within SEDRIS to specify the various DRM class instances that are to be represented. Such data types are composed of basic and constructed fundamental data types. The DRM class specifications contained in 6.3 DRM class specifications use the fundamental data types as the building blocks for creating SEDRIS objects. The API specified in 7 Application program interface (API) uses both the data types and data class specifications to pass information between the application program and the SEDRIS transmittal.
More complex data types are formed from simple data types. These simple data types represent single pieces of information such as integers, floating point numbers, alphanumeric characters including strings of these, Booleans and other individual data constructs.
The Octet data type specifies an eight-bit field whose meaning is unknown or is determined by external factors.
Several data types for integer numbers are provided. There are both general integer and non-negative integer data types. These are intended to correspond to signed and unsigned integer data types in programming languages.
The Byte data type specifies an integer that can represent a value in the range [-127..127].
The Byte_Unsigned data type specifies an integer that can represent a value in the range [0..255].
The Byte_Positive data type specifies an integer that can represent a value in the range [1..255].
The Short_Integer data type specifies an integer that can represent a value in the range [-32767..32767].
The Short_Integer_Unsigned data type specifies an integer that can represent a value in the range [0..65535].
The Short_Integer_Positive data type specifies an integer that can represent a value in the range [1..65535].
The Integer data type specifies an integer that can represent a value in the range [-2 147 483 647..2 147 483 647].
The Integer_Unsigned data type specifies an integer that can represent a value in the range [0..4 294 967 295].
The Integer_Positive data type specifies an integer that can represent a value in the range [0..4 294 967 295].
In 9.2.2.2.2, ISO/IEC 18025 specifies the Integer data type that can represent an integer value in the range [-2 147 483 647..2 147 483 647]. This data type is renamed EDCS_Integer in this part of ISO/IEC 18023.
In 9.2.2.2.3, ISO/IEC 18025 specifies the Count data type that can represent an integer value in the range [0..4 294 967 295]. This data type is renamed EDCS_Count in this part of ISO/IEC 18023.
ISO/IEC 18026 specifies the Integer data type that can represent an integer value in the range [-2 147 483 647..2 147 483 647]. This data type is renamed SRM_Integer in this part of ISO/IEC 18023.
The floating point number fundamental data types correspond to the single and double precision floating point types specified by IEC 60559. The specific values for POSITIVE_INFINITY and NEGATIVE_INFINITY shall be supported. However, implementations on architectures that support other floating point representations are allowed and shall support POSITIVE_INFINITY and NEGATIVE_INFINITY as provided in those floating point representations.
The Float data type specifies a single-precision floating point number as specified in IEC 60559.
The Long_Float data type specifies a double-precision floating point number as specified in IEC 60559.
In 9.2.2.2.1, ISO/IEC 18025 specifies the Long_Float data type that can represent a double-precision floating point number as specified in IEC 60559. This data type is renamed EDCS_Long_Float in this part of ISO/IEC 18023.
ISO/IEC 18026 specifies the Long_Float data type that can represent a double-precision floating point number as specified in IEC 60559. This data type is renamed SRM_Long_Float in this part of ISO/IEC 18023.
Alphanumeric characters are encoded as UTF-8 as specified in ISO/IEC 10646-1 (otherwise known as Unicode). UTF-8 supports Latin characters as specified in ISO/IEC 646 but also has the ability of representing international characters. Each character is comprised of one through six bytes as specified in ISO/IEC 10646-1. Hence an abstract character is of variable length. A string is a list of such characters along with codes that specify how the string is to be interpreted (see 5.3.3.292 String).
The fundamental data type for representing characters is:
Character
Strings of characters are addressed by the String data type specified in 5.3.3.292 String and also by the String data type specified in 5.3.3.73 EDCS_String.
An enumerated data type consists of a list of names. Each name can be a value in an instance of that data type. The names are assigned numbers whose values indicate the position within the ordered list. It is these numbers that are actually manipulated by the implementation.
The enumerated data types that are supported by this part of ISO/IEC 18023 are specified below.
Table 5.1 defines the Access_Mode data type that specifies how a transmittal is to be opened.:
Table 5.1 — Access_Mode values
|
Value |
Description |
|---|---|
|
READ_ONLY |
The transmittal is to be opened with only read access. |
|
UPDATE |
An existing transmittal is to be opened with the ability to make changes in the content. |
|
CREATE |
A new empty transmittal is to be opened with the ability to add content. |
Access_Mode ::= (
READ_ONLY,
UPDATE,
CREATE )
Table 5.2 defines the Boolean data type that specifies FALSE and TRUE values.
|
Value |
Description |
|---|---|
|
FALSE |
The value of the associated field is specified to be false. |
|
TRUE |
The value of the associated field is specified to be true. |
Boolean ::= (
FALSE,
TRUE )
Table 5.3 defines the Branch_Range_Matching data type that specifies, when evaluating the branches of a <DRM Aggregate Feature> or <DRM Aggregate Geometry> instance against a range of search values, how to evaluate the field values of a given branch’s link object against the search range, where the link object’s field values themselves specify a range of values.
Table 5.3 — Branch_Range_Matching values
|
Value |
Description |
|---|---|
|
EXACT |
For a branch to be considered a match, the search value range shall exactly match the branch's value range. |
|
FULL_CONTAINMENT |
For a branch to be considered a match, the search value range shall be completely contained within the branch's value range. |
|
INTERSECTION |
For a branch to be considered a match, the search value range shall intersect the branch's value range. |
Branch_Range_Matching ::= (
EXACT,
FULL_CONTAINMENT,
INTERSECTION )
Table 5.4 defines the Colour_Binding data type that specifies the colour inheritance/override rule.
Table 5.4 — Colour_Binding values
|
Value |
Description |
|---|---|
|
NORMAL |
The colour of a geometry attribute is specified as the default attribute binding. Attributes specified by a component shall overload its parent (i.e., the last colour wins). |
|
PARENT_OVERRIDE |
This setting allows the given instance of a <DRM Geometry Representation> concrete subclass to override the default attribute binding; that is, to override any <DRM Colour> instances specified by objects in its component tree. |
Colour_Binding ::= (
NORMAL,
PARENT_OVERRIDE )
Table 5.5 defines the Continuous_LOD_Select_Choice data type that specifies which level (or levels) of detail are to be traversed.
Table 5.5 — Continuous_LOD_Select_Choice values
|
Value |
Description |
|---|---|
|
ALL |
All levels are to be traversed. |
|
LEAST_DETAILED |
The least detailed level is to be traversed. |
|
MOST_DETAILED |
The most detailed level is to be traversed. |
Continuous_LOD_Select_Choice ::= (
ALL,
LEAST_DETAILED,
MOST_DETAILED )
In 9.2.3, ISO/IEC 18025 defines a Boolean data type that specifies a value of FALSE or TRUE. This data type is renamed EDCS_Boolean in this part of ISO/IEC 18023.
In 9.2.3, ISO/IEC 18025 defines a Null data type that specifies a null value. This data type is renamed EDCS_Null in this part of ISO/IEC 18023.
Table 5.6 defines the Hierarchy_Inclusion data type that specifies whether the classes of <DRM Aggregate Feature> and <DRM Aggregate Geometry> instances and their components are included or excluded.
Table 5.6 — Hierarchy_Inclusion values
|
Value |
Description |
|---|---|
|
EXCLUDE_ALL |
All instances and their components are to be excluded. |
|
INCLUDE_ALL |
All instances and their components are to be included. |
|
EVALUATE_RULES |
Instances and their components are included only if they pass a set of specified conditions. |
Hierarchy_Inclusion ::= (
EXCLUDE_ALL,
INCLUDE_ALL,
EVALUATE_RULES )
Table 5.7 defines the Image_Scan_Direction data type that specifies the manner in which an image layer is to be scanned.
Table 5.7 — Image_Scan_Direction values
|
Value |
Major scan |
Minor scan |
Image origin |
|---|---|---|---|
|
RIGHT_UP |
left to right |
bottom to top |
lower left |
|
RIGHT_DOWN |
left to right |
top to bottom |
upper left |
|
DOWN_RIGHT |
top to bottom |
left to right |
upper left |
|
DOWN_LEFT |
top to bottom |
right to left |
upper right |
|
LEFT_UP |
right to left |
bottom to top |
lower right |
|
LEFT_DOWN |
right to left |
top to bottom |
upper right |
|
UP_RIGHT |
bottom to top |
left to right |
lower left |
|
UP_LEFT |
bottom to top |
right to left |
lower right |
EXAMPLE Assume an image is displayed in a Cartesian 2D space with the positive X axis pointing right, and the positive Y axis pointing up, as shown in Figure 5.1. Further, assume an image of size W×H in this 2D space has W image elements in X direction and H image elements in the Y direction. A scan direction of RIGHT_UP means that the image data is stored such that the first image element in memory corresponds to the (0 0) coordinate of this 2D space, and the next image elements should be displayed on the positively increasing X axis (the minor scan), until W image elements are displayed (W 0). The next image element will correspond to the (0 1) coordinate of the 2D space. Once the image element (W 1) is reached, the scan direction will continue to move from bottom to top on the positively increasing Y axis, for each successive scan line, until H lines have been accessed.
Image_Scan_Direction ::= (
RIGHT_UP,
RIGHT_DOWN,
DOWN_RIGHT,
DOWN_LEFT,
LEFT_UP,
LEFT_DOWN,
UP_RIGHT,
UP_LEFT )
Table 5.8 defines the Image_Scan_Direction_Z data type that specifies the manner in which image depth is to be scanned.
Table 5.8 — Image_Scan_Direction_Z values
|
Value |
Scan direction |
Image origin |
|---|---|---|
|
NONE |
Not applicable |
Not applicable |
|
Z_BACK |
front to back |
front |
|
Z_FRONT |
back to front |
back |
EXAMPLE Following the example in 5.2.6.10 Image_Scan_Direction, assume an image is displayed in a right-handed Cartesian 3D space with the positive Z axis pointed towards the viewer, as shown in Figure 5.2. A scan direction of Z_FRONT means that the image elements are organized such that successive groups of XY elements (as described in 5.2.6.10 Image_Scan_Direction) are displayed starting at Z=0 and in the direction of the positive Z axis.
Image_Scan_Direction_Z ::= (
Z_NONE,
Z_BACK,
Z_FRONT )
Table 5.9 defines the Interval_Type data type that specifies the type of interval for the various interval data types.
Table 5.9 — Interval_Type values
|
Value |
Description |
|---|---|
|
OPEN_INTERVAL |
The interval does not include the value at each end of the interval. |
| GE_LT_INTERVAL | The end value of lowest value is included but the end value of highest value is not included. |
| GT_LE_INTERVAL | The end value of lowest value is not included but the end value of highest value is included. |
|
CLOSED_INTERVAL |
The interval includes the value at each end of the interval. |
| GT_SEMI_INTERVAL | The lower end value is -∞ and the upper end value is not included. |
| GE_SEMI_INTERVAL | The lower end value is -∞ and the upper end value is included. |
| LT_SEMI_INTERVAL | The lower end value is not included and the upper end value is ∞. |
| LE_SEMI_INTERVAL | The lower end value is included and the upper end value is ∞. |
Interval_Type ::= (
OPEN_INTERVAL,
GE_LT_INTERVAL,
GT_LE_INTERVAL,
CLOSED_INTERVAL,
GT_SEMI_INTERVAL,
GE_SEMI_INTERVAL,
LT_SEMI_INTERVAL,
LE_SEMI_INTERVAL )
Table 5.10 defines the ITR_Behaviour data type that specifies the desired traversal for an iterator or function when an ITR reference is encountered.
Table 5.10 — ITR_Behaviour values
|
Value |
Description |
|---|---|
|
RESOLVE |
ITR references are resolved automatically as they are encountered. A transmittal that has been opened in this way cannot be updated. The transmittal shall be explicitly opened for writing or modification for RESOLVE ITR_Behaviour to occur. |
|
REPORT |
ITR references are reported as they are encountered, but are not resolved. |
|
IGNORE |
ITR references are ignored and traversal acts as though the transmittal were standalone, continuing to search within the current transmittal. |
ITR_Behaviour ::= (
RESOLVE,
REPORT,
IGNORE )
Table 5.11 defines the LSR_Transformation_Axis data type that specifies which axis to rotate around, scale by, or translate along.
Table 5.11 — LSR_Transformation_Axis values
|
Value |
Description |
|---|---|
|
X |
The X axis is the axis around which a rotation is computed and along which a scale or translation is computed. |
|
Y |
The Y axis is the axis around which a rotation is computed and along which a scale or translation is computed. |
|
Z |
The Z axis is the axis around which a rotation is computed and along which a scale or translation is computed. |
|
ALL |
Scaling and translation occur uniformly along all axes. This value is not valid for rotation. |
|
AXIS_REFERENCE_VECTOR |
Operations are referenced to an axis specified by a <DRM Reference Vector> component of the given <DRM LSR Transformation>. |
LSR_Transformation_Axis ::= (
X,
Y,
Z,
ALL,
AXIS_REFERENCE_VECTOR )
Table 5.12 defines the Model_Reference_Type data type that specifies how a <DRM Model> object is referenced within a transmittal.
Table 5.12 — Model_Reference_Type values
|
Value |
Description |
|---|---|
|
COMPONENT |
The <DRM Model> can be referenced only as a component of other <DRM Model>s. In this case, the <DRM Model> cannot be referenced directly from <DRM Environment Root>. |
|
ROOT |
The <DRM Model> cannot be instanced by any other <DRM Model>. In this case, the <DRM Model> can be referenced from an <DRM Environment Root>. |
|
ROOT_AND_COMPONENT |
The <DRM Model> can be instanced both by other <DRM Model>s and from a <DRM Environment Root>. |
Model_Reference_Type ::= (
COMPONENT,
ROOT,
ROOT_AND_COMPONENT )
Table 5.13 defines the Month data type that specifies the months of the year.
|
Value |
Description |
|---|---|
|
JANUARY |
January. |
|
FEBRUARY |
February. |
|
MARCH |
March. |
|
APRIL |
April. |
|
MAY |
May. |
|
JUNE |
June. |
|
JULY |
July. |
|
AUGUST |
August. |
|
SEPTEMBER |
September. |
|
OCTOBER |
October. |
|
NOVEMBER |
November. |
|
DECEMBER |
December. |
Month ::= (
JANUARY,
FEBRUARY,
MARCH,
APRIL,
MAY,
JUNE,
JULY,
AUGUST,
SEPTEMBER,
OCTOBER,
NOVEMBER,
DECEMBER )
Table 5.14 defines the Object_Inclusion data type that specifies how identified objects relate to a search boundary.
Table 5.14 —Object_Inclusion values
| Value | Description |
|---|---|
| FULLY_INCLUDED | The identified object is completely inside the search boundary specified. |
| PARTIALLY_INCLUDED | The identified object is either completely inside the search boundary or partially overlaps the search boundary. |
Note that PARTIALLY_INCLUDED is a superset of FULLY_INCLUDED.
Object_Inclusion ::= (
FULLY_INCLUDED,
PARTIALLY_INCLUDED )
The Octant data types specifies which octant contains the data of interest. It is used by <DRM Octant Data> to specify which octant of an oct tree is represented by the associated <DRM Feature Hierarchy> instance (for an <DRM Octant Related Features> instance) or <DRM Geometry Hierarchy> instance (for an <DRM Octant Related Geometry> instance).
The identification of the octants is as shown in Figure 5.3 with the naming convention being in respect to a viewer at point “f” directly facing point “h”. The plane specified by the three points “g”, “d”, and “i” represents the dividing plane between front and back with the point “f” considered to be in the front. The plane specified by the three points “n”, “j”, and “b” represents the dividing plane between left and right with the point “g” considered to be in the left. The plane specified by the three points “g”, “h”, and “k” represents the dividing plane between top and bottom with the point “d” considered to be in the bottom. Octants can be used to specify oct-trees [SAMET].
Octant ::= (
UPPER_LEFT_FRONT,
UPPER_LEFT_BACK,
LOWER_LEFT_FRONT,
LOWER_LEFT_BACK,
UPPER_RIGHT_FRONT,
UPPER_RIGHT_BACK,
LOWER_RIGHT_FRONT,
LOWER_RIGHT_BACK )
Table 5.15 defines the Point_Light_Display_Type data type that specifies the technology of the display used to render a set of points of light.
Table 5.15 — Point_Light_Display_Type values
|
Value |
Description |
|---|---|
|
RASTER |
The light is to be rendered during the scan of the entire display. |
|
CALLIGRAPHIC |
The light is to be rendered explicitly to the portion of the display at which the point is to be produced. |
Point_Light_Display_Type ::= (
RASTER,
CALLIGRAPHIC )
Table 5.16 defines the Present_In data type that specifies whether certain items are present within one or more <DRM Environment Root>s and/or one or more <DRM Model>s within the scope of a <DRM Transmittal Root> being described.
Table 5.16 — Present_In values
|
Value |
Description |
|---|---|
|
NONE |
The items are not present. |
|
ENVIRONMENT_ROOT |
The items are present within the scope of one or more <DRM Environment Root> instances. |
|
MODELS |
The items are present within the scope of one or more <DRM Model> instances. |
|
ENVIRONMENT_ROOT_AND_MODELS |
The items are present within the scope of one or more <DRM Environment Root>s and one or more <DRM Model>instances. |
Present_In ::= (
NONE,
ENVIRONMENT_ROOT,
MODELS,
ENVIRONMENT_ROOT_AND_MODELS )
The Quadrant data type specifies which quadrant of a quad tree is represented by the associated <DRM Feature Hierarchy> instance (for a <DRM Quadrant Related Features> instance) or <DRM Geometry Hierarchy> instance (for a <DRM Quadrant Related Geometry> instance).
The identification of the quadrants is as shown in Figure 5.4 with the naming convention being in respect to a viewer at point “c” directly facing point “d”. The line defined by the two points “c” and “e” specifies the division between left and right with “b” considered to be in the left. The line defined by the two points “b” and “f” specifies the division between from and back with “e” considered to be in the back. Quadrants can be used to specify quad-trees [SAMET].
Quadrant ::= (
LEFT_FRONT,
LEFT_BACK,
RIGHT_FRONT,
RIGHT_BACK )
Table 5.17 defines the Reference_Surface_Elevation_Select data type that specifies the rule for selecting exactly one elevation value when multiple <DRM Reference Surface> instances are provided in a transmittal. This situation can occur within a transmittal when providing multiple reference surfaces as polygonal representations or gridded representations.
EXAMPLE Figure 5.5 provides an example of an overlap at the boundary of two sets of elevation data provided by a reference surface.
Specifying CLOSEST_TO_ORM_CENTRE would resolve to point A as the 3D value corresponding to an elevation value of h.
Specifying CLOSEST_TO_VERTICAL_DATUM would resolve to point A' as the 3D value corresponding to an elevation value of h'.
Specifying HIGHEST would resolve to point A' as the 3D value corresponding to an elevation value of h'.
Table 5.17 — Reference_Surface_Elevation_Select values
|
Value |
Description |
|---|---|
|
CLOSEST_TO_ORM_CENTRE |
The intersection element to use is the one closest to the object reference model centre. |
|
CLOSEST_TO_VERTICAL_OFFSET |
The intersection element to use is the one closest to the datume. |
|
HIGHEST |
The intersection element to use is the highest value. |
Reference_Surface_Elevation_Select ::= (
CLOSEST_TO_ORM_CENTRE,
CLOSEST_TO_VERTICAL_DATUM,
HIGHEST )
Table 5.18 defines the Reference_Surface_LOD_Select data type that specifies which branch of a <DRM LOD Related Geometry> instance is to be used to resolve <DRM Location 2D> objects when more than one branch could apply to a given <DRM Location 2D> instance. This data type is used by a <DRM Reference Surface> instance whose associated <DRM Geometry Hierarchy> instance contains a <DRM LOD Related Geometry> instance. This data type is not used for <DRM Continuous LOD Related Geometry>.
Table 5.18 — Reference_Surface_LOD_Select values
|
Value |
Description |
|---|---|
|
FULL |
The full resolution level is used to resolve the object. |
|
LEAST_DETAILED |
The least detailed resolution is used to resolve the object. |
Reference_Surface_LOD_Select ::= (
FULL,
LEAST_DETAILED )
Table 5.19 defines the Return_Code data type that specifies the function results of API functions.
Table 5.19 — Return_Code values
|
Value |
Description |
|---|---|
|
FAILED |
The function failed to carry out the operation. |
|
SUCCEEDED |
The function successfully carried out the operation. |
Return_Code ::= (
FAILED,
SUCCEEDED )
Table 5.20 defines the Search_Bounds_Closure data type that specifies whether a spatial search area has full or partial closure.
A search bounds specifies an enclosed region of a tessellation. The Search_Bounds_Closure data type specifies whether the top and right boundaries of the tessellation are included in the region. This is depicted in Figure 5.6 where the search bounds region on the left has a specified value of FULLY_CLOSED. Any point intersecting the top and rightmost lines shall be included. The search bounds region on the right is specified as PARTIALLY_CLOSED. Points intersecting the topmost and rightmost lines shall not be included. By assigning appropriate Search_Bounds_Closure values, it can be guaranteed that a point will be encompassed by only one search bounds region.
Table 5.20 — Search_Bounds_Closure values
|
Value |
Description |
|---|---|
|
FULLY_CLOSED |
The complete boundary of the spatial extent will be used to determine if a location is within the search bounds region. |
|
PARTIALLY_CLOSED |
Only the lower end points of the spatial extent will be used to determine if a location is within the search bounds region. |
Search_Bounds_Closure ::= (
FULLY_CLOSED,
PARTIALLY_CLOSED )
Table 5.21 defines the Search_Dimension data type that specifies whether a search will return two-dimensional objects, if they are present.
To ignore <DRM Location 2D> instances, search dimension value THREE_DIMENSIONAL_ONLY should be specified. All other searches consider <DRM Location 2D> instances in evaluating objects.
This data type also specifies whether a search will consider the height components of <DRM Location 3D> instances. To ignore the height component, search dimension TWO_DIMENSIONAL shall be specified. All other searches shall consider the height components of <DRM Location 3D> instances during evaluation.
Table 5.21 — Search_Dimension values
|
Value |
Description |
|---|---|
|
TWO_DIMENSIONAL_OR_SURFACE |
Only objects specified with two-dimensional or surface coordinates will be returned. |
|
THREE_DIMENSIONAL |
Only objects specified with three-dimensional coordinates will be returned. |
|
ALL_DIMENSIONS |
Objects specified with any type of coordinates will be returned. |
Search_Dimension ::= (
TWO_DIMENSIONAL_OR_SURFACE,
THREE_DIMENSIONAL,
ALL_DIMENSIONS )
Table 5.22 defines the Sibling_Traversal_Order data type that specifies the desired traversal order for various types of components that already have a logical ordering.
Table 5.22 — Sibling_Traversal_Order values
|
Value |
Description |
|---|---|
|
ASCENDING |
Components will be traversed in ascending order. |
|
DESCENDING |
Components will be traversed in descending order. |
|
UNSPECIFIED |
No traversal order is specified; any may be used. |
Sibling_Traversal_Order ::= (
ASCENDING,
DESCENDING,
UNSPECIFIED )
ISO/IEC 18026 specifies the Axis_Direction data type that can specify which axis is associated with the accompanying direction vector. This data type is renamed SRM_Axis_Direction in this part of ISO/IEC 18023.
ISO/IEC 18026 specifies the Coordinate_Valid_Region data type that can specify the region for which a particular coordinate is valid. This data type is renamed SRM_Coordinate_Valid_Region in this part of ISO/IEC 18023.
ISO/IEC 18026 specifies the Polar_Aspect data type that can specify which pole is associated with a polar stereographic SRF. This data type is renamed SRM_Polar_Aspect in this part of ISO/IEC 18023.
Table 5.23 defines the State_Mismatch_Behaviour data type that specifies the behaviour state control when there is a state value that is not supported in the <DRM State Data> of a <DRM State Related Features> or <DRM State Related Geometry>.
Table 5.23 — State_Mismatch_Behaviour values
|
Value |
Description |
|---|---|
|
LAST |
The last state shall remain. |
|
DEFAULT |
The default state shall be displayed. |
|
NONE |
Nothing shall be displayed. |
State_Mismatch_Behaviour ::= (
LAST,
DEFAULT,
NONE )
The set of values of each selection data type may be extended by registration. In contrast, the set of values of an enumerated data type may not be extended by registration. Selection data types shall be implemented by each language binding in such a manner that the set of values may be extended without invalidating pre-compiled software. Selection data types are otherwise processed in the same manner as enumerated data types.
Standard meanings are assigned to positive values from 1 through 1000. Registered meanings shall be assigned to values above 1000. Each selection data type is specified in the same manner as an enumerated data type (see 5.2.6.1 Description). Such names are presented below in upper case.
An implementation may permit negative values for selection types that are not specified in this part of ISO/IEC 18023. Transmittals that use such non-standard values do not conform to this part of ISO/IEC 18023. Non-standard values may be used to test new concepts prior to standardization or registration.
Table 5.24 defines the Axis_Alignment data type that specifies the position of a <DRM Regular Axis> with respect to the axis interval.
Table 5.24 — Axis_Alignment values
|
Value |
Description |
|---|---|
|
NONE |
Tick mark is representative of all points in the interval, and thus has no particular alignment with respect to the interval. |
|
LOWER |
Tick mark is representative of the lower interval value. |
|
MEDIAN |
Tick mark is representative of the median value of the interval. |
|
UPPER |
Tick mark is representative of the upper interval value. |
|
GEOMETRIC_MEAN |
Tick mark is representative of the geometric mean of the interval values. This kind of axis alignment is intended for use primarily with GEOMETRIC spacing. |
Axis_Alignment ::= (
< 1 : // implementation dependent and non-conforming,
1 : NONE,
2 : LOWER,
3 : MEDIAN,
4 : UPPER,
5 : GEOMETRIC_MEAN,
[6..1000] : // reserved for future standardization,
> 1000 : // reserved for registration )
Table 5.25 defines the Camera_Projection_Type data type that specifies the type of projection to be used when viewing a scene.
Table 5.25 — Camera_Projection_Type values
|
Value |
Description |
|---|---|
|
ORTHOGRAPHIC |
The projection is a parallel projection in which the projection direction is parallel to the direction of the view. |
|
PERSPECTIVE |
The projection is a perspective projection in which all projector lines converge to a single point at the viewer. |
Camera_Projection_Type ::= (
< 1 : // implementation dependent and non-conforming,
1 : ORTHOGRAPHIC,
2 : PERSPECTIVE,
[3..1000] : // reserved for future standardization,
> 1000 : // reserved for registration )
The CI_Role_Code data type specifies the role of the responsible party and is defined in B.5.5 of ISO 19115.
Table 5.26 defines the Colour_Mapping data type that specifies how colour is applied to an object.
The various methods are applied as follows:
Distance blend colour is used to model the distortion of colour due to distance from the viewer. (For instance, mountains in the distance appear to be tinted blue, an effect that increases with increasing distance as long as the mountains are still visible.) This is applicable mainly to objects organized by a <DRM Distance LOD Data> instance (i.e., distance from the viewer) in level of detail related aggregations, since the distance that the object is visible shall be finite. The equation to determine the desired component of the final displayed colour is:
C = PCC*((x-y)/y) + DBCC×(x/y)
where
x is the distance to the object.
y is the total distance that the object is visible.
PCC is the colour of the PRIMARY_COLOUR <DRM Colour> component.
DBCC is the colour of the DISTANCE_BLEND_COLOUR <DRM Colour> component.
Distance blend colour dominates more as viewing distance increases, while primary colour dominates more as viewing distance decreases.
Image blend colour helps determine the appearance of an object that has both a <DRM Colour> instance and an <DRM Image Mapping Function> instance whose image_mapping_method is set to blending.
Table 5.26 — Colour_Mapping values
|
Value |
Description |
|---|---|
|
FRONT_PRIMARY |
The front of the object is coloured with the primary colour, when the object’s appearance is not affected by texture maps or viewing distance (that is, distance from the observer to the object). |
|
FRONT_DISTANCE_BLEND |
The front of the object is coloured using a distance blend algorithm as described above. |
|
FRONT_IMAGE_BLEND |
The front of the object is coloured using an image blend algorithm as described above. |
|
BACK_PRIMARY |
The back of the object is coloured with the primary colour, when the object’s appearance is not affected by texture maps or viewing distance (that is, distance from the observer to the object). |
|
BACK_DISTANCE_BLEND |
The back of the object is coloured with a distance blend algorithm as described above. |
|
BACK_IMAGE_BLEND |
The back of the object is coloured using an image blend algorithm as described above. |
|
PRIMARY_LIGHT_RENDERING_BEHAVIOUR |
The object is coloured using the primary colour of the associated <DRM Light Rendering Behaviour> instance. It cannot be combined with any other colour mapping. |
|
SECONDARY_LIGHT_RENDERING_BEHAVIOUR |
The object is coloured using the secondary colour of the associated <DRM Light Rendering Behaviour> instance. It cannot be combined with any other colour mapping. |
Colour_Mapping ::= (
< 1 : // implementation dependent and non-conforming,
1 : FRONT_PRIMARY,
2 : FRONT_DISTANCE_BLEND,
3 : FRONT_IMAGE_BLEND,
4 : BACK_PRIMARY,
5 : BACK_DISTANCE_BLEND,
6 : BACK_IMAGE_BLEND,
7 : PRIMARY_LIGHT_RENDERING_BEHAVIOUR,
8 : SECONDARY_LIGHT_RENDERING_BEHAVIOUR,
[9..1000] : // reserved for future standardization,
> 1000 : // reserved for registration )
Table 5.27 defines the Colour_Model data type that specifies a colour model.
Table 5.27 — Colour_Model values
|
Value |
Description |
|---|---|
|
RGB |
Colour values are specified using the red-green-blue (RGB) colour model. |
|
CMY |
Colour values are specified using the cyan-magenta-yellow (CMY) colour model. |
|
HSV |
Colour values are specified using the hue-saturation-value (HSV) colour model. |
Colour_Model ::= (
< 1 : // implementation dependent and non-conforming,
1 : RGB,
2 : CMY,
3 : HSV,
[4..1000] : // reserved for future standardization,
> 1000 : // reserved for registration )
Table 5.28 defines the Data_Table_Data_Value_Type data type that specifies the type of data that is specified in an instance of Data_Table_Data.
Table 5.28 — Data_Table_Data_Value_Type values
| Value | Description |
|---|---|
| SINGLE_LONG_FLOAT | Each element of data table data is a single real attribute value of type EDCS_Long_Float. |
| LONG_FLOAT | Each element of data table data is a real attribute value of type EDCS_Long_Float_Value. |
| SINGLE_INTEGER | Each element of data table data is a single integer attribute value of type EDCS_INTEGER. |
| INTEGER | Each element of data table data is an integer attribute value of type EDCS_Integer_Value. |
| SINGLE_COUNT | Each element of data table data is a single count attribute value of type EDCS_Count. |
| COUNT | Each element of data table data is a count attribute value of type EDCS_Count_Value. |
| INDEX | Each element of data table data is an index attribute value of type EDCS_Count. |
| STRING | Each element of data table data is a string attribute value of type EDCS_String. |
| CONSTRAINED_STRING | Each element of data table data is a constrained string attribute value of type EDCS_String. |
| KEY | Each element of data table data is a key attribute value of type EDCS_String. |
| ENUMERATION | Each element of data table data is an enumerated attribute value of type EDCS_Enumerant_Code. |
| BOOLEAN | Each element of data table data is a boolean attribute value of type EDCS_Boolean. |
| INDEX_CODE | Each element of data table data is an index code of type Integer_Unsigned. |
Data_Table_Data_Value_Type ::= (
< 1 : // implementation dependent and non-conforming,
1 : SINGLE_FLOAT,
2 : FLOAT,
3 : SINGLE_INTEGER,
4 : INTEGER,
5 : SINGLE_COUNT,
6 : COUNT,
7 : INDEX,
8 : STRING,
9 : CONSTRAINED_STRING,
10 : KEY,
11 : ENUMERATION,
12 : BOOLEAN,
13 : INDEX_CODE,
[14..1000] : // reserved for future standardization,
> 1000 : // reserved for registration )
The DRM_Class data type specifies the DRM classes supported by this part of ISO/IEC 18023.
DRM_Class ::= (
<
1 : // implementation dependent and non-conforming,
1 : NULL,
2 : DRM_ABSOLUTE_TIME,
3 : DRM_ABSOLUTE_TIME_INTERVAL,
4 : DRM_ACCESS,
5 : DRM_AGGREGATE_FEATURE,
6 : DRM_AGGREGATE_GEOMETRY,
7 : DRM_ALTERNATE_HIERARCHY_RELATED_FEATURES,
8 : DRM_ALTERNATE_HIERARCHY_RELATED_GEOMETRY,
9 : DRM_AMBIENT_COLOUR,
10 : DRM_ANIMATION_BEHAVIOUR,
11 : DRM_ANIMATION_RELATED_GEOMETRY,
12 : DRM_ARC,
13 : DRM_AREAL_FEATURE,
14 : DRM_ATTACHMENT_POINT,
15 : DRM_AXIS,
16 : DRM_AZ_2D_LOCATION,
17 : DRM_BASE_ASSOCIATION_DATA,
18 : DRM_BASE_LOD_DATA,
19 : DRM_BASE_POSITIONAL_LIGHT,
20 : DRM_BASE_SPATIAL_ASSOCIATION_DATA,
21 : DRM_BASE_SUMMARY_ITEM,
22 : DRM_BASE_TIME_DATA,
23 : DRM_BLEND_DIRECTIONAL_LIGHT,
24 : DRM_BOUNDING_VOLUME,
25 : DRM_BROWSE_MEDIA,
26 : DRM_CAMERA_POINT,
27 : DRM_CC_3D_LOCATION,
28 : DRM_CD_3D_LOCATION,
29 : DRM_CD_SURFACE_LOCATION,
30 : DRM_CITATION,
31 : DRM_CLASSIFICATION_DATA,
32 : DRM_CLASSIFICATION_RELATED_FEATURES,
33 : DRM_CLASSIFICATION_RELATED_GEOMETRY,
34 : DRM_CM_3D_LOCATION,
35 : DRM_CMY_COLOUR,
36 : DRM_CMY_COLOUR_CONTROL_LINK,
37 : DRM_COLLISION_VOLUME,
38 : DRM_COLOUR,
39 : DRM_COLOUR_DATA,
40 : DRM_COLOUR_INDEX,
41 : DRM_COLOUR_INDEX_CONTROL_LINK,
42 : DRM_COLOUR_SHININESS,
43 : DRM_COLOUR_TABLE,
44 : DRM_COLOUR_TABLE_GROUP,
45 : DRM_COLOUR_TABLE_LIBRARY,
46 : DRM_CONE_DIRECTIONAL_LIGHT,
47 : DRM_CONFORMAL_BEHAVIOUR,
48 : DRM_CONTACT_POINT,
49 : DRM_CONTINUOUS_LEVEL_OF_DETAIL_RELATED_GEOMETRY,
50 : DRM_CONTROL_LINK,
51 : DRM_CROSS_REFERENCE,
52 : DRM_CYLINDRICAL_VOLUME_EXTENT,
53 : DRM_DATA_QUALITY,
54 : DRM_DATA_TABLE,
55 : DRM_DATA_TABLE_LIBRARY,
56 : DRM_DESCRIPTION,
57 : DRM_DIFFUSE_COLOUR,
58 : DRM_DIRECTIONAL_LIGHT_BEHAVIOUR,
59 : DRM_DISTANCE_LOD_DATA,
60 : DRM_DRM_CLASS_SUMMARY_ITEM,
61 : DRM_EC_AUGMENTED_3D_LOCATION,
62 : DRM_EC_SURFACE_LOCATION,
63 : DRM_EDCS_USE_SUMMARY_ITEM,
64 : DRM_EDGE_DIRECTION,
65 : DRM_EI_3D_LOCATION,
66 : DRM_ELLIPSE,
67 : DRM_EMISSIVE_COLOUR,
68 : DRM_ENUMERATION_AXIS,
69 : DRM_ENVIRONMENT_ROOT,
70 : DRM_ENVIRONMENTAL_DOMAIN_SUMMARY,
71 : DRM_EXPRESSION,
72 : DRM_FACE_DIRECTION,
73 : DRM_FADE_RANGE,
74 : DRM_FEATURE_EDGE,
75 : DRM_FEATURE_FACE,
76 : DRM_FEATURE_FACE_RING,
77 : DRM_FEATURE_HIERARCHY,
78 : DRM_FEATURE_MODEL,
79 : DRM_FEATURE_MODEL_INSTANCE,
80 : DRM_FEATURE_NODE,
81 : DRM_FEATURE_REPRESENTATION,
82 : DRM_FEATURE_TOPOLOGY,
83 : DRM_FEATURE_TOPOLOGY_HIERARCHY,
84 : DRM_FEATURE_VOLUME,
85 : DRM_FEATURE_VOLUME_SHELL,
86 : DRM_FINITE_ELEMENT_MESH,
87 : DRM_FLASHING_LIGHT_BEHAVIOUR,
88 : DRM_FUNCTION,
89 : DRM_FUNCTIONAL_ASSOCIATION_DATA,
90 : DRM_GEOMETRIC_CENTRE,
91 : DRM_GEOMETRY_EDGE,
92 : DRM_GEOMETRY_FACE,
93 : DRM_GEOMETRY_HIERARCHY,
94 : DRM_GEOMETRY_MODEL,
95 : DRM_GEOMETRY_MODEL_INSTANCE,
96 : DRM_GEOMETRY_NODE,
97 : DRM_GEOMETRY_REPRESENTATION,
98 : DRM_GEOMETRY_TOPOLOGY,
99 : DRM_GEOMETRY_TOPOLOGY_HIERARCHY,
100 : DRM_GEOMETRY_VOLUME,
101 : DRM_GRID_OVERLAP,
102 : DRM_HAEC_3D_LOCATION,
103 : DRM_HEEC_3D_LOCATION,
104 : DRM_HEEQ_3D_LOCATION,
105 : DRM_HIERARCHY_DATA
106 : DRM_HIERARCHY_SUMMARY_ITEM,
107 : DRM_HSV_COLOUR,
108 : DRM_HSV_COLOUR_CONTROL_LINK,
109 : DRM_ICON,
110 : DRM_IMAGE,
111 : DRM_IMAGE_ANCHOR,
112 : DRM_IMAGE_LIBRARY,
113 : DRM_IMAGE_LOOKUP,
114 : DRM_IMAGE_MAPPING_FUNCTION,
115 : DRM_INDEX_LOD_DATA,
116 : DRM_INFINITE_LIGHT,
117 : DRM_INLINE_COLOUR,
118 : DRM_IN_OUT,
119 : DRM_INTERFACE_TEMPLATE,
120 : DRM_INTERVAL_AXIS,
121 : DRM_IRREGULAR_AXIS,
122 : DRM_KEYWORDS,
123 : DRM_LABEL,
124 : DRM_LCC_AUGMENTED_3D_LOCATION,
125 : DRM_LCC_SURFACE_LOCATION,
126 : DRM_LIBRARY,
127 : DRM_LIGHT_RENDERING_BEHAVIOUR,
128 : DRM_LIGHT_RENDERING_PROPERTIES,
129 : DRM_LIGHT_RENDERING_PROPERTIES_CONTROL_LINK,
130 : DRM_LIGHT_SOURCE,
131 : DRM_LIGHT_SOURCE_CONTROL_LINK,
132 : DRM_LINE,
133 : DRM_LINEAGE,
134 : DRM_LINEAR_FEATURE,
135 : DRM_LINEAR_GEOMETRY,
136 : DRM_LITERAL,
137 : DRM_LOBE_DATA,
138 : DRM_LOCAL_4X4,
139 : DRM_LOCATION,
140 : DRM_LOCATION_2D,
141 : DRM_LOCATION_3D,
142 : DRM_LOCATION_SURFACE,
143 : DRM_LOD_RELATED_FEATURES,
144 : DRM_LOD_RELATED_GEOMETRY,
145 : DRM_LSR_2D_LOCATION,
146 : DRM_LSR_3D_LOCATION,
147 : DRM_LSR_3D_LOCATION_CONTROL_LINK,
148 : DRM_LSR_TRANSFORMATION,
149 : DRM_LSR_TRANSFORMATION_STEP,
150 : DRM_LTSAS_3D_LOCATION,
151 : DRM_LTSAS_SURFACE_LOCATION,
152 : DRM_LTSC_3D_LOCATION,
153 : DRM_LSTC_SURFACE_LOCATION,
154 : DRM_LTSE_3D_LOCATION,
155 : DRM_LTSE_SURFACE_LOCATION,
156 : DRM_M_AUGMENTED_3D_LOCATION,
157 : DRM_M_SURFACE_LOCATION,
158 : DRM_MAP_SCALE_LOD_DATA,
159 : DRM_MESH_FACE_TABLE,
160 : DRM_MODEL,
161 : DRM_MODEL_INSTANCE_TEMPLATE_INDEX,
162 : DRM_MODEL_LIBRARY,
163 : DRM_MOVING_LIGHT_BEHAVIOUR,
164 : DRM_OCTANT_DATA,
165 : DRM_OCTANT_RELATED_FEATURES,
166 : DRM_OCTANT_RELATED_GEOMETRY,
167 : DRM_OM_AUGMENTED_3D_LOCATION,
168 : DRM_OM_SURFACE_LOCATION,
169 : DRM_OVERLOAD_PRIORITY_INDEX,
170 : DRM_PARALLELEPIPED_VOLUME_EXTENT,
171 : DRM_PERIMETER_DATA,
172 : DRM_PERIMETER_RELATED_FEATURE_TOPOLOGY,
173 : DRM_PERIMETER_RELATED_FEATURES,
174 : DRM_PERIMETER_RELATED_GEOMETRY,
175 : DRM_PERIMETER_RELATED_GEOMETRY_TOPOLOGY,
176 : DRM_POINT,
177 : DRM_POINT_FEATURE,
178 : DRM_POLAR_2D_LOCATION,
179 : DRM_POLYGON,
180 : DRM_POLYGON_CONTROL_LINK,
181 : DRM_POLYHEDRON,
182 : DRM_POSITIONAL_LIGHT,
183 : DRM_PREDEFINED_FUNCTION,
184 : DRM_PRESENTATION_DOMAIN,
185 : DRM_PRIMITIVE_COLOUR,
186 : DRM_PRIMITIVE_FEATURE,
187 : DRM_PRIMITIVE_GEOMETRY,
188 : DRM_PRIMITIVE_SUMMARY_ITEM,
189 : DRM_PROCESS_STEP,
190 : DRM_PROPERTY,
191 : DRM_PROPERTY_CHARACTERISTIC,
192 : DRM_PROPERTY_DESCRIPTION,
193 : DRM_PROPERTY_GRID,
194 : DRM_PROPERTY_GRID_HOOK_POINT,
195 : DRM_PROPERTY_SET,
196 : DRM_PROPERTY_SET_INDEX,
197 : DRM_PROPERTY_SET_INDEX_CONTROL_LINK,
198 : DRM_PROPERTY_SET_TABLE,
199 : DRM_PROPERTY_SET_TABLE_GROUP,
200 : DRM_PROPERTY_SET_TABLE_LIBRARY,
201 : DRM_PROPERTY_TABLE,
202 : DRM_PROPERTY_TABLE_REFERENCE,
203 : DRM_PROPERTY_TABLE_REFERENCE_CONTROL_LINK,
204 : DRM_PROPERTY_VALUE,
205 : DRM_PROXIMITY_DATA,
206 : DRM_PS_AUGMENTED_3D_LOCATION,
207 : DRM_PS_SURFACE_LOCATION,
208 : DRM_PSEUDO_CODE_FUNCTION,
209 : DRM_PYRAMID_DIRECTIONAL_LIGHT,
210 : DRM_QUADRANT_DATA,
211 : DRM_QUADRANT_RELATED_FEATURES,
212 : DRM_QUADRANT_RELATED_GEOMETRY,
213 : DRM_REFERENCE_ORIGIN,
214 : DRM_REFERENCE_SURFACE,
215 : DRM_REFERENCE_VECTOR,
216 : DRM_REFERENCE_VECTOR_CONTROL_LINK,
217 : DRM_REGULAR_AXIS,
218 : DRM_RELATIVE_TIME,
219 : DRM_RELATIVE_TIME_INTERVAL,
220 : DRM_RENDERING_PRIORITY_LEVEL,
221 : DRM_RENDERING_PROPERTIES,
222 : DRM_RESPONSIBLE_PARTY,
223 : DRM_RGB_COLOUR,
224 : DRM_RGB_COLOUR_CONTROL_LINK,
225 : DRM_ROTATING_LIGHT_BEHAVIOUR,
226 : DRM_ROTATION,
227 : DRM_ROTATION_CONTROL_LINK,
228 : DRM_SCALE,
229 : DRM_SCALE_CONTROL_LINK,
230 : DRM_SEASON,
231 : DRM_SEC_3D_LOCATION,
232 : DRM_SEDRIS_ABSTRACT_BASE,
233 : DRM_SEPARATING_PLANE,
234 : DRM_SEPARATING_PLANE_DATA,
235 : DRM_SEPARATING_PLANE_RELATED_GEOMETRY,
236 : DRM_SEPARATING_PLANE_RELATIONS,
237 : DRM_SEQ_3D_LOCATION,
238 : DRM_SM_3D_LOCATION,
239 : DRM_SMS_3D_LOCATION,
240 : DRM_SOUND,
241 : DRM_SOUND_INSTANCE,
242 : DRM_SOUND_INSTANCE_CONTROL_LINK,
243 : DRM_SOUND_LIBRARY,
244 : DRM_SOUND_VOLUME,
245 : DRM_SOURCE,
246 : DRM_SPATIAL_ASSOCIATION_DATA,
247 : DRM_SPATIAL_EXTENT,
248 : DRM_SPATIAL_INDEX_DATA,
249 : DRM_SPATIAL_INDEX_RELATED_FEATURE_TOPOLOGY,
250 : DRM_SPATIAL_INDEX_RELATED_FEATURES,
251 : DRM_SPATIAL_INDEX_RELATED_GEOMETRY,
252 : DRM_SPATIAL_INDEX_RELATED_GEOMETRY_TOPOLOGY,
253 : DRM_SPATIAL_RESOLUTION_LOD_DATA,
254 : DRM_SPECULAR_COLOUR,
255 : DRM_SPHERICAL_VOLUME_EXTENT,
256 : DRM_SPOT_LIGHT,
257 : DRM_SRF_SUMMARY,
258 : DRM_STAMP_BEHAVIOUR,
259 : DRM_STATE_CONTROL_LINK,
260 : DRM_STATE_DATA,
261 : DRM_STATE_RELATED_FEATURES,
262 : DRM_STATE_RELATED_GEOMETRY,
263 : DRM_STROBING_LIGHT_BEHAVIOUR,
264 : DRM_SURFACE_GEOMETRY,
265 : DRM_SYMBOL,
266 : DRM_SYMBOL_LIBRARY,
267 : DRM_TABLE_PROPERTY_DESCRIPTION,
268 : DRM_TACK_POINT,
269 : DRM_TEXT,
270 : DRM_TEXTURE_COORDINATE,
271 : DRM_TEXTURE_COORDINATE_CONTROL_LINK,
272 : DRM_TIME_CONSTRAINTS_DATA,
273 : DRM_TIME_INTERVAL,
274 : DRM_TIME_OF_DAY,
275 : DRM_TIME_POINT,
276 : DRM_TIME_RELATED_FEATURES,
277 : DRM_TIME_RELATED_GEOMETRY,
278 : DRM_TM_AUGMENTED_3D_LOCATION,
279 : DRM_TM_SURFACE_LOCATION,
280 : DRM_TRANSFORMATION,
281 : DRM_TRANSLATION,
282 : DRM_TRANSLATION_CONTROL_LINK,
283 : DRM_TRANSLUCENCY,
284 : DRM_TRANSLUCENCY_CONTROL_LINK,
285 : DRM_TRANSMITTAL_ROOT,
286 : DRM_TRANSMITTAL_SUMMARY,
287 : DRM_TWINKLING_LIGHT_BEHAVIOUR,
288 : DRM_UNION_OF_FEATURE_TOPOLOGY,
289 : DRM_UNION_OF_FEATURES,
290 : DRM_UNION_OF_GEOMETRY,
291 : DRM_UNION_OF_GEOMETRY_HIERARCHY,
292 : DRM_UNION_OF_GEOMETRY_TOPOLOGY,
293 : DRM_UNION_OF_PRIMITIVE_GEOMETRY,
294 : DRM_VARIABLE,
295 : DRM_VERTEX,
296 : DRM_VOLUME,
297 : DRM_VOLUME_EXTENT,
298 : DRM_VOLUME_GEOMETRY,
299 : DRM_VOLUME_LIGHT_BEHAVIOUR,
300 : DRM_VOLUME_LOD_DATA,
301 : DRM_VOLUME_OBJECT,
302 : DRM_VOLUMETRIC_FEATURE,
303 : DRM_WORLD_3X3,
304 : DRM_WORLD_TRANSFORMATION,
[305..1000] : // reserved for future standardization,
> 1000 : // reserved for registration )
In 9.4.3, ISO/IEC 18025 specifies the Attribute_Code data type that can represent an entry in the EDCS attribute dictionary. This data type is renamed EDCS_Attribute_Code in this part of ISO/IEC 18023.
In 9.4.2, ISO/IEC 18025 specifies the Classification_Code data type that can represent an entry in the EDCS classification dictionary. This data type is renamed EDCS_Classification_Code in this part of ISO/IEC 18023.
In 9.4.8, ISO/IEC 18025 specifies the Scale_Code data type that can represent an entry in the EDCS scale dictionary. This data type is renamed EDCS_Scale_Code in this part of ISO/IEC 18023.
In 9.4.6, ISO/IEC 18025 specifies the Unit_Code data type that can represent an entry in the EDCS unit dictionary. This data type is renamed EDCS_Unit_Code in this part of ISO/IEC 18023.
In 9.4.4, ISO/IEC 18025 specifies the Value_Characteristics_Code data type that can represent an entry in the EDCS value characteristics dictionary. This data type is renamed EDCS_Value_Characteristics_Code in this part of ISO/IEC 18023.
Table 5.29 defines the Element_Type_Code data type that specifies the type of element code used in an Element_Type variant record.
Table 5.29 — Element_Type_Code values
|
Value |
Description |
|---|---|
|
ATTRIBUTE |
The element represents an attribute. |
|
INDEX |
The element represents an index. |
|
VARIABLE |
The element represents a variable. |
Element_Type_Code ::= (
< 1 : // implementation dependent and non-conforming,
1 : ATTRIBUTE,
2 : INDEX,
3 : VARIABLE,
[4..1000] : // reserved for future standardization,
> 1000 : // reserved for registration )
Table 5.30 defines the Encoding data type that specifies a supported encoding for transmittals.
| Value | Description |
|---|---|
| STF | The transmittal is encoded in the SEDRIS Transmittal Format binary encoding (STF) as specified in Part 3 of ISO/IEC 18023. |
Encoding ::= (
< 1 : // implementation dependent and non-conforming,
1 : STF,
[2..1000] : // reserved for future standardization,
> 1000 : // reserved for registration )
This data type supports specifying an enumerated data type or selection data type that may be a search target. Only enumerated data types or selection data types used in DRM class fields are included.
Enumerated_Or_Selection_Type ::= (
< 1 : // implementation dependent and non-conforming,
1 : NULL_TYPE,
2 : AXIS_ALIGNMENT,
3 : BOOLEAN,
4 : CAMERA_PROJECTION_TYPE,
5 : CI_ROLECODE,
6 : COLOUR_BINDING,
7 : COLOUR_MODEL,
8 : DRM_CLASS,
9 : DRM_TYPE,
10 : EDCS_ATTRIBUTE_CODE,
11 : EDCS_ATTRIBUTE_VALUE_TYPE,
12 : EDCS_BOOLEAN,
13 : EDCS_CLASSIFICATION_CODE,
14 : EDCS_ENUMERANT_CODE,
15 : EDCS_NUMERIC_VALUE_TYPE,
16 : EDCS_SCALE_CODE,
17 : EDCS_UNIT_CODE,
18 : EDCS_VALUE_CHARACTERISTIC_CODE,
19 : ELEMENT_TYPE_CODE,
20 : FEATURE_TOPOLOGY_LEVEL,
21 : FONT_STYLE
22 : FUNCTIONAL_ASSOCIATION_MEANING_TYPE,
23 : GEOMETRIC_CENTRE_CODE,
24 : GEOMETRY_TOPOLOGY_LEVEL,
25 : GRID_OVERLAP_OPERATOR,
26 : HS_MULTIPLICITY_CODE,
27 : IMAGE_COMPONENT_TYPE,
28 : IMAGE_LOOKUP_SIGNATURE,
29 : IMAGE_LOOKUP_TYPE,
30 : IMAGE_MAPPING_METHOD,
31 : IMAGE_PROJECTION_TYPE,
32 : IMAGE_SCAN_DIRECTION,
33 : IMAGE_SCAN_DIRECTION_Z,
34 : IMAGE_SIGNATURE,
35 : INDEX_CODE,
36 : IMAGE_WRAP,
37 : INDEX_CODE,
38 : INTERPOLATION_TYPE,
40 : LOD_DATA_TYPE,
41 : LSR_TRANSFORMATION_AXIS,
42 : MD_KEYWORDTYPECODE,
43 : MD_RESTRICTIONCODE
44 : MEDIA_FORMAT,
45 : MODEL_REFERENCE_TYPE,
46 : MONTH,
47 : MULTIPLICITY,
48 : OCTANT,
49 : ORDERING_REASON,
50 : PIXEL_FILL_METHOD,
51 : POINT_LIGHT_DISLAY_TYPE,
52 : PREDEFINED_FUNCTION,
53 : PRESENT_IN,
54 : PROPERTY_CODE_TYPE,
55 : QUADRANT,
56 : REFERENCE_VECTOR_TYPE,
57 : REFERENCE_SURFACE_ELEVATION_SELECT,
58 : REFERENCE_SURFACE_LOD_SELECT,
59 : SEASON,
60 : SHADING_METHOD,
61 : SINGLE_VALUE_TYPE,
62 : SOUND_FORMAT,
63 : SPACING_TYPE,
64 : SPATIAL_ASSOCIATION_MEANING_TYPE,
65 : SPATIAL_INDEX_SPACING_UNIT,
66 : SRM_VOS_CODE,
67 : STATE_MISMATCH_BEHAVIOUR,
68 : SYMBOL_FORMAT,
69 : TIME_CONFIGURATION,
70 : TIME_DATA_TYPE,
71 : TIME_OF_DAY,
72 : TIME_SIGNIFICANCE,
73 : UNDERLINE_STYLE,
74 : UNION_REASON,
75 : VARIABLE_CODE,
[77..1000] : // reserved for future standardization,
> 1000 : // reserved for registration )
Table 5.31 defines the Feature_Topology_Level data type that specifies the level of feature topology if a <DRM Feature Hierarchy> instance that contains feature topology is present.
Table 5.31 — Feature_Topology_Level values
|
Value |
Description |
|---|---|
|
ZERO |
Topology level ZERO. The following objects and relationships shall exist: Objects:
Relationships:
Constraints:
Other types of feature topology objects and relationships may exist at level ZERO, but are not required. The requirements of level ONE shall not be met. Thus, there shall be at least one pair of collocated <DRM Feature Node> instances. |
|
ONE |
Topology level ONE. No additional types of SEDRIS objects or relationships are required. Constraints:
The requirements of level TWO shall not be met. That is, one pair of intersecting <DRM Feature Edge> instances shall exist. |
|
TWO |
Topology level TWO. No additional types of DRM objects or relationships are required. Constraints:
The requirements of level THREE shall not be met. |
|
THREE |
Topology level THREE. The following objects and relationships shall exist, in addition to the requirements of topology level TWO. Objects:
Relationships:
Constraints:
|
|
FOUR |
Topology level FOUR. No additional types of DRM objects or relationships are required. Constraints:
|
| FIVE |
Topology level FIVE. The following objects and relationships shall exist, in addition to the requirements of topology level FOUR. Objects:
Relationships:
Constraints:
|
Feature_Topology_Level ::= (
< 1 : // implementation dependent and non-conforming,
1 : ZERO,
2 : ONE,
3 : TWO,
4 : THREE,
5 : FOUR,
6 : FIVE,
[7..1000] : // reserved for future standardization,
> 1000 : // reserved for registration )
Table 5.32 defines the Font_Style data type that specifies the style of font to be used.
A font family that has other styles should map those into the most appropriate of the styles available including those styles that may have been registered and are supported by the implementation.
Table 5.32 — Font_Style values
|
Value |
Description |
|---|---|
|
NORMAL |
The text is displayed using the normal form specified by the font family. |
|
BOLD |
The text is displayed using the bold form specified by the font family. |
|
ITALIC |
The text is displayed using the italic form specified by the font family. |
|
BOLD_ITALIC |
The text is displayed using the form specified by the font family that is both bold and italic. |
Font_Style ::= (
< 1 : // implementation dependent and non-conforming,
1 : NORMAL,
2 : BOLD,
3 : ITALIC,
4 : BOLD_ITALIC,
[5..1000] : // reserved for future standardization,
> 1000 : // reserved for registration )
Table 5.33 defines the Functional_Association_Meaning_Type data type that specifies the meaning of functional association data.
Table 5.33 — Functional_Association_Meaning_Type values
| Value | Description |
|---|---|
| CONTROLS | The association indicates that the associating DRM object exerts a controlling influence over the associated DRM object that affects the state, attribution or position of the associated DRM object. |
| CONTROLLED_BY | The association is the inverse of CONTROLS indicating that the state, attribution, or position of the associating object is affected by the associated DRM object. |
| SUPPORTS | The association indicates that the associating DRM object exerts a force that acts to keep the associated DRM object in its position. |
| SUPPORTED_BY | The association is the inverse of SUPPORTS indicating that the associating DRM object is kept in its position by a force exerted by the associated DRM object. |
| ATTACHED | The association indicates that the associating DRM object is attached to the associated DRM object. |
Functional_Association_Meaning_Type ::= (
< 1 : // implementation dependent and non-conforming,
1 : CONTROLS,
2 : CONTROLLED_BY,
3 : SUPPORTS,
4 : SUPPORTED_BY,
5 : ATTACHED,
[6..1000] : // reserved for future standardization,
> 1000 : // reserved for registration )
Table 5.34 defines the Geometric_Centre_Code data type that specifies the reason for a <DRM Geometric Centre> instance.
Table 5.34 — Geometric_Centre_Code values
|
Value |
Description |
|---|---|
|
CENTRE_OF_BUOYANCY |
The value represents the centre of buoyancy. |
|
CENTRE_OF_MASS |
The value represents the centre of mass. |
|
CENTRE_OF_PRESSURE |
The value represents the centre of pressure. |
Geometric_Centre_Code ::= (
< 1 : // implementation dependent and non-conforming,
1 : CENTRE_OF_BUOYANCY,
2 : CENTRE_OF_MASS,
3 : CENTRE_OF_PRESSURE,
[4..1000] : // reserved for future standardization,
> 1000 : // reserved for registration )
Table 5.35 defines the Geometry_Topology_Level data type that specifies the level of geometry topology if a geometry hierarchy is present.
Table 5.35 — Geometry_Topology_Level values
|
Value |
Description |
|---|---|
|
ZERO |
Topology level ZERO. The following objects, and relationships among those DRM objects, shall exist: Objects:
Relationships:
Constraints:
Other types of geometry topology objects and relationships may exist at level ZERO, but are not required. The requirements of level ONE shall not be met. Thus, there shall be at least one pair of collocated <DRM Geometry Node> instances. |
|
ONE |
Topology level ONE. No additional types of SEDRIS objects or relationships are required. Constraints:
The requirements of level TWO shall not be met. That is, one pair of intersecting <DRM Geometry Edge> instances shall exist. |
|
TWO |
Topology level TWO. No additional types of DRM objects or relationships are required. Constraints:
The requirements of level THREE shall not be met. |
|
THREE |
Topology level THREE. The following objects and relationships shall exist, in addition to the requirements of topology level TWO. Objects:
Relationships:
Constraints:
|
|
FOUR |
Topology level FOUR. No additional types of SEDRIS objects or relationships are required. Constraints:
|
| FIVE |
Topology level FIVE.
The following objects and relationships shall exist, in addition to the requirements of topology level FOUR. Objects:
Relationships:
Constraints:
|
Geometry_Topology_Level ::=(
< 1 : // implementation dependent and non-conforming,
1 : ZERO,
2 : ONE,
3 : TWO,
4 : THREE,
5 : FOUR,
6 : FIVE,
[7..1000] : // reserved for future standardization,
> 1000 : // reserved for registration )
Table 5.36 defines the Grid_Overlap_Operator data type that specifies how overlapping <DRM Property Grid>s shall be interpreted.
Table 5.36 — Grid_Overlap_Operator values
|
Value |
Description |
|---|---|
|
BASE |
The base value is used. |
|
REPLACE |
The base value is replaced by the overlapped value. |
|
MERGE |
The base value is merged with the overlapped value. |
|
ADD |
The overlapped value is added to the base value. |
|
MEAN |
The overlapped value and the base value are averaged. |
Grid_Overlap_Operator ::= (
< 1 : // implementation dependent and non-conforming,
1 : BASE,
2 : REPLACE,
3 : MERGE,
4 : ADD,
5 : AVERAGE ,
[6..1000] : // reserved for future standardization,
> 1000 : // reserved for registration )
Table 5.37 defines the Hierarchy_Summary_Multiplicity_Code data type that specifies the multiplicity for objects specified in an instance of <DRM Hierachy Summary Item>.
Table 5.37 — HS_Multiplicity_Code values
| Value | Description |
|---|---|
| EXACT | The multiplicity represents exactly how many of the object type it represents. |
| ORDER_OF_MAGNITUDE |
The multiplicity represents approximately the order of magnitude of the actual
multiplicity. EXAMPLES 10, 100..1000, and 10000. |
| UNKNOWN | Objects of the specified type are present but the multiplicity is unknown. |
Hierarchy_Summary_Multiplicity_Code ::= (
< 1 : // implementation dependent and non-conforming,
1 : EXACT,
2 : ORDER_OF_MAGNITUDE,
3 : UNKNOWN,
[4..1000] : // reserved for future standardization,
> 1000 : // reserved for registration )
Table 5.38 defines the Image_Component_Type data type that specifies whether the components of a texel for a <DRM Image> instance are represented as signed integers, unsigned integers, or floating point numbers.
Table 5.38 — Image_Component_Type values
|
Value |
Description |
|---|---|
|
SIGNED_INTEGER |
Each texel is represented by signed integer values. |
|
UNSIGNED_INTEGER |
Each texel is represented by unsigned integer values. |
|
FLOATING_POINT |
Each texel is represented by floating point values. |
Image_Component_Type ::= (
< 1 : // implementation dependent and non-conforming,
1 : SIGNED_INTEGER,
2 : UNSIGNED_INTEGER,
3 : FLOATING_POINT,
[4..1000] : // reserved for future standardization,
> 1000 : // reserved for registration )
Table 5.39 defines the Image_Lookup_Signature data type that specifies which axes are used for lookup.
Table 5.39 — Image_Lookup_Signature values
| Value |
Description .. |
|---|---|
| I | One lookup axis, intensity. |
| I_AND_ALPHA | Two lookup axes, intensity and alpha. |
| ALPHA | One lookup axis, alpha. |
| RGB | Three lookup axes: red, green, and blue. |
| RGB_ALPHA | Four lookup axes: red, green, blue, and alpha. |
Image_Lookup_Signature ::= (
< 1 : // implementation dependent and non-conforming,
1 : I,
2 : IA,
3 : A,
4 : RGB,
5 : RGB_ALPHA,
[6..1000] : // reserved for future standardization,
> 1000 : // reserved for registration )
Table 5.40 defines the Image_Lookup_Type data type that specifies the manner of conversion needed during a lookup.
Table 5.40 — Image_Lookup_Type values
| Value | Description |
|---|---|
| YIQ_TO_RGB |
This lookup type is
valid only when the <DRM Image Lookup>
instance’s lookup table signature is RGB. This value converts the three colour components of a texel into three indices that are used to derive intermediate values that are recombined into a single RGB triplet:
Next, the I index is derived from the original texel RGB triplet by the equation: I_index = (0,49804 × red_component) - (0,22896 × green_component) - (0,26908 × blue_component) This index points to another RGB triplet in the lookup table. This triplet is used to derive the intermediate I value by the equation: I = (0,49804 × red_component) - (0,22896 × green_component) - (0,26908 × blue_component) The original RGB texel is used to generate the Q index by the equation: q_index = (0,20093 × red_component) - (0,49804 × green_component) + (0,29711 × blue_component) This index points to another RGB triplet in the lookup table. This triplet is used to derive the intermediate Q value by the equation: Q = (0,20093 × red_component) - (0,49804 × green_component) + (0,29711 × blue_component) Finally the intermediate Y, I, and Q values are combined to create the final displayed RGB triplet. The RGB triplet is derived by the equations: R = Y + (1,14423568 × I ) + (0,65258974 × Q ) |
| YIQ_TO_ALPHA |
This lookup type is valid only when the <DRM
Image Lookup> instance’s lookup table signature is ALPHA
and the referenced <DRM Image> instance
has an image_signature value of
123Colour. This value converts the three colour components of a texel into three indices that are used to derive intermediate values that are recombined into a single alpha value. The converions occurs as follows:
|
| I_TO_I |
This lookup type is valid only when the <DRM
Image Lookup> instance’s lookup
table signature is I. The Intensity component I in the image is a pointer to the Intensity value of the ith element in the lookup table. |
| I_TO_ALPHA |
This lookup type is valid only when the <DRM
Image Lookup> instance’s lookup table signature is ALPHA. The Intensity component I in the image is a pointer to the Alpha value of the ith element in the lookup table. |
| I_TO_IA |
This lookup type is valid only when the <DRM
Image Lookup> instance’s lookup
table signature is I_AND_ALPHA. The I component in the image is a pointer to the I and Alpha values of the ith element in the lookup table. |
| IA_TO_IA |
This lookup type is valid only when the <DRM
Image Lookup> instance’s lookup
table signature is I_AND_ALPHA. The I component in the image is a pointer to the I value of the ith element in the lookup table. The alpha component A in the image is a pointer to the alpha value of the ith element in the lookup table. |
| I_TO_RGB |
This lookup type is valid only when the <DRM
Image Lookup> instance’s lookup
table signature is RGB. The I component is a pointer to the ith element of the lookup table that contains the R, G, and B, values. |
| RGB_TO_RGB |
This lookup type is valid only when the <DRM
Image Lookup> instance’s lookup
table signature is RGB. The R component is a pointer to the R value of the ith element of the lookup table. The G component is a pointer to the G value of the ith element of the lookup table. The B component is a pointer to the B value of the ith element of the lookup table. |
| I_TO_RGBA |
This lookup type is valid only when the <DRM
Image Lookup> instance’s lookup
table signature is RGB_ALPHA. The I component is a pointer to the ith element of the lookup table that contains the R, G, B, and Alpha values. |
| IA_TO_RGBA |
This lookup type is valid only when the <DRM
Image Lookup> instance’s lookup
table signature is RGB_ALPHA. The I component is a pointer to the ith element of the lookup table that contains the R, G, and B values. The alpha component A in the image is a pointer to the alpha value of the ith element of the lookup table. |
| RGB_TO_RGB_ALPHA |
This lookup type is valid only when the <DRM
Image Lookup> instance’s lookup
table signature is RGB_ALPHA. The R component is a pointer to the R value of the ith element of the lookup table that contains the R value. The G component is a pointer to the G value of the ith element of the lookup table. The B component is a pointer to the B value of the ith element of the lookup table. The A component is a pointer to the Alpha value of the ith element of the lookup table. |
| RGB_ALPHA_TO_RGB_ALPHA |
This lookup type is valid only when the <DRM
Image Lookup> instance’s lookup
table signature is RGB_ALPHA. The R component is a pointer to the R value of the ith element of the lookup table. The G component is a pointer to the G value of the ith element of the lookup table. The B component is a pointer to the B value of the ith element of the lookup table. The A component is a pointer to the Alpha value of the ith element of the lookup table. |
Image_Lookup_Type ::= (
< 1 : // implementation dependent and non-conforming,
1 : YIQ_TO_RGB,
2 : YIQ_TO_ALPHA,
3 : I_TO_I,
4 : I_TO_ALPHA,
5 : I_TO_IA,
6 : IA_TO_IA,
7 : I_TO_RGB,
8 : RGB_TO_RGB,
9 : I_TO_RGBA,
10 : IA_TO_RGBA,
11 : RGB_TO_RGBA,
12 : RGBA_TO_RGBA,
[13..1000] : // reserved for future standardization,
> 1000 : // reserved for registration )
Table 5.41 defines the Image_Mapping_Method data type that specifies how the image is blended with the background when the image is being used as a texture map.
Table 5.41 — Image_Mapping_Method values
|
Value |
Description |
|---|---|
|
REPLACE |
For REPLACE image mapping method, no calculations are needed; the colour and alpha (derived from a <DRM Translucency> instance) of the <DRM Image> instance completely replace the original colour and alpha of the object, if any. |
|
DECAL |
For DECAL image mapping method, the <DRM Image> instance is rendered on top of anything the existing rendering, like a decal. For images with image signature ALPHA, LUMINANCE, or LUMINANCE_ALPHA:
For images with image signature 123COLOUR:
For images with image signature 123COLOUR_ALPHA:
|
|
MODULATE |
For MODULATE image mapping method, the <DRM Image> instance’s luminance (or colour) and alpha are linearly combined with those of the original object. For images with image signature LUMINANCE:
For images with image signature ALPHA:
For images with image signature LUMINANCE_ALPHA:
For images with image signature 123COLOUR:
For images with image signature 123COLOUR_ALPHA:
|
|
BLEND |
For BLEND image mapping method, the image blend colour of the object determines how the <DRM Image> instance is combined with the object’s primary colour. For images with image signature LUMINANCE:
For images with image signature ALPHA:
For images with image signature LUMINANCE_ALPHA:
For images with image signature 123COLOUR:
For images with image signature 123COLOUR_ALPHA:
|
Image_Mapping_Method ::= (
< 1 : // implementation dependent and non-conforming,
1 : REPLACE,
2 : DECAL,
3 : MODULATE,
4 : BLEND,
[5..1000] : // reserved for future standardization,
> 1000 : // reserved for registration )
Table 5.42 defines the Image_Projection_Type data type that specifies the projection to be used when applying image instances to textured DRM objects.
Table 5.42 — Image_Projection_Type values
|
Value |
Description |
|---|---|
|
PLANAR |
This value specifies that the <DRM Image> instance is to be applied to a planar surface. |
|
CYLINDRICAL |
This value specifies that the <DRM Image> instance is to be warped to a cylindrical shape. For this case, the textured object does not have <DRM Texture Coordinate> instances or <DRM Tack Point> instances; <DRM Image Anchor> instances are provided by either the <DRM Image Mapping Function> instance or the <DRM Image> instance itself. |
|
SPHERICAL |
This value specifies that the <DRM Image> instance is to be warped to a spherical shape. For this case, the textured object does not have <DRM Texture Coordinate> instances or <DRM Tack Point> instances; <DRM Image Anchor> instances are provided by either the <DRM Image Mapping Function> instance or the <DRM Image> instance itself. |
Image_Projection_Type ::= (
< 1 : // implementation dependent and non-conforming,
1 : PLANAR,
2 : CYLINDRICAL,
3 : SPHERICAL ,
[4..1000] : // reserved for future standardization,
> 1000 : // reserved for registration )
Table 5.43 defines the Image_Signature data type that specifies how many texels are represented within a <DRM Image> instance.
Table 5.43 — Image_Signature values
|
Value |
Description |
|---|---|
|
ALPHA |
This value is used to indicate that each texel in the <DRM Image> instance consists of an alpha value, representing the coverage of the texel. An alpha of 0,0 indicates that the texel is transparent, while an alpha of 1,0 indicates that the texel is opaque. A <DRM Image> instance with this signature may be called an alpha channel or an alpha map. For further details, see [FOLEY]. Note that an alpha map can be composited with:
FURTHER CONSTRAINTS:
|
|
LUMINANCE |
This value is used to indicate that the <DRM Image> instance specifies only luminance (also termed intensity) values that form a grey scale image, with no colour values. A LUMINANCE <DRM Image> instance can be composited with a compatible ALPHA image to produce a LUMINANCE_AND_ALPHA <DRM Image> instance. EXAMPLE An example of compositing LUMINANCE <DRM Image> instances is the case of large areas of terrain <DRM Polygon> instances, where the same textures for dirt are repeated over and over. To avoid creating a “quilt” effect on the terrain, a LUMINANCE <DRM Image> instance can be composited with the terrain (using different offsets at different locations to make the effect appear random) to randomize the textures and give the terrain a more realistic appearance. FURTHER CONSTRAINTS: bits_of_luminance shall specify the size per texel (in bits); all other bits_of_xxx fields (and their corresponding minimum_value_of_xxx and maximum_value_of_xxx fields) shall be zero. |
|
COLOUR_COORDINATE_1 |
This value is used to indicate that each texel in the <DRM Image> instance consists of one colour component, namely the first for its colour model (G for RGB, M for CMY , or S for HSV ). The first colour component of the colour model shall be the only value in the texel. Note that a COLOUR_COORDINATE_1 <DRM Image> instance can be composited with compatible COLOUR_COORDINATE_2 and COLOUR_COORDINATE_3 <DRM Image> instances of the same dimensions to produce a 123_COLOUR <DRM Image> instance. (These can also be composited with a compatible alpha texture map to produce a 123COLOUR_ALPHA texture map.) FURTHER CONSTRAINTS:
EXAMPLES: An RGB texel will have red as the texel value. A CMY texel will have cyan as the texel value. An HSV texel will have hue as the texel value. |
|
COLOUR_COORDINATE_2 |
This value is used to indicate that each texel in the <DRM Image> instance consists of one colour component, namely the second for its colour model (G for RGB, M for CMY , or S for HSV). The second colour component of the colour model shall be the only value in the texel. Note that a COLOUR_COORDINATE_1 <DRM Image> instance can be composited with compatible COLOUR_COORDINATE_2 and COLOUR_COORDINATE_3 <DRM Image> instances of the same dimensions to produce a 123_COLOUR <DRM Image> instance. These can also be composited with a compatible alpha map to produce a 123COLOUR_ALPHA map. FURTHER CONSTRAINTS:
|
|
COLOUR_COORDINATE_3 |
This value is used to indicate that each texel in the <DRM Image> instance consists of one colour component, namely the third for its colour model (B for RGB, Y for CMY, or V for HSV). The third colour component of the colour model shall be the only value in the texel. Note that a COLOUR_COORDINATE_1 <DRM Image> instance can be composited with compatible COLOUR_COORDINATE_2 and COLOUR_COORDINATE_3 <DRM Image> instances of the same dimensions to produce a 123_COLOUR <DRM Image> instance. (These can also be composited with a compatible alpha map to produce a 123COLOUR_ALPHA map.) FURTHER CONSTRAINTS:
EXAMPLES An RGB texel will have blue as the texel value. A CMY texel will have yellow as the texel value. An HSV texel will have brightness
value as the texel value. |
|
BUMP_MAP_HEIGHT |
This value is used to indicate that the <DRM Image> instance represents a 2D height bump map (or just height map), specifying information used to modify the surface normals of a smooth surface. When used with a ray-tracing technique, bump mapping introduces variations in intensity across the surface, so that it simulates a rough, wrinkled, or dimpled surface (e.g., the surface of the ocean). A UV type of bump map can be derived from a height bump map by omputing the texel gradients in both the X and Y directions. Rather than manipulating the colour of a flat surface, bump mapping modifies the physical texture of the surface. For a description of bump mapping, see Section 7.8 “Bump Mapping” of [WATT]. FURTHER CONSTRAINTS:
|
|
EDCS_CLASSIFICATION_CODE |
This value is used to indicate that each texel in the <DRM Image> consists of one ECC value. FURTHER CONSTRAINTS:
|
|
LUMINANCE_AND_ALPHA |
This value is used to indicate that the <DRM Image> instance is a composite of a luminance <DRM Image> instance and an alpha <DRM Image> instance (see ALPHA and LUMINANCE ). Each texel consists of an intensity value followed by an alpha value. No other ordering is possible with this signature. A LUMINANCE_AND_ALPHA <DRM Image> instance can be down-sampled to produce an ALPHA <DRM Image> instance and a LUMINANCE <DRM Image> instance. FURTHER CONSTRAINTS:
|
|
123COLOUR |
This value is used to indicate that each texel in the <DRM Image> instance consists of three colour components (RGB, CMY, or HSV). The first colour component of the colour model shall be the first value in the texel, the second colour component of the colour model shall be the second value in the texel, and the third colour component of the colour model shall be the third value in the texel. No other ordering is possible with this signature. Note that a 123COLOUR <DRM Image> instance can be down-sampled to produce a COLOUR_COORDINATE_1, COLOUR_COORDINATE_2, or COLOUR_COORDINATE_3 <DRM Image> instance. FURTHER CONSTRAINTS:
EXAMPLES An RGB texel shall have red as the first value in the texel, green next and finally blue. A CMY texel shall have cyan as the first value in the texel, magenta next, and finally yellow. An HSV texel shall have hue as the
first value in the texel, saturation next and finally brightness value. |
|
123COLOUR_ALPHA |
This value is used to indicate that each texel in the <DRM Image> instance consists of three colour components (RGB, CMY, or HSV) and an alpha value. The first colour component of the colour model shall be the first value in the texel, the second colour component of the colour model shall be the second value in the texel, the third colour component of the colour model shall be the third value in the texel, and the alpha value shall be the last value in the texel. No other ordering is possible with this signature. Note that a 123COLOUR_ALPHA <DRM Image> instance can be down-sampled to produce a COLOUR_COORDINATE_1, COLOUR_COORDINATE_2, COLOUR_COORDINATE_3, and/or ALPHA <DRM Image> instances. FURTHER CONSTRAINTS:
EXAMPLES An RGBA texel shall have red as the first value in the texel, green next, then blue, and finally alpha. A CMYA texel shall have cyan as the first value in the texel, magenta next, then yellow, and finally alpha. An HSVA texel shall have hue as the
first value in the texel, saturation next, then brightness value, and finally
alpha. |
|
ONE_MATERIAL |
This value is used to indicate that each texel in the <DRM Image> instance consists of one value, an index into the <DRM Property Table> instances referenced by this <DRM Image> instance. These <DRM Property Table> instances describe the material. Normally, a <DRM Property Table Reference> instance is used to find the corresponding <DRM Property Table> instance’s data_table_type, to which the <DRM Axis> instance is referred, and which hash value measurement along that <DRM Axis> instance is being referenced. The bits_of_material_1 field is used in place of the <DRM Property Table Reference> instance’s index_on_axis field values. See the examples for the <DRM Image> class. FURTHER CONSTRAINTS:
|
|
TWO_MATERIALS |
This value is used to indicate that each texel in the <DRM Image> instance represents a linear combination of two materials in the <DRM Property Table> instances referenced by this <DRM Image> instance. That is, each texel consists of three values: two indexes into the <DRM Property Table> instances referenced by this <DRM Image> instance, and the percentage (an integer between 0% and 100%) of material_2. These <DRM Property Table> instances describe the materials. Normally, a <DRM Property Table Reference> instance is used to find the corresponding <DRM Property Table> instance’s data_table_type, to which the <DRM Axis> instance is referred, and which hash value measurement along that <DRM Axis> instance is being referenced. The bits_of_material_1 and bits_of_material_2 fields are used in place of the <DRM Property Table Reference> instances’ index_on_axis field values. See the examples for the <DRM Image> class. FURTHER CONSTRAINTS:
|
|
THREE_MATERIALS |
This value is used to indicate that each texel in the <DRM Image> instance represents a linear combination of three materials in the <DRM Property Table> instances referenced by this <DRM Image> instance . That is, each texel consists of four values: three indices into the <DRM Property Table> instances referenced by this <DRM Image> instance , and the percentages (integers between 0% and 100%) of material_2 and material_3. These <DRM Property Table> instances describe the materials. Normally, a <DRM Property Table Reference> instance is used to find the corresponding <DRM Property Table> instance’s data_table_type, to which a <DRM Axis> instance is referred, and which hash value measurement along that <DRM Axis> instance is being referenced. The bits_of_material_1, bits_of_material_2, and bits_of_material_3 fields are used in place of the <DRM Property Table Reference> instances’ index_on_axis field values. See the examples for the <DRM Image> class. FURTHER CONSTRAINTS:
|
|
IMAGE_INDEX |
This is used to indicate that the <DRM Image> instance consists of references to other <DRM Image> instances (i.e., each texel within the <DRM Image> instance is the index of another <DRM Image> instance). This mechanism allows an <DRM Image> instance to define high-resolution insets. Each texel is to be replaced by the entire <DRM Image> instance identified by the <DRM Image> instance whose index is specified by that texel. This allows data providers to create a large <DRM Image> instance formed by many smaller <DRM Image> instances. The index is an index into the <DRM Image Library> instance containing this <DRM Image> instance. FURTHER CONSTRAINTS:
|
|
BUMP_MAP_UV |
This value specifies that the <DRM Image> instance represents a bump map in UV space, specifying information used to modify the surface normals of a smooth surface. See BUMP_MAP_HEIGHT for further information on bump maps. FURTHER CONSTRAINTS:
|
Image_Signature ::= (
< 1 : // implementation dependent and non-conforming,
1 : ALPHA,
2 : LUMINANCE,
3 : COLOUR_COORDINATE_1,
4 : COLOUR_COORDINATE_2,
5 : COLOUR_COORDINATE_3,
6 : BUMP,
7 : BUMP_MAP_HEIGHT,
8 : EDCS_CLASSIFICATION_CODE,
9 : LUMINANCE_AND_ALPHA,
10 : 123COLOUR,
11 : 123COLOUR_ALPHA,
12 : ONE_MATERIAL,
13 : TWO_MATERIALS,
14 : THREE_MATERIALS,
15 : IMAGE_INDEX,
16 : BUMP_MAP_UV,
[17..1000] : // reserved for future standardization,
> 1000 : // reserved for registration )
Table 5.44 defines the Image_Wrap data type that specifies how texture mapping is handled when the boundary of an image is reached.
Table 5.44 — Image_Wrap values
|
Value |
Description |
|---|---|
|
CLAMP |
Texture coordinates in the image space are clamped to the value range [0,0..1,0]. Negative texture coordinate values are mapped to 0,0, while values greater than 1,0 are mapped to 1,0. |
|
REPEAT |
The image space is considered to extend to infinity; the image is repeated in a tiled manner. |
Image_Wrap ::= (
< 1 : // implementation dependent and non-conforming,
1 : CLAMP,
2 : REPEAT,
[3..1000] : // reserved for future standardization,
> 1000 : // reserved for registration )
Table 5.45 defines the Index_Code data type that specifies the type of index used in an Element_Type variant record.
Table 5.45 — Index_Code values
|
Value |
Description |
|---|---|
|
DATA_TABLE_COMPONENT |
This value specifies that a <DRM Data Table> instance is able reference its ith ordered <DRM Data Table> component, where i is the value of the index being specified. |
| DATA_TABLE_LIBRARY | This value specifies that a <DRM Data Table> instance is able to reference the ith <DRM Data Table> instance in its transmittal’s <Data Table Library> instance, where i is the value of the index being specified. |
| IMAGE_MAPPING_FUNCTION | This value specifies that a cell in a <DRM Data Table> instance is able to reference the ith ordered <DRM Image Mapping Function> component of the <DRM Data Table> instance. |
|
PROP_TABLE_REF_COMPONENT |
This value specifies that a <DRM Data Table> instance is able to reference its ith ordered <DRM Property Table Reference> component, where i is the value of the index being specified. |
Index_Code ::= (
< 1 : // implementation dependent and non-conforming,
1 : DATA_TABLE_COMPONENT,
2 : DATA_TABLE_LIBRARY,
3 : IMAGE_MAPPING_FUNCTION,
4 : PROP_TABLE_REF_COMPONENT,
[5..1000] : // reserved for future standardization,
> 1000 : // reserved for registration )
Table 5.46 defines the Interpolation_Type data type that specifies the manner in which cell values are interpolated to produce a point between grid points.
Table 5.46 — Interpolation_Type values
|
Value |
Description |
|---|---|
| BICUBIC_SPLINE | Bicubic spline interpolation uses sixteen known data points to estimate the unknown value of c at a given a, b by fitting a bicubic surface to the sixteen closest data points and then evaluating for c. For more information, see [PRENTER]. |
| DIAGONALIZATION | A data point is interpolated by taking the four adjacent data points and dividing them into two triangular facets using a diagonal of the data cell. The diagonal to be used shall be provided as part of the cell data of a <DRM Data Table> instance by specifying a <DRM Table Property Description> instance with a value of EAC_GRID_DIAGONALIZATION. An EEC specifying either the lower-left to upper-right diagonal or the upper-left to lower-right diagonal shall be stored in the cell data. |
|
DISALLOWED |
Interpolation is disallowed by the data provider. |
| KRIGING | Kriging is an interpolation method that predicts unknown values from data observed at known locations. This method uses variograms to express the spatial variation, and it minimizes the error of predicted values that are estimated by spatial distribution of the predicted values. Kriging interpolation estimates the unknown value using a weighted linear combination of the available sample. The weights for the linear combination are calculated by deriving the function of the data variogram and evaluating this function over the set of points in the data. For more information refer to [OLIVER]. |
| LAGRANGIAN | Lagrangian interpolation uses a specified number of existing points to fit a polynomial of degree one less than the number of points. For more information, see [ZWIL]. |
| LINEAR | Interpolation is linear (the most common default). |
| METADATA_SPECIFIED | The description of the data provider’s preferred interpolation method is specified in the supplemental_information field of the <DRM Description> object associated with the <DRM Data Table> aggregate. |
| NEAREST_NEIGHBOUR | Interpolation is by nearest neighbour. |
|
NOT_SUPPLIED |
No preferred interpolation method was supplied. |
|
OAML_DBDB_SPLINE_FIT |
This enumerant represents a spline-fitting technique, specifically that used to support data derived from the OAML. More specifically, it is used to support Digital Bathymetric Database OAML tables. One common use is within OAML-derived tables representing bathymetry. |
|
OAML_GDEM_POLYN_DEFORMATION |
Exists to support tables derived from data from the OAML. Specifically, this enumerant exists to support the Generalized Digital Environmental Model, which is a 4-dimensional steady-state digital model of ocean temperature and salinity, consisting of gridded sets of coefficients with very specific grid spacing values. This interpolation method uses polynomial deformation. One common use of this method is within tables representing sound speed profiles. |
|
QUADRATIC |
Quadratic interpolation uses three known data points to estimate the unknown value of y at a given x by fitting a parabolic arc (quadratic equation) to the three data points and then evaluating for y. |
Interpolation_Type ::= (
< 1 : // implementation dependent and non-conforming,
1 : BICUBIC_SPLINE,
2 : DIAGONALIZATION,
3 : DISALLOWED,
4 : KRIGING,
5 : LAGRANGIAN,
6 : LINEAR,
7 : METADATA_SPECIFIED,
8 : NEAREST_NEIGHBOR,
9 : NOT_SUPPLIED,
10 : OAML_DBDB_SPLINE_FIT,
11 : OAML_GDEM_POLYN_DEFORMATION,
12 : QUADRATIC,
[12..1000] : // reserved for future standardization,
> 1000 : // reserved for registration )
Table 5.47 defines the Interval_Value_Type data type that specifies the base data type for an EDCS interval.
Table 5.47 — Interval_Value_Type values
| Value | Description |
|---|---|
| COUNT | The interval is a range over EDCS count values. |
| INTEGER | The interval is a range over EDCS integer values. |
| REAL | The interval is a range over EDCS floating point values. |
Interval_Value_Type ::= (
< 1 : // implementation dependent and non-conforming,
1 : COUNT,
2 : INTEGER,
3 : REAL,
[4..1000] : // reserved for future standardization,
> 1000 : // reserved for registration )
Table 5.48 defines the LOD_Data_Type data type that specifies the selection criteria of <DRM Base LOD Data> being used to organize a <DRM LOD Related Features> or <DRM LOD Related Geometry> instance.
Table 5.48 — LOD_Data_Type values
|
Value |
Description |
|---|---|
|
DISTANCE |
Each level represents data as viewed from a different distance. |
|
INDEX |
Each level represents data selected by an index. |
|
MAP_SCALE |
Each level represents data for presentation at a different map scale. |
|
VOLUME |
Each level represents data that occupies a different volume. |
|
SPATIAL_RESOLUTION |
Each level represents data that is specified for a specific spatial resolution. |
LOD_Data_Type ::= (
< 1 : // implementation dependent and non-conforming,
1 : DISTANCE,
2 : INDEX,
3 : MAP_SCALE,
4 : VOLUME,
5 : SPATIAL_RESOLUTION,
[5..1000] : // reserved for future standardization,
> 1000 : // reserved for registration )
The MD_KeywordTypeCode data type specifies the type of a keyword. It is defined in B.5.17 of ISO 19115.
The MD_RestrictionCode data type specifies restriction information and is defined in B.5.24 of ISO 19115.
Table 5.49 defines the Media_Format data type that specifies the format of media files used by <DRM Browse Media>.
Information about each format is in Annex C Media format references. Support of all media types is optional. However, if a media type is supported by an implementation, that support shall conform to the specifications referenced in Annex C Media format references.
Table 5.49 — Media_Format values
|
Value |
Description |
|---|---|
|
AVI |
Audio Video Interleave |
| BIIF | Binary Information Interchange Format |
|
BMP |
Bitmap Graphics |
| CGM | Computer Graphics Metafile |
| EMF | Windows Enhanced Metafile |
|
GIF |
Graphic Interchange Format |
| HTML | Hyper Text Markup Language |
|
JPEG |
Joint Photographic Experts Group |
| JPEG2000 | JPEG 2000 |
| NITFS | National Imagery Transmission Format Standard |
| PICT | Picture - Macintosh graphics file |
| PNG | Portable Network Graphics |
| QT | QuickTime |
| RGB | Red Green Blue |
|
RIFF |
Resource Interchange File Format |
| SVG | Scalable Vector Graphics |
|
TIFF |
Tagged Image File Format |
| VRML | Virtual Reality Modeling Language |
|
WMF |
Windows Metafile |
| X3D | X3D XML encoding |
| X3DV | X3D Classic VRML encoding |
|
XBM |
X BitMap format |
Media_Format ::= (
< 1 : // implementation dependent and non-conforming,
1 : AVI,
2 : BIIF,
3 : BMP,
4 : CGM,
5 : GIF,
6 : EMF,
7 : HTML,
8 : JPEG,
9 : JPEG2000,
10 : NITFS,
11 : PICT,
12 : PNG,
13 : QT,
14 : RGB,
15 : RIFF,
16 : SVG,
17 : TIFF,
18 : VRML,
19 : WMF,
20 : X3D,
21 : X3DV,
22 : XBM,
[23..1000] : // reserved for future standardization,
> 1000 : // reserved for registration )
Table 5.50 defines the Ordering_Reason data type that specifies the reason for ordering.
Table 5.50 — Ordering_Reason values
|
Value |
Description |
|---|---|
| NONE | No reason for the ordering is specified. |
| FIXED_LISTED | A fixed rendering order is used, typically for non-depth- buffered or hybrid image generators. |
| LAYERED_FASTEST_RENDERING | A layered scheme optimized for fastest rendering is used in which the first component is always the base of the layer and the other components are decal layers. |
|
LAYERED_HIGH_QUALITY_RENDERING |
A layered scheme optimized for high-quality rendering is used in which the first component is always the base of the layer and the other components are decal layers. |
| SHARED_ATTRIBUTE | The components are layered by some shared attributes. |
|
VIEWER_RANGE |
The layers are ordered according to range to the viewer. |
Ordering_Reason ::= (
< 1 : // implementation dependent and non-conforming,
1 : NONE,
2 : FIXED_LISTED,
3 : LAYERED_FASTEST_RENDERING,
4 : LAYERED_HIGH_QUALITY_RENDERING,
5 : SHARED_ATTRIBUTE,
6 : VIEWER_RANGE,
[7..1000] : // reserved for future standardization,
> 1000 : // reserved for registration )
Table 5.51 defines the Pixel_Fill_Method data type that is used in <DRM Rending Properties> instances to specify the colour blending method.
Table 5.51 — Pixel_Fill_Method values
|
Value |
Description |
|---|---|
|
CONSTANT |
The geometry polygon colour specifies the constant pixel colour across the geometry. |
|
BLEND |
Colour or intensity at each <DRM Vertex> instance is used to blend for the geometry fill method. |
Pixel_Fill_Method ::= (
< 1 : // implementation dependent and non-conforming,
1 : CONSTANT,
2 : BLEND,
[3..1000] : // reserved for future standardization,
> 1000 : // reserved for registration )
Table 5.52 defines the Predefined_Function data type that specifies the various predefined functions that an implementation shall support.
In the description for this data type, the letter A indicates the first argument, the letter B indicates the second argument continuing on as necessary for the number of arguments needed.
Table 5.52 — Predefined_Function values
|
Value |
Description |
|---|---|
|
ADD |
Definition: A + B This is a binary operator, for which the first of the ordered arguments is left of the operator and the second is right. |
|
DIVIDE |
Definition: A / B This is a binary operator, for which the first of the ordered arguments is left of the operator and the second is right. |
|
MODULO |
Definition: A modulo B This is a binary operator, for which the first of the ordered arguments is left of the operator and the second is right. |
|
MULTIPLY |
Definition: A × B This is a binary operator, for which the first of the ordered arguments is left of the operator and the second is right. |
|
SUBTRACT |
Definition: A - B This is a binary operator, for which the first of the ordered arguments is left of the operator and the second is right. |
|
COSINE |
Definition: cosine(A) |
|
SINE |
Definition: sine(A) |
|
TANGENT |
Definition: tangent(A) |
|
ARCCOSINE |
Definition: arccosine(A) |
|
ARCSINE |
Definition: arcsine(A) |
|
ARCTANGENT |
Definition: arctangent(A) |
|
ARCTANGENT2 |
Definition: arctangent2(A,B) where A and B are the numerator and denominator of A/B respectively |
|
HYPOTENUSE |
Definition: hypotenuse(A, B) |
|
ABSOLUTE |
Definition: |A| : absolute value of A |
|
EXPONENT |
Definition: eA |
|
LN |
Definition: ln(A) : natural logarithm of A |
|
LOG |
Definition: logB A : logarithm base B of A |
|
POWER |
Definition: AB : A raised to the Bth power |
|
SQRT |
Definition: sqrt(A) : square root of A |
|
MAXIMUM |
Definition: if (A > B) return A else return B |
|
MINIMUM |
Definition: if (A < B) return A else return B |
|
NOT |
Definition: Not (the logical operator) Return Type: Boolean This unary logical operator treats an operand with a value of zero (0) as FALSE, while an operand with a non-zero value is treated as TRUE. |
|
AND |
Definition: A AND B (the logical operator) Return Type: Boolean This binary logical operator treats its first ordered argument (A) as left of the operator, while the second (B) is right. An operand with a value of zero (0) is treated as FALSE, while an operand with a non-zero value is treated as TRUE. |
|
EQUAL |
Definition: A = B (the relation) Return Type: Boolean |
|
GREATER_THAN |
Definition: A > B (the relation) Return Type: Boolean |
|
GREATER_THAN_OR_EQUAL |
Definition: A ≥ B (the relation) Return Type: Boolean |
|
LESS_THAN |
Definition: A < B (the relation) Return Type: Boolean |
|
LESS_THAN_OR_EQUAL |
Definition: A ≤ B (the relation) Return Type: Boolean |
|
NOT_EQUAL |
Definition: A ≠ B (the relation) Return Type: Boolean |
|
OR |
Definition: A OR B (the logical operator) Return Type: Boolean This binary logical operator treats its first ordered argument (A) as left of the operator, while the second (B) is right. An operand with a value of zero (0) is treated as FALSE, while an operand with a non-zero value is treated as TRUE. |
|
EXCLUSIVE_OR |
Definition: A XOR B (the Exclusive Or logical operator) This binary logical operator treats its first ordered argument (A) as left of the operator, while the second (B) is right. An operand with a value of zero (0) is treated as FALSE, while an operand with a non-zero value is treated as TRUE. |
|
IF |
Definition: if (A return B; else return C This function accepts exactly three arguments: A, B, and C. |
|
PI |
Definition: The mathematical constant PI (π). |
|
SIMULATION_TIME |
Definition: Returns time, in floating point seconds, since simulation start. |
|
SIMULATION_UTIME |
Definition: Returns time, in unsigned microseconds, since simulation start. The value is allowed to overflow and roll back to zero. |
|
REFERENCE_SURFACE_ELEVATION |
Definition: Returns the elevation value derived from the required <DRM Reference Surface> of the transmittal at the location specified by the arguments. Arguments are interpreted as coordinate values within the SRF of the currently scoped instance of <DRM Environment Root>. Argument order shall match the coordinate order determined by the currently scoped SRF. For this function to be valid, at least one <DRM Reference Surface> shall be specified within the scope of its <DRM Environment Root>. |
|
CYCLE_TIME |
Definition: Returns a cycling time value in seconds of the kind specified by the arguments. These arguments are: A - a trigger boolean to start the cycle(s); B - cycle length in seconds; C - a function that returns time in seconds (e.g., GMT); D - number of cycles to execute before stopping; E - cycle time at which to start; F - cycle time at which to end; and G - Boolean specifying whether the cycle runs one way (e.g., start > end, start > end) or whether it reverses at the end (e.g., start > end > start). |
|
TABLE_VALUE |
Definition: This values allows a <DRM Data Table> instance to drive a <DRM Control Link> instance. This function contains a <DRM Property Table Reference> instance as an argument that references the <DRM Data Table> instance (usually, this will be a <DRM Property Table> instance). The values are stored in cells with a <DRM Property> instance that is specified by the EAC of the type appropriate for the target <DRM Control Link> instance that is to be driven. This <DRM Prespecified Function> instance is contained by the target <DRM Control Link> instance, and thereby returns the value referenced from the <DRM Property Table> instance as the value that drives the target <DRM Control Link>. instance. The <DRM Property Table Reference> instance can itself be controlled using a <DRM Property Table Reference Control Link> instance, allowing different values to be referenced from the <DRM Property Table> instance. |
Predefined_Function (
< 1 : // implementation dependent and non-conforming,
1 : ADD,
2 : DIVIDE,
3 : MODULO,
4 : MULTIPLY,
5 : SUBTRACT,
6 : COSINE,
7 : SINE,
8 : TANGENT,
9 : ARCCOSINE,
10 : ARCSINE,
11 : ARCTANGENT,
12 : ARCTANGENT2,
13 : HYPOTENUSE,
14 : ABSOLUTE,
15 : EXPONENT,
16 : LN,
17 : LOG,
18 : POWER,
19 : SQRT,
20 : MAXIMUM,
21 : MINIMUM,
22 : NOT,
23 : AND,
24 : EQUAL,
25 : GREATER_THAN,
26 : GREATER_THAN_OR_EQUAL,
27 : LESS_THAN,
28 : LESS_THAN_OR_EQUAL,
29 : NOT_EQUAL,
30 : OR,
31 : EXCLUSIVE_OR,
32 : IF,
33 : PI,
34 : SIMULATION_TIME,
35 : SIMULATION_UTIME,
36 : TERRAIN_HEIGHT,
37 : CYCLE_TIME,
38 : TABLE_VALUE,
[39..1000] : // reserved for future standardization,
> 1000 : // reserved for registration )
Table 5.53 defines the Property_Code_Type data type that specifies the type of property code being specified in an instance of Property_Code.
Table 5.53 — Property_Code_Type values
| Value | Description |
|---|---|
| ATTRIBUTE | The property is an EAC. |
| VARIABLE | The property is a variable. |
Property_Code_Type ::= (
< 1 : // implementation dependent and non-conforming,
1 : ATTRIBUTE,
2 : VARIABLE,
[3..1000] : // reserved for future standardization,
> 1000 : // reserved for registration )
Table 5.54 defines the Reference_Vector_Type data type that specifies the type of vector being referenced.
Table 5.54 — Reference_Vector_Type values
|
Value |
Description |
|---|---|
|
CAMERA_FORWARD_AXIS |
The given <DRM Reference Vector> instance is used to specify the forward axis of a <DRM Camera Point> instance. |
|
CAMERA_UP_AXIS |
The given <DRM Reference Vector> instance is used to specify the up axis of a <DRM Camera Point> instance |
|
EMISSIVITY_AZIMUTH |
An azimuth for emissivity cases. If the <DRM Reference Vector> has a <DRM Property Value> component specifying an electromagnetic band, this azimuth applies only to the specified EM band. If such a <DRM Property Value> component is not present, this azimuth applies to all emissivity cases. |
|
EMISSIVITY_NORMAL |
A normal for emissivity cases. If the <DRM Reference Vector> has a <DRM Property Value> component specifying an electromagnetic band, this normal applies only to the specified EM band. If such a <DRM Property Value> component is not present, this normal applies to all emissivity cases. |
|
FACE_NORMAL |
The given <DRM Reference Vector> instance V specifies a vector for a face F, where F corresponds to an aggregate of V and V corresponds to the normal of F at the point specified by V’s <DRM Location> component. |
|
LIGHT_DIRECTION |
The given <DRM Reference Vector> instance V specifies, for an aggregate <DRM Lobe Data> instance of V, the following:
|
|
LSR_TRANSFORMATION_AXIS |
The given <DRM Reference Vector> instance V specifies a vector for a <DRM LSR Transformation Step> instance L, where L corresponds to an aggregate of V such that the transformation step specified by L is performed in the direction specified by V. |
|
MAJOR_AXIS |
This value specifies the major axis of a <DRM Ellipse> instance, or the major axis of the elliptical cross-section of a <DRM Cylindrical Volume Extent> instance. |
|
MINOR_AXIS |
This value specifies the minor axis of a <DRM Ellipse> instance, or the minor axis of the elliptical cross-section of a <DRM Cylindrical Volume Extent> instance. |
|
MOVEMENT_DIRECTION |
The given <DRM Reference Vector> instance V specifies, for a given moving object or phenomenon, the direction of motion. |
|
PARALLELEPIPED_EDGE_DIRECTION |
The given <DRM Reference Vector> instance V specifies, for an aggregate <DRM Parallelepiped Volume Extent> instance, the orientation of one of the 3 edges that define the parallelepiped volume. |
|
REFLECTIVITY_AZIMUTH |
An azimuth for reflectivity/transmissivity cases. If the <DRM Reference Vector> instance has a <DRM Property Value> component specifying an electromagnetic band, this azimuth applies only to the specified EM band. If such a <DRM Property Value> component is not present, this azimuth applies to all reflectivity and transmissivity cases. |
|
REFLECTIVITY_EMISSIVITY_AZIMUTH |
Azimuth for all Reflectivity and/or Emissivity cases. |
|
REFLECTIVITY_EMISSIVITY_NORMAL |
A normal for reflectivity and emissivity cases. If the <DRM Reference Vector> instance has a <DRM Property Value> component specifying an electromagnetic band, this normal applies only to the specified EM band. If such a <DRM Property Value> component is not present, this normal applies to all reflectivity and emissivity cases. |
|
REFLECTIVITY_NORMAL |
A normal for reflectivity/transmissivity cases. If the <DRM Reference Vector> instancew has a <DRM Property Value> component specifying an electromagnetic band, this normal applies only to the specified EM band. If such a <DRM Property Value> component is not present, this normal applies to all reflectivity and emissivity cases. |
|
RENDERING_NORMAL |
The given <DRM Reference Vector> instance V specifies a vector for a face F, where F corresponds to an aggregate of V, such that for visualization rendering applications, V shall be used in place of the face normal of F at the point specified by V’s <DRM Location> component. |
|
VERTICAL_AXIS |
The given <DRM Reference Vector> instance V specifies, for an aggregate <DRM Lobe Data> instance of V, the axis from which the horizontal_width and vertical_width of the lobe are measured. The selector name VERTICAL_AXIS in this context does not imply any constraint on V’s orientation with respect to the axes (if any) of the spatial reference frame in which V is specified. |
Reference_Vector_Type ::= (
< 1 : // implementation dependent and non-conforming,
1 : CAMERA_FORWARD_AXIS,
2 : CAMERA_UP_AXIS,
3 : EMISSIVITY_AZIMUTH,
4 : EMISSIVITY_NORMAL,
5 : FACE_NORMAL,
6 : LIGHT_DIRECTION,
7 : LSR_TRANSFORMATION_AXIS,
8 : MAJOR_AXIS,
9 : MINOR_AXIS,
10 : MOVEMENT_DIRECTION,
11 : PARALLELEPIPED_EDGE_DIRECTION,
12 : REFLECTIVITY_AZIMUTH,
13 : REFLECTIVITY_EMISSIVITY_AZIMUTH,
14 : REFLECTIVITY_EMISSIVITY_NORMAL,
15 : REFLECTIVITY_NORMAL,
16 : RENDERING_NORMAL,
17 : VERTICAL_AXIS,
[18..1000] : // reserved for future standardization,
> 1000 : // reserved for registration )
Table 5.55 defines the Search_Rule_Type data type that specifies a rule for searching.
The rules define different operations that are to be performed to satisfy a search.
Table 5.55 — Search_Rule_Type values
|
Value |
Description |
|---|---|
|
END |
This value specifies the end of a list of rules. |
|
AND |
This value specifies that the results of the preceding pair of rules will be joined by a logical AND operation. |
|
OR |
This value specifies that the results of the preceding pair of rules will be joined by a logical OR operation. |
|
NOT |
This value specifies that logical negation will be applied to the result of the preceding rule. |
|
OBJECT_AND |
This value specifies that the results of the preceding pair of rules will be joined by a logical AND operation and that both shall be satisfied by the same set of objects. |
|
PREDICATE |
Objects that satisfy a search rule of this type shall satisfy the specified user-specified function. The signature of the user-specified function shall match that specified by the Predicate function signature (see 5.5.2 Predicate). This value is valid for all types of iterators and uses the following fields: rule_type: set to PREDICATE. user_function: set to the user-specified function that will be used to filter objects based on whether or not the user-specified function returns TRUE or FALSE when passed an object. value: set to some user-specified data that may be NULL. |
|
DRM_CLASS |
Objects that satisfy a search rule of this type shall match the specified DRM class. This value is valid for all types of iterators and uses the following Search_Rule fields: rule_type: set to DRM_CLASS. drm_class: the DRM class of the target object. |
|
FIELD |
Objects that satisfy a search rule of this type shall match the specified DRM class and exactly the specified value for a given field in the fields of the object being tested. For string fields, the string shall have the same length and contain the same contents to satisfy the search rule. In addition, string comparisons are case-sensitive. This value is valid for all types of iterators and uses the following fields: rule_type: set to FIELD. drm_class: set to the DRM class of the target object. value: set to a search value (this value will be checked against the value of the specified field in the fields of an object being tested) field_ordinal: set to the ordinal of the chosen field within the fields of the target object. |
|
FIELD_RANGE |
Objects that satisfy a search rule of this type shall match both the specified DRM class and the specified range of allowable values for a given field in the fields of the object being tested. This value uses the following fields: rule_type: set to FIELD_RANGE. drm_class: set to the DRM class of the target object. value: set to the lower bound of the search values. second_value: set to the upper bound of the search values. field_ordinal: set to the ordinal of the chosen field within the fields of the target object. RESTRICTIONS:
|
|
FIELD_ARRAY |
Search by an object’s type and by whether the value of a field in the fields of that object matches any element in the search rule’s array. This value is valid for all types of iterators and uses the following fields: rule_type: set to FIELD_ARRAY. drm_class: set to the DRM class of the target object. value: set to an array of search values (each value will be checked against the value of the specified field in the fields of an object being tested). field_ordinal: set to the ordinal of the chosen field within the fields of the given object |
|
COMPONENT_DRM_CLASS |
Search for objects of a given type that have one or more components of a given type. This value is valid for all types of iterators and uses the following fields: rule_type: set to COMPONENT_DRM_CLASS. drm_class: set to the DRM class of the target object. component_object_drm_class: |
|
COMPONENT_FIELD |
Objects that satisfy a search rule of this type shall match the specified DRM class and have one or more components of another given DRM class where those components match the specified value for a given field in the fields of the component object being tested. This value is valid for all types of iterators and uses the following fields: rule_type: set to P_COMPONENT_FIELD. drm_class: set to the DRM class of the target object. component_object_drm_class: field_ordinal: set to the ordinal of the chosen field within the fields of the given component object. value: the search value (this value will be checked against the value of the specified field in the fields of the component object being tested). |
|
COMPONENT_FIELD_RANGE |
Objects that satisfy a search rule of this type shall match the specified DRM class and have one or more components of another given DRM class where the specified field in the fields of each of those components contains a value within the specified range of search values. This value is valid for all types of iterators and uses the following fields: rule_type: set to COMPONENT_FIELD_RANGE. drm_class: set to the DRM class of the target object. component_object_drm_class: field_ordinal: set to the ordinal of the chosen field within the fields of the given component object. value: the lower bound of the search values. second_value: the upper bound of the search values. RESTRICTIONS: Same as for FIELD_RANGE specified earlier in this table. |
|
COMPONENT_FIELD_ARRAY |
Objects that satisfy a search rule of this type shall match the specified DRM class and have one or more components of another given DRM class where the specified field in the fields of each of those components contains a value matching one of the specified values in the given array. This value is valid for all types of iterators and uses the following fields: rule_type: set to COMPONENT_FIELD_ARRAY. drm_class: set to the DRM class of the target object. component_object_drm_class: field_ordinal: the ordinal of the chosen field within the fields of the targeted component object. value: an array of search values (each value will be checked against the value of the specified field in the fields of an object being tested). |
|
ASSOCIATION |
Objects that satisfy a search rule of this type shall have associations that can be traversed to one or more other objects. This value is valid for all types of iterators and uses the following fields: rule_type: set to ASSOCIATION. |
|
ASSOCIATION_DRM_CLASS |
Objects that satisfy a search rule of this type shall have associations that can be traversed to one or more objects belonging to the specified DRM class. This value is valid for all types of iterators and uses the following fields: rule_type: set to ASSOCIATION_DRM_CLASS. drm_class: set to the DRM class of object that shall be at the other end of a traversable association from the target object. |
|
MAX_SEARCH_DEPTH |
Objects that satisfy a search rule of this type shall be within the specified depth (distance) from the start object of the component iterator using this rule. This rule is valid only for the three types of component iterator:
This rule type uses the following fields: rule_type: set to MAX_SEARCH_DEPTH. max_depth: set to the maximum allowed distance in links followed from the start_object to any object that is trying to satisfy this rule. |
Search_Rule_Type ::= (
< 1 : // implementation dependent and non-conforming,
1 : END,
2 : AND,
3 : OR,
4 : NOT,
5 : OBJECT_AND,
6 : PREDICATE,
7 : DRM_CLASS,
8 : FIELD,
9 : FIELD_RANGE,
10 : FIELD_ARRAY,
11 : COMPONENT_DRM_CLASS,
12 : COMPONENT_FIELD,
13 : COMPONENT_FIELD_RANGE,
14 : COMPONENT_FIELD_ARRAY,
15 : ASSOCIATION,
16 : ASSOCIATION_DRM_CLASS,
17 : MAX_SEARCH_DEPTH,
[18..1000] : // reserved for future standardization,
> 1000 : // reserved for registration )
Table 5.56 defines the Search_Type data type that specifies whether to use a point search, bounding box search, or exact search for a search boundary.
Point search is quickest, but is not guaranteed to be accurate. For a bounding box search, a partial inclusion inclusion_choice value (see 7.3.8 CreateSpatialSearchBoundary) is guaranteed to include all objects that are partly included in the search area; it may include extra objects. A box search with full inclusion will return only fully included objects, but it may miss some objects. An exact search is guaranteed to be accurate to a small distance.
Table 5.56 — Search_Type values
| Value | Description |
|---|---|
| POINT | A point search algorithm is to be used when searching. |
| BOUNDING_BOX | A bounding box search algorithm is to be used when searching. |
| EXACT | An exact search algorithm is to be used when searching. |
Search_Quality ::= (
< 1 : // implementation dependent and non-conforming,
1 : POINT,
2 : BOUNDING_BOX,
3 : EXACT,
[4..1000] : // reserved for future standardization,
> 1000 : // reserved for registration )
Table 5.57 defines the Search_Value_Type data type that specifies the type of value to be used during searching.
Table 5.57 — Search_Value_Type values
|
Value |
Description |
|---|---|
|
BOOLEAN |
The search value is specified as a Boolean. |
|
BYTE |
The search value is specified as a byte. |
|
BYTE_POSITIVE |
The search value is specified as a positive byte. |
|
BYTE_UNSIGNED |
The search value is specified as an unsigned byte. |
|
SHORT_INTEGER |
The search value is specified as a short integer. |
|
SHORT_INTEGER_POSITIVE |
The search value is specified as a short positive integer. |
|
SHORT_INTEGER_UNSIGNED |
The search value is specified as a short unsigned integer. |
|
INTEGER |
The search value is specified as an integer. |
|
INTEGER_POSITIVE |
The search value is specified as a positive integer. |
|
INTEGER_UNSIGNED |
The search value is specified as an unsigned integer. |
|
FLOAT |
The search value is specified as a floating point number. |
|
LONG_FLOAT |
The search value is specified as a long floating point number. |
|
ENUMERATED |
The search value is specified as an enumerant. |
|
STRING |
The search value is specified as a string. |
| SET | The search value is specified as a set data type instance. |
Search_Value_Type ::= (
< 1 : // implementation dependent and non-conforming,
1 : BOOLEAN,
2 : BYTE,
3 : BYTE_POSITIVE,
4 : BYTE_UNSIGNED,
5 : SHORT_INTEGER,
6 : SHORT_INTEGER_POSITIVE,
7 : SHORT_INTEGER_UNSIGNED,
8 : INTEGER,
9 : INTEGER_POSITIVE,
10 : INTEGER_UNSIGNED,
11 : FLOAT,
12 : LONG_FLOAT,
13 : ENUMERATED,
14 : STRING,
15 : SET,
[16..1000] : // reserved for future standardization,
> 1000 : // reserved for registration )
Table 5.58 defines the Season data type that specifies seasons of the year.
| Value | Description |
|---|---|
| SPRING | The time period is in Spring. |
| SUMMER | The time period is in Summer. |
| AUTUMN | The time period is in Autumn. |
| WINTER | The time period is in Winter. |
| DRY | The time period is in the dry season. |
| WET | The time period is in the wet season. |
Season ::= (
< 1
: // implementation dependent and non-conforming,
1 : SPRING,
2 : SUMMER,
3 : AUTUMN,
4 : WINTER,
5 : DRY,
6 : WET,
[7..1000] : // reserved for future standardization,
> 1000 : // reserved for registration )
Table 5.59 defines the Shading_Method data type that specifies the illumination method.
Table 5.59 — Shading_Method values
|
Value |
Description .. |
|---|---|
|
NONE |
Non-illuminated shading. Pixel colour is not affected by either spot or infinite light sources. This is sometimes called Fixed shading, since pixel colours are fixed and do not change at render-time. |
|
FLAT |
The polygon face normal is used when calculating illumination of geometry. |
|
INTERPOLATED_COLOUR |
Vertex normals and light sources are taken into account when calculating illumination of a geometry attribute. This method is often called Gouraud shading. |
|
INTERPOLATED_NORMAL |
Vertex normals are interpolated as part of the illumination algorithm. This method is often called Phong shading. |
Shading_Method ::= (
< 1 : // implementation dependent and non-conforming,
1 : NONE,
2 : FLAT,
3 : INTERPOLATED_COLOUR,
4 : INTERPOLATED_NORMAL,
[5..1000] : // reserved for future standardization,
> 1000 : // reserved for registration )
Table 5.60 defines the Single_Value_Type data type that specifies the EDCS data types used for specifying EA values.
Table 5.60 — Single_Value_Type values
| Value | Description |
|---|---|
| FLOAT | EDCS Long_Float data type |
| INTEGER | EDCS Integer data type |
| COUNT | EDCS Count data type |
| INDEX | EDCS Count data type used for attributes of type Index |
| STRING | EDCS String data type |
| CONSTRAINED_STRING | EDCS String data type used for attributes of type Constrained_String |
| KEY | EDCS String data type used for attributes of type Key |
| ENUMERATION | EDCS Enumeration_Code data type |
| BOOLEAN | EDCS Boolean data type |
Single_Value_Type ::= (
< 1 : // implementation dependent and non-conforming,
1 : FLOAT,
2 : INTEGER,
3 : COUNT,
4 : INDEX,
5 : STRING,
6 : CONSTRAINTED_STRING,
7 : KEY,
8 : ENUMERATION,
9 : BOOLEAN,
[10..1000] : // reserved for future standardization,
> 1000 : // reserved for registration )
Table 5.61 defines the Sound_Format data type that specifies the format of sound files being played using an instance of <DRM_Sound>.
Table 5.61 — Sound_Format values
|
Value |
Description |
|---|---|
|
AIFC |
Audio Interchange Format, Compressed sound file |
|
AIFF |
Audio Interchange File Format |
|
AVI |
Audio Video Interleave |
|
IFF |
Interchange File Format |
|
MIDI |
Musical Instrument Digital Interface |
|
MP2 |
MPEG Layer 2 Audio |
|
MP3 |
MPEG Layer 3 Audio |
|
MPG |
Moving Picture Experts Group |
|
QT |
QuickTime |
|
RA |
Real Audio file |
|
SND |
Sound file |
|
VOC |
Creative Voice file |
|
WAV |
Waveform Audio |
|
WVE |
Electronic Art’s file format with .wve extension |
Sound_Format ::= (
< 1 : // implementation dependent and non-conforming,
1 : AIFC,
2 : AIFF,
3 : AVI,
4 : IFF,
5 : MIDI,
6 : MP2,
7 : MP3,
8 : MPG,
9 : QT,
10 : RA,
11 : SND,
12 : VOC,
13 : WAV,
14 : WVI,
[15..1000] : // reserved for future standardization,
> 1000 : // reserved for registration )
Table 5.62 defines the Spacing_Type data type that specifies the type of a <DRM Regular Axis> instance.
Table 5.62 — Spacing_Type values
|
Value |
Description |
|---|---|
|
ARITHMETIC |
Tick marks form an arithmetic progression. To compute the ith tick value, the following formula applies: Tick(i) = first_value + (i × spacing) |
|
GEOMETRIC |
Tick marks form a geometric progression. To compute the ith tick value, the following formula applies: Tick(i) = first_value × (spacingi) |
Spacing_Type ::= (
< 1 : // implementation dependent and non-conforming,
1 : ARITHMETIC,
2 : GEOMETRIC,
[3..1000] : // reserved for future standardization,
> 1000 : // reserved for registration )
Table 5.63 defines the Spatial_Association_Meaning_Type data type that specifies the meaning of spatial association data.
Table 5.63 — Spatial_Association_Meaning_Type values
| Value | Description |
|---|---|
| ALTERNATE_REPRESENTATION | The association indicates that the associated object represents an alternate representation of the associating object. |
| CONTAINS | The association indicates that the associating object contains the associated object. |
| CONTAINED_BY | The association indicates that the associating object is contained by the associated object. |
| CROSS |
The association indicates that:
|
| DISJOINT | The association indicates that none of the points in the associating object are also in the associated object. |
| INTERSECTS | The association indicates that the associating object and the associated object have at least one interior or boundary point in common. |
| OVERLAP | The association indicates that the interiors of the associating and associated objects overlap and this intersection has a dimensionality that is the same as the associating and associated objects. |
| TOUCH | The association indicates that the associating object and the associated objects intersect at their boundaries but not anywhere in their interiors. |
| IN_PROXIMTY_OF | The association indicates that the associated object is in the proximity of the associating object. |
| COMPLETELY_ABOVE |
The association indicates that:
|
| PARTIALLY_ABOVE |
The association indicates that:
|
| COMPLETELY_BELOW |
The association indicates that:
|
| PARTIALLY_BELOW |
The association indicates that:
|
Spatial_Association_Meaning_Type ::= (
< 1 : // implementation dependent and non-conforming,
1 : ALTERNATE_REPRESENTATION,
2 : CONTAINS,
3 : CONTAINED_BY,
4 : CROSS,
5 : DISJOINT,
6 : INTERSECTS,
7 : OVERLAP,
8 : TOUCH,
9 : IN_PROXIMITY_OF,
10 : COMPLETELY_ABOVE,
11 : PARTIALLY_ABOVE,
12 : COMPLETELY_BELOW,
13 : PARTIALLY_BELOW,
[14..1000] : // reserved for future standardization,
> 1000 : // reserved for registration )
Table 5.64 defines the Spatial_Index_Spacing_Unit data type that specifies the unit of distance measurement used for spatial index spacing.
Table 5.64 — Spatial_Index_Spacing_Unit values
|
Value |
Description |
|---|---|
|
METRE |
Spatial index spacing is measured in metres. |
|
ARC_SECOND |
Spatial index spacing is measured in arc-seconds. |
Spatial_Index_Spacing_Unit ::= (
< 1 : // implementation dependent and non-conforming,
1 : METRE,
2 : ARC_SECOND,
[2..1000] : // reserved for future standardization,
> 1000 : // reserved for registration )
ISO/IEC 18026 specifies the CS_Code data type that specifies the type of a coordinate system. This data type is renamed SRM_CS_Code in this part of ISO/IEC 18023.
ISO/IEC 18026 specifies the HSR_Code data type that specifies an available ORM template. This data type is renamed SRM_HSR_Code in this part of ISO/IEC 18023.
ISO/IEC 18026 specifies the ORM_Code data type that specifies an available ORM. This data type is renamed SRM_ORM_Code in this part of ISO/IEC 18023.
ISO/IEC 18026 specifies the ORMT_Code data type that specifies an available ORM reference transformation. This data type is renamed SRM_ORMT_Code in this part of ISO/IEC 18023.
ISO/IEC 18026 specifies the SRF_Code data type that specifies an available SRF. This data type is renamed SRM_SRF_Code in this part of ISO/IEC 18023.
ISO/IEC 18026 specifies the SRFS_Code data type that specifies an available SRF template. This data type is renamed SRM_SRFS_Code in this part of ISO/IEC 18023.
ISO/IEC 18026 specifies the SRFT_Code data type that specifies an available SRF template. This data type is renamed SRM_SRFT_Code in this part of ISO/IEC 18023.
ISO/IEC 18026 specifies the Status_Code data type that specifies the stauts of results from invoking a specified SRM method. This data type is renamed SRM_Status_Code in this part of ISO/IEC 18023.
ISO/IEC 18026 specifies the VOS_Code data type that specifies an available vertical offset surface. This data type is renamed SRM_VOS_Code in this part of ISO/IEC 18023.
Table 5.65 defines the Status_Code data type that specifies the status codes that can be returned by 7.3.29 GetLastFunctionStatus.
Additional information relating specific status codes with the functions that generate them may be found in 7.3 API functions.
If a function should fail due to multiple reasons, INACTIONABLE_FAILURE shall be returned.
Table 5.65 — Status_Code values
|
Value |
Description |
|---|---|
|
SUCCESS |
This status code is returned when the function succeeded and no further information is provided. Other status codes do not necessarily indicate that the function failed. See particular functions for more information. |
|
NO_OBJECT |
This status code is returned by GetNextObject when there are no further objects to return that meet the specified criteria. |
|
DELETED_OBJECT |
This status code is returned when an object handle to an object that has been removed from a transmittal is passed in to an API function. |
|
DIFFERENT_TRANSMITTAL |
This status code is returned when valid parameters were provided but one or more objects were encountered that are in a different transmittal than the start object. This status is not an error condition when extracting objects, but is an error condition when attempting to remove objects from a transmittal. |
|
TRANSMITTAL_INACCESSIBLE |
This status code is returned by the open-transmittal functions if the resolved file location was not accessible by the API. This can occur if the file was opened for read-only or update access and the file does not exist. It can also occur if the file location specified a non-local file and the API had no transport mechanism available capable of accessing the remote file. |
|
UNRESOLVED_TRANSMITTAL |
This status code is returned when a reference to a transmittal is encountered that cannot be resolved. |
|
INVALID_ACCESS_MODE |
This status code is returned if the resolved file location of a transmittal was found, but the security permissions of the underlying operating system and/or file system prohibited access to the file in the mode specified. This can occur under any of the following conditions:
|
|
UNSUPPORTED_ENCODING |
This status code is returned when a transmittal was requested in an encoding that is not supported by the implementation(s) of the SEDRIS API linked to the application. |
|
INVALID_TRANSMITTAL_NAME |
This status code is returned when a parameter representing a transmittal name did not specify a name that was valid according to the formal SEDRIS namespace as specified by the ResolveTransmittalName function. |
|
UNPUBLISHED_OBJECT |
This status code is returned when an object is encountered (while attempting to process an inter-transmittal reference) that is not published by its transmittal. |
|
UNRESOLVED_OBJECT |
This status code is returned when a DRM object handle is encountered that references a DRM object that is not available to the API, i.e., the DRM object is contained within a transmittal whose content cannot be accessed. NOTE This status is not necessarily an error condition. |
|
UNRESOLVED_START_OBJECT |
This status code is returned when an argument has been provided to an unresolved object. EXAMPLE A start object for an iterator. This status is an error condition, returned when the API requires access to the content of the unresolved object in order to perform the requested operation. |
|
INACTIONABLE_FAILURE |
This status code is returned to indicate a general, unknown, or other error for which there is no meaningful branch that the application code could make. This status code is returned when any invalid parameters are passed in to API functions. |
|
OUT_OF_MEMORY |
This status code is returned when the implementation is unable to allocate sufficient memory to satisfy the requirements of the function. |
Status_Code ::= (
< 1 : // implementation dependent and non-conforming,
1 : SUCCESS,
2 : NO_OBJECT,
3 : DELETED_OBJECT,
4 : DIFFERENT_TRANSMITTAL,
5 : TRANSMITTAL_INACCESSIBLE,
6 : UNRESOLVED_TRANSMITTAL,
7 : INVALID_ACCESS_MODE,
8 : UNSUPPORTED_ENCODING,
9 : INVALID_TRANSMITTAL_NAME,
10 : UNPUBLISHED_OBJECT,
11 : UNRESOLVED_OBJECT,
12 : UNRESOLVED_START_OBJECT,
[13, 999] : // reserved for future standardization,
1000 : INACTIONABLE_FAILURE,
1001 : OUT_OF_MEMORY,
[1002, 1999] : // reserved for other operating system errors,
[2000, 3999] : // reserved for language binding dependent errors,
> 4000 : // reserved for registration )
Table 5.66 defines the Symbol_Format data type that specifies the format of a file defining symbols used by the <DRM Symbol> DRM class.
Table 5.66 — Symbol_Format values
|
Value |
Description |
|---|---|
|
CGM |
Computer Graphics Metafile |
| SVG | Scalable Vector Graphics |
Symbol_Format ::= (
< 1 : // implementation dependent and non-conforming,
1 : CGM,
2 : SVG,
[3..1000] : // reserved for future standardization,
> 1000 : // reserved for registration )
Table 5.67 defines the Time_Configuration data type that specifies a value to select among the variants of Time_Value.
Table 5.67 — Time_Configuration values
|
Value |
Description |
|---|---|
|
DATE_YMD_AND_TIME_HMS |
The time specifies the year, month, and the day of the month as well as the hour, the minute, and the second. |
|
DATE_YMD_AND_TIME_HM |
The time specifies the year, month, and the day of the month as well as the hour and minute. |
|
DATE_YMD_AND_TIME_H |
The time specifies the year, month, and the day of the month as well as the hour. |
|
DATE_YMD |
The time specifies the year, month, and the day of the month. |
|
DATE_YD_AND_TIME_HMS |
The time specifies the year and the day of the year as well as the hour, the minute, and the second. |
|
DATE_YD_AND_TIME_HM |
The time specifies the year and the day of the year as well as the hour and minute. |
|
DATE_YD_AND_TIME_H |
The time specifies the year and the day of the year as well as the hour. |
|
DATE_YD |
The time specifies the year and the day of the year. |
|
DATE_MD_AND_TIME_HMS |
The time specifies the month and the day of the month as well as the hour, the minute, and the second and applies to any year. |
|
DATE_MD_AND_TIME_HM |
The time specifies the month and the day of the month as well as the hour and minute and applies to any year. |
|
DATE_MD_AND_TIME_H |
The time specifies the year and the day of the year as well as the hour and applies to any year. |
|
DATE_Y |
The time specifies only the year. |
|
DATE_M |
The time specifies the month that applies to any year. |
|
DAY_OF_YEAR |
The time specifies a specific day within a calendar year without specifying a specific year, and shall be between 0 and 365 inclusive. |
Time_Configuration ::= (
< 1 : // implementation dependent and non-conforming,
1 : DATE_YMD_AND_TIME_HMS,
2 : DATE_YMD_AND_TIME_HM,
3 : DATE_YMD_AND_TIME_H,
4 : DATE_YMD,
5 : DATE_YD_AND_TIME_HMS,
6 : DATE_YD_AND_TIME_HM,
7 : DATE_YD_AND_TIME_H,
8 : DATE_YD,
9 : DATE_MD_AND_TIME_HMS,
10 : DATE_MD_AND_TIME_HM,
11 : DATE_MD_AND_TIME_H,
12 : DATE_Y,
13 : DATE_M,
14 : DAY_OF_YEAR,
[15..1000] : // reserved for future standardization,
> 1000 : // reserved for registration )
Table 5.68 defines the Time_Data_Type data type that specifies the type of time data that is being used to organize a <DRM Time Related Features> or <DRM Geometry Representation> aggregate. This data type specifies the subclass of <DRM Base Time Data> of which instances are the components of the <DRM Time Constraints Data> link objects that organize a <DRM Time Related Features> or <DRM Geometry Representation> aggregate.
Table 5.68 — Time_Data_Type values
|
Value |
Description |
|---|---|
|
SEASON |
The time data is organized by season. |
|
TIME_INTERVAL |
The time data is organized into time intervals. |
|
TIME_OF_DAY |
The time data is organized by time of day. |
|
TIME_POINT |
The time data is organized by time points. |
Time_Data_Type ::= (
< 1 : // implementation dependent and non-conforming,
1 : SEASON,
2 : TIME_INTERVAL,
3 : TIME_OF_DAY,
4 : TIME_POINT,
[5..1000] : // reserved for future standardization,
> 1000 : // reserved for registration )
Table 5.69 defines the Time_Measurement_Type data type that specifies whether time is being measured in terms of absolute time, relative to the start of the exercise, or relative to some reference time.
Table 5.69 — Time_Measurement_Type values
|
Value |
Description |
|---|---|
|
GMT |
Time is specified relative to Greenwich Mean Time. |
|
RELATIVE_TO_EXERCISE_START |
Time is specified relative to the start of the exercise. |
|
RELATIVE_TO_REFREENCE_TIME |
Time is specified relative to some stated reference time. |
Time_Measurement_Type ::= (
< 1 : // implementation dependent and non-conforming,
1 : GMT,
2 : RELATIVE_TO_EXERCISE_START,
3 : RELATIVE_TO_REFERENCE_TIME,
[4..1000] : // reserved for future standardization,
> 1000 : // reserved for registration )
Table 5.70 defines the Time_Of_Day data type that specifies various times of the day.
Table 5.70 — Time_Of_Day values
| Value | Description |
|---|---|
| DAWN | The time period is at dawn. |
| MORNING | The time period is in the morning. |
| DAY | The time period is during the day. |
| AFTERNOON | The time period is in the afternoon. |
| DUSK | The time period is at dusk. |
| EVENING | The time period is in the evening. |
| NIGHT | The time period is at night. |
Time_Of_Day ::= (
< 1 : // implementation dependent and non-conforming,
1 : DAWN,
2 : MORNING,
3 : DAY,
4 : AFTERNOON,
5 : DUSK,
6 : EVENING,
7 : NIGHT,
[8..1000] : //
reserved for future standardization,
> 1000 : // reserved for registration )
Table 5.71 defines the Time_Significance data type that specifies the meaning of the time represented by a <DRM Base Time Data> instance, in relation to the data set represented by the DRM object aggregating that <DRM Base Time Data> instance.
Table 5.71 — Time_Significance values
|
Value |
Description |
|---|---|
|
ANALYSIS |
The <DRM Base Time Data> instance represents the time at which the analysis was performed that resulted in the data set. |
|
CERTIFICATION_DATE |
The <DRM Base Time Data> instance represents the date that the data set was certified. |
|
CREATION_DATE |
The <DRM Base Time Data> instance represents the date that the data set was created. |
|
FORECAST |
The <DRM Base Time Data> instance represents the time at which the forecast is valid that corresponds to the data set. |
|
MODIFICATION_DATE |
The <DRM Base Time Data> instance represents the date that the data set was last modified. |
|
OBSERVATION |
The <DRM Base Time Data> instance represents the time at which an observation was made. |
|
OCCURRENCE |
The <DRM Base Time Data> instance represents the time that the event occurred that is represented by the data being described. |
|
PERIOD_OF_CONTENT |
The <DRM Base Time Data> instance represents the time period spanned by the data set. |
|
PUBLICATION_DATE |
The <DRM Base Time Data> instance represents the date that the data set was published. |
|
REFERENCE |
The <DRM Base Time Data> instance represents a base time to which other times are referenced. |
|
REVISION_DATE |
The <DRM Base Time Data> instance represents the date that the data set was last revised. |
Time_Significance ::= (
< 1 : // implementation dependent and non-conforming,
1 : ANALYSIS,
2 : CERTIFICATION_DATE,
3 : CREATION_DATE,
4 : FORECAST,
5 : MODIFICATION_DATE,
6 : OBSERVATION,
7 : OCCURRENCE,
8 : PERIOD_OF_CONTENT,
9 : PUBLICATION_DATE,
10 : REFERENCE,
11 : REVISION_DATE,
[12..1000] : // reserved for future standardization,
> 1000 : // reserved for registration )
The Transmittal_API_Function data type specifies the names of the available transmittal API functions.
TRANSMITTAL_API_FUNCTION ::= (
< 1 : // implementation dependent and non-conforming,
1 : ADD_ASSOCIATE_RELATIONSHIP,
2 : ADD_COMPONENT_RELATIONSHIP,
3 : CLONE_OBJECT,
4 : CLOSE_TRANSMITTAL,
5 : CREATE_OBJECT,
6 : CREATE_SEARCH_FILTER,
7 : CREATE_SPATIAL_SEARCH_BOUNDARY,
8 : DETERMINE_SPATIAL_INCLUSION,
9 : FREE_ITERATOR,
10 : FREE_OBJECT,
11 : FREE_PACKED_HIERARCHY,
12 : FREE_REMAINING_OBJECTS_LIST,
13 : FREE_REMAINING_PACKED_HIERARCHIES_LIST,
14 : FREE_SEARCH_FILTER,
15 : FREE_SPATIAL_SEARCH_BOUNDARY,
16 : FREE_TRANSMITTAL,
17 : GET_AGGREGATE,
18 : GET_ASSOCIATE,
19 : GET_COLOUR_MODEL,
20 : GET_COMPONENT,
21 : GET_CONTEXT_TRANSFORMATION,
22 : GET_DATA_TABLE_DATA,
23 : GET_DRM_CLASS,
24 : GET_ENCODING,
25 : GET_FIELDS,
26 : GET_IMAGE_DATA,
27 : GET_ITERATION_LENGTH_REMAINING,
28 : GET_LAST_FUNCTION_STATUS,
29 : GET_MESH_FACE_TABLE_DATA,
30 : GET_NEXT_OBJECT,
31 : GET_NTH_ASSOCIATE,
32 : GET_NTH_COMPONENT,
33 : GET_NUMBER_OF_PATHS_TO_TRANSMITTAL_ROOT,
34 : GET_OBJECT_FROM_ID_STRING,
35 : GET_OBJECT_ID_STRING,
36 : GET_OBJECT_REFERENCE_COUNT,
37 : GET_PACKED_HIERARCHY,
38 : GET_PUBLISHED_LABELS,
39 : GET_PUBLISHED_OBJECT_LIST,
40 : GET_REFERENCED_TRANSMITTAL_LIST,
41 : GET_RELATION_COUNTS,
42 : GET_REMAINING_OBJECTS_LIST,
43 : GET_REMAINING_PACKED_HIERARCHIES,
44 : GET_ROOT_OBJECT,
45 : GET_SRF_INFO,
46 : GET_TRANSMITTAL_FROM_OBJECT,
47 : GET_TRANSMITTAL_LOCATION,
48 : GET_TRANSMITTAL_NAME,
49 : GET_TRANSMITTAL_VERSION_INFORMATION,
50 : GET_UNIQUE_TRANSMITTAL_ID,
51 : GET_UNRESOLVED_OBJECT_FROM_PUBLISHED_LABEL,
52 : GET_USER_DATA,
53 : INITIALIZE_AGGREGATE_ITERATOR,
54 : INITIALIZE_ASSOCIATE_ITERATOR,
55 : INITIALIXE_COMPONENT_ITERATOR,
56 : INITIALIZE_INHERITED_COMPONENT_ITERATOR,
57 : IS_ITERATOR_COMPLETE,
58 : OBJECT_IS_PUBLISHED,
59 : OBJECT_IS_RESOLVED,
60 : OBJECTS_ARE_SAME,
61 : OPEN_TRANSMITTAL_BY_LOCATION,
62 : OPEN_TRANSMITTAL_BY_NAME,
63 : PUBLISH_OBJECT,
64 : PUT_DATA_TABLE_DATA,
65 : PUT_FIELDS,
66 : PUT_IMAGE_DATA,
67 : PUT_MESH_FACE_TABLE_DATA,
68 : REMOVE_ASSOCIATE_RELATIONSHIP,
69 : REMOVE_COMPONENT_RELATIONSHIP,
70 : REMOVE_FROM_TRANSMITTAL,
71 : RESOLVE_OBJECT,
72 : RESOLVE_TRANSMITTAL_NAME,
73 : SET_COLOUR_MODEL,
74 : SET_FIRST_ERROR_MESSAGE,
75 : SET_GENERAL_CALLBACK,
76 : SET_GENERAL_CALLBACK_FOR_ONE_FUNCTION,
77 : SET_ROOT_OBJECT,
78 : SET_SECOND_ERROR_MESSAGE,
79 : SET_SPECIFIC_CALLBACK,
80 : SET_SRF_INFO,
81 : SET_TRANSMITTAL_NAME,
82 : SET_USER_DATA,
83 : TRANSMITTALS_ARE_SAME,
84 : UNPUBLISH_OBJECT,
85 : USE_DEFAULT_COLOUR_MODEL,
86 : USE_DEFAULT_SRF_INFO,
[87..1000] : // reserved for future standardization,
> 1000 : // reserved for registration )
Table 5.72 defines the Traversal_Order data type that specifies the desired traversal order for a component iterator.
The traversal order of the branches of a <DRM Aggregate Feature> or <DRM Aggregate Geometry> instance is determined either by the DRM or by the hierarchy_order_parameters field of the iterator. However, the general traversal scheme (i.e., the order to search for objects from the <DRM Transmittal Root> down to the maximum depth of the search) is specified using this data type.
All component iterators treat the start_object of the iterator as the root of a composition tree. The order of the tree traversal from that root is given by one of the selectors described below:
Table 5.72 — Traversal_Order values
|
Value |
Description |
|---|---|
|
BREADTH_FIRST |
The tree is to be traversed breadth first. |
|
DEPTH_FIRST |
The tree is to be traversed depth first. |
|
MOST_EFFICIENT |
The most efficient traversal order is to be used. |
Traversal_Order ::= (
< 1 : // implementation dependent and non-conforming,
1 : BREADTH_FIRST,
2 : DEPTH_FIRST,
3 : MOST_EFFICIENT,
[4..1000] : // reserved for future standardization,
> 1000 : // reserved for registration )
Table 5.73 defines the Underline_Style data type that specifies the type of underlining to be applied to the associated text.
The weight of an underline is determined by the width of the underline and typically varies according to font size and font style.
Table 5.73 — Underline_Style values
|
Value |
Description |
|---|---|
|
NONE |
The text is displayed without underlines. |
|
SINGLE |
The text is displayed with a single underline of normal weight. |
|
DOUBLE |
The text is displayed with a double underline of normal weight. |
|
BOLD_SINGLE |
The text is displayed with a single underline of increased weight. |
|
BOLD_DOUBLE |
The text is displayed with a double underline of increased weight. |
|
DASHED |
The text is displayed with a single dashed underline of normal weight. |
|
DOTTED |
The text is displayed with a single dotted underline of normal weight. |
Underline_Style ::=
(
< 1 : // implementation dependent and non-conforming,
1 : NONE,
2 : SINGLE,
3 : DOUBLE,
4 : BOLD_SINGLE,
5 : BOLD_DOUBLE,
6 : DASHED,
7 : DOTTED,
[8..1000] : // reserved for future standardization,
> 1000 : // reserved for registration )
Table 5.74 defines the Union_Reason data type that specifies the reason why a <DRM Union of Features> or <DRM Union of Geometry> instance was created.
Table 5.74 — Union_Reason values
|
Value |
Description |
|---|---|
|
CLASSIFIED_OBJECT |
The union instance has a component <DRM Classification Data> instance, and represents a single environmental object. |
|
COLLECTION_OF_CLASSIFIED_OBJECTS |
The union instance has a component <DRM Classification Data> instance, and represents a collection of environmental objects corresponding to the branches of the union such that the <DRM Classification Data> instance is inherited by each branch component. |
|
OTHER |
The union instance has no component <DRM Classification Data> instance. The reason for creating the union instance is unknown but shall directly represent an environmental object or collection of environmental objects. |
Union_Reason ::= (
< 1 : // implementation dependent and non-conforming,
1 : CLASSIFIED_OBJECT,
2 : COLLECTION_OF_CLASSIFIED_OBJECTS,
3 : OTHER,
[4..1000] : // reserved for future standardization,
> 1000 : // reserved for registration )
Table 5.75 defines the Unmatched_State_Behaviour data type that specifies what behavior should occur if the state_value field of a <DRM State Related Geometry> or <DRM State Related Features> instance does not match any of the state tags supplied in the corresponding state_entry_array entry of an instance of the State_Select_Parameters data type.
Table 5.75 — Unmatched_State_Behaviour values
|
Value |
Description |
|---|---|
|
NONE |
If no match is found, no action is taken. |
|
DEFAULT |
If no match is found, the default action is taken. |
|
ALL |
If no match is found, all specified actions are taken. |
Unmatched_State_Behaviour ::=
(
< 1 : // implementation dependent and non-conforming,
1 : NONE,
2 : DEFAULT,
3 : ALL,
[4..1000] : // reserved for future standardization,
> 1000 : // reserved for registration )
Table 5.76 defines the Variable_Code data type that specifies the meaning of some quantity being used to drive one of the controlling <DRM Expression> components of a <DRM Control Link> instance.
Table 5.76 — Variable_Code values
|
Value |
Description |
|---|---|
|
ACTIVE_STATE_VALUE |
Specifies, for the aggregating <DRM State Control Link> instance, the active_state_value field of the target <DRM State Related Features> and <DRM State Related Geometry> instances. |
|
COLOUR_COORDINATE_1 |
Specifies, for the aggregating concrete instance of a <DRM Control Link> subclass, the first colour coordinate of the target <DRM Colour Data> instance(s). |
|
COLOUR_COORDINATE_2 |
Specifies, for the aggregating concrete instance of a <DRM Control Link> subclass, the second colour coordinate of the target <DRM Colour Data> instance(s). |
|
COLOUR_COORDINATE_3 |
Specifies, for the aggregating concrete instance of a <DRM Control Link> subclass, the third colour coordinate of the target <DRM Colour Data> instance(s). |
|
COLOUR_INDEX |
Specifies, for the aggregating <DRM Colour Index Control Link> instance, the index field of the target <DRM Colour Index> instance(s). |
|
COLOUR_INTENSITY_LEVEL |
Specifies, for the aggregating <DRM Colour Index Control Link> instance, the third colour coordinate of the target <DRM Colour Index> instance(s). |
|
GEOMETRY_TEXTURE |
Used in specifying the texture of the object described by the <DRM Expression> instance of which the given <DRM Variable> instance is a part. |
|
HEAT_PRODUCTION |
Specifies the heat production status of the object described by the <DRM Expression> instance of which the given <DRM Variable> instance is a part. |
|
LIGHT_SOURCE_ACTIVE |
Specifies, for the aggregating <DRM Light Source Control Link> instance, the active field of the target <DRM Light Source> instance(s). |
|
LIGHT_RENDERING_PROPERTIES_ACTIVE |
Specifies, for the aggregating <DRM Light Rendering Properties Control Link> instance, the active field of the target <DRM Light Rendering Properties> instance(s). |
|
LIGHT_RENDERING_PROPERTIES_CANDELA_VALUE |
Specifies, for the aggregating <DRM Light Rendering Properties Control Link> instance, the candela_value field of the target <DRM Light Rendering Properties> instance(s). |
|
LSR_LOCATION_3D_U |
Specifies, for the aggregating <DRM LSR Location 3D Control Link> instance, the u field of the target <DRM LSR Location 3D> instance(s). |
|
LSR_LOCATION_3D_V |
Specifies, for the aggregating <DRM LSR Location 3D Control Link> instance, the v field of the target <DRM LSR Location 3D> instance(s). |
|
LSR_LOCATION_3D_W |
Specifies, for the aggregating <DRM LSR Location 3D Control Link> instance, the w field of the target <DRM LSR Location 3D> instance(s). |
|
POLYGON_FLAGS_COLLIDIBLE |
Specifies, for the aggregating <DRM Polygon Control Link> instance, the COLLIDIBLE flag of the target <DRM Polygon> instance(s). |
|
POLYGON_FLAGS_HAT_TEST |
Specifies, for the aggregating <DRM Polygon Control Link> instance, the HAT_TEST flag of the target <DRM Polygon> instance(s). |
|
POLYGON_FLAGS_INVISIBLE |
Specifies, for the aggregating <DRM Polygon Control Link> instance, the INVISIBLE flag of the target <DRM Polygon> instance(s). |
|
POLYGON_FLAGS_LASER_RANGE_FINDING |
Specifies, for the aggregating <DRM Polygon Control Link> instance, the LASER_RANGE_FINDING flag of the target <DRM Polygon> instance(s). |
|
PROPERTY_SET_INDEX |
Specifies, for the aggregating <DRM Property Set Index Control Link> instance, the index field of the target <DRM Property Set Index> instance(s). |
|
PROPERTY_TABLE_REFERENCE_INDEX_ON_AXIS |
Specifies, for the aggregating <DRM Property Table Reference Control Link> instance, the index_on_axis field of the target <DRM Property Table Reference> instance(s). |
|
REFERENCE_VECTOR_V0 |
Specifies, for the aggregating <DRM Reference Vector Control Link> instance, the first vector component of the vector field of the target <DRM Reference Vector> instance(s). |
|
REFERENCE_VECTOR_V1 |
Specifies, for the aggregating <DRM Reference Vector Control Link> instance, the second vector component of the vector field of the target <DRM Reference Vector> instance(s). |
|
REFERENCE_VECTOR_V2 |
Specifies, for the aggregating <DRM Reference Vector Control Link> instance, the third vector component of the vector field of the target <DRM Reference Vector> instance(s). |
|
ROTATION_ANGLE |
Specifies, for the aggregating <DRM Rotation Control Link> instance, the angle field of the target <DRM Rotation> instance(s). |
|
SCALE_AMOUNT |
Specifies, for the aggregating <DRM Scale Control Link> instance, the scale_amount field of the target <DRM Scale> instance(s). |
|
SOUND_INSTANCE_ACTIVE |
Specifies, for the aggregating <DRM Sound Instance Control Link> instance, the active field of the target <DRM Sound Instance> instance(s). |
|
TEXTURE_COORDINATE_S |
Specifies, for the aggregating <DRM Texture Coordinate Control Link> instance, the s field of the target <DRM Texture Coordinate> instance(s). |
|
TEXTURE_COORDINATE_T |
Specifies, for the aggregating <DRM Texture Coordinate Control Link> instance, the t field of the target <DRM Texture Coordinate> instance(s). |
|
TRANSLATION_AMOUNT |
Specifies, for the aggregating <DRM Translation Control Link> instance, the translation_amount field of the target <DRM Translation> instance(s). |
|
TRANSLUCENCY_VALUE |
Specifies, for the aggregating <DRM Translucency Control Link> instance, the translucency_value field of the target <DRM Translucency> instance(s). |
Variable_Code ::= (
< 1 : // implementation dependent and non-conforming,
1 : ACTIVE_STATE_VALUE,
2 : COLOUR_COORDINATE_1,
3 : COLOUR_COORDINATE_2,
4 : COLOUR_COORDINATE_3,
5 : COLOUR_INDEX,
6 : COLOUR_INTENSITY_LEVEL,
7 : GEOMETRY_TEXTURE,
8 : HEAT_PRODUCTION,
9 : LIGHT_SOURCE_ACTIVE,
10 : LIGHT_RENDERING_PROPERTIES_ACTIVE,
11 : LIGHT_RENDERING_PROPERTIES_CANDELA_VALUE,
12 : LSR_LOCATION_3D_X,
13 : LSR_LOCATION_3D_Y,
14 : LSR_LOCATION_3D_Z,
15 : POLYGON_FLAGS_COLLIDIBLE,
16 : POLYGON_FLAGS_HAT_TEST,
17 : POLYGON_FLAGS_INVISIBLE,
18 : POLYGON_FLAGS_LASER_RANGE_FINDING,
19 : PROPERTY_SET_INDEX,
20 : PROPERTY_TABLE_REFERENCE_INDEX_ON_AXIS,
21 : REFERENCE_VECTOR_V0,
22 : REFERENCE_VECTOR_V1,
23 : REFERENCE_VECTOR_V2,
24 : ROTATION_ANGLE,
25 : SCALE_AMOUNT,
26 : SOUND_INSTANCE_ACTIVE,
27 : TEXTURE_COORDINATE_S,
28 : TEXTURE_COORDINATE_T,
29 : TRANSLATION_AMOUNT,
30 : TRANSLUCENCY_VALUE,
[31..1000] : // reserved for future standardization,
> 1000 : // reserved for registration )
Table 5.77 defines the Volumetric_Shape data type that specifies the shape of volume extents.
Table 5.77 — Volumetric_Shape values
|
Value |
Description |
|---|---|
|
SPHERE |
The volume is in the shape of a sphere. |
|
CYLINDER |
The volume is in the shape of a cylinder. |
|
PARALLELEPIPED |
The volume is in the shape of a parallelepiped. |
Volumetric_Shape ::= (
< 1 : // implementation dependent and non-conforming,
1 : SPHERE,
2 : CYLINDER,
3 : PARALLELEPIPED,
[4..1000] : // reserved for future standardization,
> 1000 : // reserved for registration )
Set data types are used to indicate membership in a group of properties. Each set data type consists of a listing of the names that are members of the set. An instance of a set data type can consist of any combination of members but each member can only exist once in the set. Additional members to a set data type can be added by registration (see 4.21 Registration).
Table 5.78 defines the Display_Side data type that specifies which side or sides of a face should be displayed.
This data type is not applicable if backface culling is used.
Table 5.78— Display_Side values
|
Value |
Description |
|---|---|
|
FRONT |
The front side of a polygon face is displayed. |
|
BACK |
The back side of a polygon face is displayed. |
Display_Side ::= (
FRONT,
BACK )
Table 5.79 defines the Display_Style data type that specifies a style in which to render geometric objects.
Table 5.79 — Display_Style values
|
Value |
Description .. |
|---|---|
|
SOLID |
Only the faces specified by the Display_Side parameter of the <DRM Rendering Properties> instance are displayed. |
|
WIREFRAME |
Only the edges of polygons are displayed. |
Display_Style ::= (
SOLID,
WIREFRAME,
additional registered set members )
The General_Hierarchy_Order data types specifies, at a high level, whether any components of the given <DRM Aggregate Geometry> and <DRM Aggregate Feature> instances should be traversed in an ordered fashion.
If a type of object is not included in the set, the rest of the Hierarchy_Order_Parameter values for that type of object are ignored. Only if a type of object is included in the set are the Hierarchy_Order_Parameters values examined. The components of that object are traversed in the ordered specified by the Hierarchy_Order_Parameters of that type.
General_Hierarchy_Order ::= (
ALTERNATE_HIERARCHY,
CLASSIFICATION_RELATED,
LEVEL_OF_DETAIL_RELATED,
OCT_TREE_RELATED,
QUAD_TREE_RELATED,
SEPARATING_PLANE,
SPATIAL_INDEX_RELATED_GENERAL,
STATE_RELATED,
TIME_RELATED,
additional registered set members )
Table 5.80 defines the Polygon_Flags data type that specifies flags that are used to indicate the state or use of a polygon.
Table 5.80 — Polygon_Flag values
|
Flag |
Description |
|---|---|
| BACKDROP_GROUND | This flag specifies that this polygon is the default ground backdrop. |
| BACKDROP_SKY | This flag specifies that this polygon is the default sky backdrop. |
| CLUTTER_ENHANCED | This flag specifies that this polygon has algorithmically scattered model instances on it. |
| COLLIDIBLE | This flag specifies that this polygon is used for collision detection. If an object collides with this polygon, a collision state is set. |
| CONCAVE | This flag specifies that this polygon is concave. |
| CUT | This flag specifies that this polygon is cut below the terrain surface. These are normally derived from <DRM Linear Feature> instances, such as roads and rivers. |
| CUT_IMAGERY | This flag specifies that this polygon is to be used to cut geospecific imagery into the cultural features. |
| DECAL | This flag specifies that this polygon always has rendering priority above any other coplanar polygon. This flag will supercede the index value in the rendering priority index class. |
| DO_NOT_DRAPE | For conforming <DRM Polygon> instances (i. e., <DRM Polygon> instances specified using only <DRM LSR 2D Location> instances), a <DRM Polygon> instance usually drapes across the terrain, breaking into multiple polygons if the draped polygon crosses terrain facets. If this flag is set, the <DRM Polygon> instance is not draped and does not break at terrain facets. Instead, terrain facets are ignored. The <DRM Polygon> instance is simply specified by the locations of its conformed <DRM Vertex> instances. |
| ENABLE_FEATURE_SIZE_BLENDING | This flag specifies that feature-based blending is enabled for this polygon. Polygons that have this flag set will all blend (geometry and texture) simultaneously based on the size (radius) of the original feature from which the polygons were derived. |
| ENABLE_FRACTAL | This flag specifies that the face of this polygon is allowed to fractalize in real-time. This is used for sea states. |
| ENABLE_POLYGON_RANGE_BLENDING | This flag specifies that range ring blending is enabled for this polygon. Polygons that have this flag set will all blend (geometry and texture) at the same range (distance). |
| FOOTPRINT | This flag specifies that this polygon is a footprint for other geometry. |
| HAT_TEST | This flag specifies that this polygon is used for height above terrain tests. |
| INACTIVE | This flag specifies that this polygon is inactive, or not used. |
| INVISIBLE | This flag specifies that this polygon is invisible, or not seen. |
| LASER_RANGE_FINDING | This flag specifies that this polygon is used for horizontal tests. This flag is much like the HAT_TEST flag. Instead of testing in the vertical direction, this flag indicates the polygon is used in tests in the horizontal direction. |
| MOON_REFLECTION | This flag specifies that the moon reflection is to be generated upon this polygon. |
| OPAQUE_TOP | This flag is used with the RAISED flag to specify that this polygon is raised but also specifies that the top is opaque. |
| PROJECTILE_COLLIDIBLE | This flag specifies that this polygon is used for projectile collision detection. If a projectile collides with this polygon, a projectile collision state is set. |
| RAISED | This flag specifies that this polygon is a filling polygon above the terrain surface. These are normally derived from linear features such as roads. This flag also indicates that this polygon is raised above the terrain surface. These are normally derived from areal features such as forest canopies. |
| REFLECTIVE | This flag specifies that this polygon reflects light that is shown on it. |
| SHADOW | This flag specifies that this polygon is in a shadow. |
| SUN_ILLUMINATED | This flag specifies that this polygon is illuminated depending on the position of the sun. |
|
TERRAIN |
This flag specifies that the associated polygon is a terrain polygon. |
| VISIBLE_FLOOR | This flag is used with the RAISED flag to specify that this polygon is raised but also specifies that the floor is visible. |
| VISIBLE_INTERIOR | This flag is used with the RAISED flag to specify that this polygon is raised but also specifies that the interior wall is visible. |
| VISIBLE_PERIMETER | This flag is used with the RAISED flag to specify that this polygon is raised but also specifies that the perimeter wall is visible. |
|
WATER_BODY_SURFACE |
This flag specifies that this polygon is the surface of a body of water. This flag is used only when other polygons (e.g., lake bottom) are below it. |
Polygon_Flags ::= (
BACKDROP_GROUND,
BACKDROP_SKY,
CLUTTER_ENHANCED,
COLLIDIBLE,
CONCAVE,
CUT,
CUT_IMAGERY,
DECAL,
DO_NOT_DRAPE
ENABLE_FEATURE_SIZE_BLENDING,
ENABLE_FRACTAL,
ENABLE_POLYGON_RANGE_BLENDING,
FOOTPRINT,
HAT_TEST,
INACTIVE,
INVISIBLE,
LASER_RANGE_FINDING,
MOON_REFLECTION,
OPAQUE_TOP,
PROJECTILE_COLLIDIBLE,
RAISED,
REFLECTIVE,
SHADOW,
SUN_ILLUMINATED,
TERRAIN,
VISIBLE_FLOOR,
VISIBLE_INTERIOR,
VISIBLE_PERIMETER,
WATER_BODY_SURFACE,
// additional registered set members )
The Presentation_Domain data type specifies the intended use of a <DRM Colour>, a <DRM Colour Table>, or an instance of a <DRM Geometry Representation> subclass with an instance of <DRM Rendering Properties>.
Presentation_Domain ::= (
OTW,
IR_HI_BAND,
IR_LOW_BAND,
NVG,
DAY_TV_COLOUR,
DAY_TV_BW,
RADAR,
SAR,
THERMAL,
LOW_LIGHT_TV,
// additional registered set members )
Data types that are created from the basic fundamental data types are called structured fundamental data types. This mechanism provides support for arrays and lists of data types (both basic and structured) as well as data types that group several other data types into records.
Arrays specify an ordered set whose elements may be of any single data type. Arrays in this part of ISO/IEC 18023 are of one or two dimensions. Table 5.81 specifies the notation for arrays of the supported dimensions.
Table 5.81 — Array data type notation
|
One-dimensional arrays (lists): |
Data_Type_Name[l] |
|---|---|
|
Two-dimensional arrays: |
Data_Type_Name[l,w] |
The numbers l and w represent the size of the corresponding length and width dimension. Each dimensions shall be at least one. If the dimension is variable, an asterisk is used.
EXAMPLE 1 A data type for a variable length list of integers would be specified as:
Integer[*]
EXAMPLE 2 A 4×4 matrix of single-precision floating point numbers would be specified as:
Float[4,4]
The Matrix_3x3 data type specifies a two-dimensional array for 3×3 matrices.
Matrix_3x3 ::= Long_Float[3,3]
The Matrix_4x4 data type specifies a two-dimensional array for 4×4 matrices.
Matrix_4x4 ::= Long_Float[4,4]
The Direction data type specifies a one-dimensional array for three-element vectors.
Direction ::= Long_Float[3]
Data types that encompass a variety of information are called record data types. A record data type consists of a sequence of fundamental data types that together form one record of data. Each entry of a record data type can be of any of the fundamental data types including other record data types.
Invariant record data types are specified as follows:
record_data_type_name ::= {
field1_name field1_data_type; optional comment
field2_name field2_data_type; optional comment
• • •
fieldn_name fieldn_data_type; optional comment
}
Record data types that specify a sized array indicate the size of the array by placing the name of the size parameter within the brackets for the array type as follows:
record_data_type_name ::= {
size_name size_data_type; optional comment
array_name array_data_type[size_name]; optional comment
}
Multiple arrays may be sized using the same size parameter. The maximum allowed size for the array is the maximum that can be specified by the data type of the size parameter. Record data types containing unsized or self-sized data may be specified by using the [*] notation specified in 5.3.2 Array data types.
In some cases, the data types used in the record data type depend on a parameter to the record data type. Such record data types are called variant record data types. The variant parameter (also called the discriminant) shall be a fundamental integer, enumerated, or selection item data type. The variant value fields shall consist of one valid value of the variant data and one entry shall exist for each of the possible values. The set of variant fields is enclosed within leading and trailing square brackets.
Variant record data types are specified as follows:
record_data_type_name ::= ( variant_name variant_data_type) {
invariant_field1_name invariant_field1_data_type; optional comment
• • •
invariant_fieldi_name invariant_fieldi_data_type; optional comment
[ variant_value1 : field1_name field1_data_type; optional comment
variant_value2 : field2_name field2_data_type; optional comment
• • •
variant_valuen : fieldn_name fieldn_data_type; optional comment
]
invariant_fieldp_name invariant_fieldp_data_type; optional comment
• • •
invariant_fieldz_name invariant_fieldz_data_type; optional comment
}
The Absolute_Time_Fields data type encapsulates the field elements of the <DRM Absolute Time> class.
Absolute_Time_Fields ::= {
time_significance Time_Significance;
time_value Time_Value;
}
The Absolute_Time_Interval data type specifies a time interval based on an absolute time specification.
Absolute_Time_Interval_Entry ::= {
reference_time_point Absolute_Time_Fields;
absolute_interval Absolute_Time_Interval_Fields;
}
The Absolute_Time_Interval_Fields data type encapsulates the field elements of the <DRM Absolute Time Interval> class.
The allowable range for hour is 0..23. The allowable range for minutes is 0..59. The normal allowable range for seconds is [0,0..60,0). During the time in which a leap second has been declared or authorized, the allowable range is [0,0..61,0).
Absolute_Time_Interval_Fields ::= {
time_significance Time_Significance;
delta_days Integer;
delta_hours Byte_Unsigned;
delta_minutes Byte_Unsigned;
delta_seconds Long_Float;
}
The Access_Fields data type encapsulates the field elements of the <DRM Access> class.
Access_Fields ::= {
access_constraints MD_RestrictionCode;
use_constraints MD_RestrictionCode;
other_constraints
String;
security MD_SecurityConstraints;
use_limitation
String;
}
The Address data type specifies the elements of address metadata.
Address ::= {
delivery_point_count
Short_Integer_Positive;
delivery_point String[delivery_point_count];
city String;
administrative_area String;
postal_code Character[3];
country String;
email_address_count
Short_Integer_Positive;
email_address
String[email_address_count];
}
The Aggregate_Feature_Fields data type encapsulates the field elements of the <DRM Aggregate Feature> class.
Aggregate_Feature_Fields ::= {
unique_descendants Boolean;
strict_organizing_principle Boolean;
}
The Aggregate_Geometry_Fields data type encapsulates the field elements of the <DRM Aggregate Geometry> class.
Aggregate_Geometry_Fields ::= {
unique_descendants Boolean;
strict_organizing_principle Boolean;
}
The Alternate_Hierarchy_Parameters data type specifies hierarchical search criteria.
The array members shall be distinct.
When used within a Hierarchy_Select_Parameters record, this data type selects which branches to traverse from a <DRM Alternate Hierarchy Related Features> object or <DRM Alternate Hierarchy Related Geometry> object when encountered by a component iterator. All branches that have a link object whose field values match one of the entries contained in this record will be traversed.
When used within a Hierarchy_Order_Parameters record, this data type controls the traversal order of the branches from a <DRM Alternate Hierarchy Related Features> or <DRM Alternate Hierarchy Related Geometry> object when encountered by a component iterator. For the set of branches that will be traversed, the order of that traversal will be specified by the feature_hierarchy_data_array or geometry_hierarchy_data_array as appropriate in this structure. Any occurrences of branches that are traversed but are not mentioned in this traversal order array shall be traversed in a random order after all of the branches that are mentioned in this array are traversed.
Additional information is available in the <DRM Alternate Hierarchy Related Features>, <DRM Alternate Hierarchy Related Geometry>, <DRM Hierarchy Data> DRM classes.
Alternate_Hierarchy_Parameters ::= {
hierarchy_data_count Integer_Unsigned
hierarchy_data_array Hierarchy_Data_Fields[hierarchy_data_count];
}
The Alternate_Hierarchy_Related_Features_Fields data type encapsulates the field elements of the <DRM Alternate Hierarchy Related Features> class.
Alternate_Hierarchy_Related_Features_Fields ::= {
unique_descendants Boolean;
strict_organizing_principle Boolean;
}
The Alternate_Hierarchy_Related_Geometry_Fields data type encapsulates the field elements of the <DRM Alternate Hierarchy Related Geometry> class.
Alternate_Hierarchy_Related_Geometry_Fields
::= {
unique_descendants Boolean;
strict_organizing_principle Boolean;
}
The Animation_Behaviour_Fields data type encapsulates the field elements of the <DRM Animation Behaviour> class.
Animation_Behaviour_Fields ::= {
period Long_Float;
count Short_Integer_Unsigned;
forward_sequence_mode Boolean;
beginning_frame Short_Integer_Positive;
ending_frame Short_Integer_Positive;
random_beginning_frame Boolean;
}
The Animation_Range data type specifies a single range of animation frames to be traversed from an <DRM Animation Related Geometry>.
The ending_frame of a range shall be greater than or equal to the beginning_frame of that range.
Animation_Range ::= {
beginning_frame Short_Integer_Unsigned;
ending_frame Short_Integer_Unsigned;
}
The Animation_Related_Geometry_Fields data type encapsulates the field elements of the <DRM Animation Related Geometry> class.
Animation_Related_Geometry_Fields ::= {
unique_descendants Boolean;
strict_organizing_principle Boolean;
}
The Animation_Select_Parameters data type specifies which branches to traverse from a <DRM Animation Related Geometry> object when encountered by a component iterator.
Each branch of an <DRM Animation Related Geometry> is considered to be a frame of the animation. The frames are ordered, and this ordering is used to implicitly number the frames from 1 to n. The animation_ranges_array is an array of beginning_frames and ending_frames. For each range specified, the frames from that range’s beginning_frame to that range’s ending_frame will be traversed. The ordering of beginning_frame to ending_frame is imposed by the data producer.
Animation_Select_Parameters ::=
{
ranges_count Integer_Unsigned;
animation_ranges_array Animation_Range[ranges_count];
}
The Any_Enumerated_Or_Selection_Value variant record data type specifies an arbitrary enumerated or selection value that may be contained in the fields of a DRM class instance.
This value is used in searches.
Any_Enumerated_Value ::= (selected_enumeration Enumerated_Or_Selection_Type) {
[
NULL_TYPE: null_type Short_Integer_Unsigned;
AXIS_ALIGNMENT: axis_alignment Axis_Alignment;
CAMERA_PROJECTION_TYPE: camera_projection_type Camera_Projection_Type;
COLOUR_BINDING: colour_binding Colour_Binding;
COLOUR_MAPPING: colour_mapping Colour_Mapping;
COLOUR_MODEL: colour_model Colour_Model;
DISPLAY_TYPE: display_type Display_Type;
DRM_CLASS: drm_class DRM_Class;
FEATURE_UNION_REASON: feature_union_reason Feature_Union_Reasons;
GRID_OVERLAP_OPERATOR: grid_overlap_operator Grid_Overlap_Operator;
IMAGE_COMPONENT: image_component Image_Component;
IMAGE_MAPPING_METHOD: image_mapping_method Image_Mapping_Method;
IMAGE_PROJECTION_TYPE: image_projection_type Image_Projection_Type;
IMAGE_SCAN_DIRECTION: image_scan_direction Image_Scan_Direction;
IMAGE_SCAN_DIRECTION_Z: image_scan_direction_z Image_Scan_Direction_Z;
IMAGE_SIGNATURE: image_signature Image_Signature;
IMAGE_WRAP: image_wrap Image_Wrap;
INTERPOLATION_TYPE: interpolation_type Interpolation_Type;
LOD_DATA_TYPE: lod_data_type LOD_Data_Type;
LOOKUP_SIGNATURE: lookup_signature Lookup_Signature;
LOOKUP_TYPE: lookup_type Lookup_Type;
LSR_TRANSFORMATION_AXIS: lsr_transformation_axis LSR_Transformation_Axis;
MODEL_REFERENCE_TYPE: model_reference_type Model_Reference_Type;
MONTH: month Month;
MULTIPLICITY_CODE: multiplicity_code Multiplicity_Code;
OCTANT: octant Octant;
ORDERING_REASON: ordering_reason Ordering_Reason;
PIXEL_FILL_METHOD: pixel_fill_method Pixel_Fill_Method;
PRESPECIFIED_FUNCTION: prespecified_function Prespecified_Function;
PRESENT_IN: present_in Present_In;
PROPERTY_DATA_VALUE_TYPE: property_data_value_type Property_Data_Value_Type;
QUADRANT: quadrant Quadrant;
REFERENCE_VECTOR_TYPE: reference_vector_type Reference_Vector_Type;
REFERENCE_SURFACE_ELEVATION_SELECT:
reference_surface_elevation_select
Reference_Surface_Elevation_Select;
REFERENCE_SURFACE_LOD_SELECT:
reference_surface_lod_select
Reference_Surface_LOD_Select;
SEASON: season Season;
SHADING_METHOD: shading_method Shading_Method;
SPACING_TYPE: spacing_type Spacing_Type;
SPATIAL_INDEX_SPACING_UNIT:
spatial_index_spacing_unit
Spatial_Index_Spacing_Unit;
STATE_MISMATCH_BEHAVIOUR: state_mismatch_behaviour State_Mismatch_Behaviour;
TIME_DATA_TYPE: time_data_type Time_Data_Type;
TIME_OF_DAY: time_of_day Time_Of_Day;
TIME_SIGNIFICANCE: time_significance Time_Significance;
]}
The Any_Search_Value variant record data type specifies one of the values of available data types that can be used for search controls.
Any_Search_Value ::= (type_of_value Search_Value_Type) {
[
BOOLEAN: boolean_value Boolean;
BYTE: byte_value Byte;
SHORT_INTEGER: short_integer_value Short_Integer;
INTEGER: integer_value Integer;
BYTE_POSITIVE: byte_positive_value Byte_Positive;
SHORT_INTEGER_POSITIVE: short_integer_positive_value Short_Integer_Positive;
INTEGER_POSITIVE: integer_positive_value Integer_Positive;
BYTE_UNSIGNED: byte_unsigned_value Byte_Unsigned;
SHORT_INTEGER_UNSIGNED: short_integer_unsigned_value Short_Integer_Unsigned;
INTEGER_UNSIGNED: integer_unsigned_value Integer_Unsigned;
FLOAT: float_value Float;
LONG_FLOAT: long_float_value Long_Float;
ENUMERATED: any_enumerated_or_selection_value
Any_Enumerated_Or_Selection_Value;
STRING: string_value String;
]}
The Arc_Fields data type encapsulates the field elements of the <DRM Arc> class.
Arc_Fields ::= {
count Short_Integer_Unsigned;
suppress_last Boolean;
}
The Axis_Fields data type encapsulates the field elements of the <DRM Axis> class.
Axis_Fields ::= {
axis_type EDCS_Attribute_Code;
axis_value_count Short_Integer_Positive;
}
The AZ_2D_Location_Fields data type encapsulates the field elements of the <DRM AZ 2D Location> class.
AZ_2D_Location_Fields ::= {
coordinate Euclidean_2D_Coordinate;
}
The Base_Positional_Light_Fields data type encapsulates the field elements of the <DRM Base Positional Light> class.
Base_Positional_Light_Fields ::= {
apply_to_children Boolean;
override_positional_lights Boolean;
override_infinite_lights Boolean;
active_light_value Boolean;
radius Float;
constant_attenuation_factor Long_Float;
linear_attenuation_factor Long_Float;
quadratic_attenuation_factor Long_Float;
}
This data type encapsulates the field elements of the <DRM Base Spatial Association Data> class.
Base_Spatial_Association_Data_Fields ::= {
meaning
Spatial_Association_Meaning_Type;
}
This data type encapsulates the field elements of the <DRM Base Summary Item> class.
Base_Summary_Item_Fields ::= {
drm_class DRM_Class;
}
This data type encapsulates the field elements of the <DRM Base Time Data> class.
Base_Time_Data_Fields ::= {
time_significance Time_Significance;
}
This data type encapsulates the field elements of the <DRM Blend Directional Light> class.
Blend_Directional_Light_Fields ::= {
upper_plane_angular_offset Long_Float;
lower_plane_angular_offset Long_Float;
}
This data type encapsulates the field elements of the <DRM Browse Media> class.
Browse_Media_Fields ::= {
name String;
media_format
Media_Format;
media_urn URN;
description String;
}
The Camera_Point_Fields data type encapsulates the field elements of the <DRM Camera Point> class.
Camera_Point_Fields ::= {
projection Camera_Projection_Type;
camera_near Long_Float;
camera_far Long_Float;
use_left_right_bottom_top Boolean;
left Long_Float;
bottom Long_Float;
top Long_Float;
right Long_Float;
horizontal_field_of_view Long_Float;
aspect_ratio Long_Float;
}
The CC_3D_Location_Fields data type encapsulates the field elements of the <DRM CC 3D Location> class.
CC_3D_Location_Fields ::= {
coordinate Euclidean_3D_Coordinate;
}
The CD_3D_Coordinate data type specifies a 3D coordinate in the CD spatial reference frame. It is defined in ISO/IEC 18026.
The CD_3D_Location_Fields data type encapsulates the field elements of the <DRM CD 3D Location> class.
CD_3D_Location_Fields ::= {
coordinate CD_3D_Coordinate;
}
The CD_Surface_Coordinate data type specifies a surface coordinate in the CD spatial reference frame. It is defined in ISO/IEC 18026.
The CD_Surface_Location_Fields data type encapsulates the field elements of the <DRM CD Surface Location> class.
CD_Surface_Location_Fields ::= {
coordinate CD_Surface_Coordinate;
}
The CI_OnlineResource data type specifies the means to access an on-line repository of information. This data type is defined in A.3.2 of ISO/IEC 19115.
The Citation_Fields data type encapsulates the field elements of the <DRM Citation> class.
Citation_Fields ::= {
title String;
edition String;
series_name String;
issue_identification String;
other_citation_details String;
}
The Classification_Data_Fields data type encapsulates the field elements of the <DRM Classification Data> class.
Classification_Data_Fields ::= {
tag EDCS_Classification_Code;
}
The Classification_Entry data type specifies a single entry in the data provided by the Classification_Parameter data type.
Classification_Entry ::= {
class_data Classification_Data_Fields;
property_value_count Integer_Unsigned;
property_value_array Property_Value_Fields[property_value_count];
}
The Classification_Parameter data type specifies hierarchical search criteria.
The array members shall be distinct.
When used within a Hierarchy_Select_Parameters record, this data type is used to select which branches to traverse from a <DRM Classification Related Features> or <DRM Classification Related Geometry> object when encountered by a component iterator. All branches with a link object containing a classification tag listed in the given classification_array will be traversed.
When used within a Hierarchy_Order_Parameters record, this data type controls the traversal order of the branches from a <DRM Classification Related Features> or <DRM Classification Related Geometry> object when encountered by a component iterator. Any “types” of branches that are traversed but are not mentioned in this traversal order array will be traversed in a random order after all of the branches that are mentioned in this array are traversed.
Classification_Parameters ::= {
classification_count Integer_Unsigned;
classification_array Classification_Entry[classification_count];
}
The Classification_Related_Feature_Fields data type encapsulates the field elements of the <DRM Classification Related Features> class.
Classification_Related_Features_Fields ::= {
unique_descendants Boolean;
strict_organizing_principle Boolean;
}
The Classification_Related_Geometry_Fields data type encapsulates the field elements of the <DRM Classification Related Geometry> class.
Classification_Related_Geometry_Fields ::= {
unique_descendants Boolean;
strict_organizing_principle Boolean;
}
The CM_3D_Location_Fields data type encapsulates the field elements of the <DRM CM 3D Location> class.
CM_3D_Location_Fields ::= {
coordinate Spherical_3D_Coordinate;
}
The CMY_Colour_Control_Link_Fields data type encapsulates the field elements of the <DRM CMY Colour Control Link> class.
CMY_Colour_Control_Link_Fields ::= {
description String;
cyan_expression_index Integer_Unsigned;
magenta_expression_index Integer_Unsigned;
yellow_expression_index Integer_Unsigned;
}
The CMY_Colour_Fields data type encapsulates the field elements of the <DRM CMY_Colour> class.
CMY_Colour_Fields ::= {
cmy_data CMY_Data;
}
The CMY_Data data type specifies colour data using the CMY colour model.
The allowable range for each colour component is [0,0..1,0].
CMY_Data ::= {
cyan Long_Float;
magenta Long_Float;
yellow Long_Float;
}
The CMYK_Data data type specifies colour data using the CMYK colour model.
The allowable range for each colour component is [0,0..1,0].
CMYK_Data ::= {
cyan Long_Float;
magenta Long_Float;
yellow Long_Float;
black Long_Float;
}
The Colour_Fields data type encapsulates the field elements of the <DRM Colour> class.
Colour_Fields ::= {
colour_mapping Colour_Mapping;
}
The Colour_Index_Control_Link_Fields data type encapsulates the field elements of the <DRM Colour Index Control Link> class.
Colour_Index_Control_Link_Fields
::= {
description String;
colour_index Integer_Unsigned;
intensity_level_index Integer_Unsigned;
}
The Colour_Index_Fields data type encapsulates the field elements of the <DRM Colour_Index> class.
Colour_Index_Fields ::= {
colour_mapping Colour_Mapping;
index Integer_Positive;
intensity_level Long_Float;
}
The Colour_Shininess_Fields data type encapsulates the field elements of the <DRM Colour Shininess> class.
Colour_Shininess_Fields ::= {
shininess Long_Float;
}
The Colour_Table_Group_Fields data type encapsulates the field elements of the <DRM Colour Table Group> class.
Colour_Table_Group_Fields ::= {
primary_table_index Integer_Positive;
table_size Integer_Positive;
}
The Cone_Directional_Light_Fields data type encapsulates the field elements of the <DRM Cone Directional Light> class.
Cone_Directional_Light_Fields ::= {
has_plane Boolean;
plane_angular_offset Long_Float;
use_full_intensity Boolean;
minimum_colour_intensity Long_Float;
invisible_behind Boolean;
}
The Conformal_Behaviour_Fields data type encapsulates the field elements of the <DRM Conformal Behaviour> class.
Conformal_Behaviour_Fields ::= {
parallel_gravity Boolean;
offset_distance Float;
}
The Contact_Information data type encapsulates the complete set of contact metadata used by <DRM Responsible Party>.
Contact_Information ::= {
voice_phone String;
fax_phone String;
tdd_tty_phone String;
address Address;
online_resource CI_OnlineResource;
hours_of_service String;
contact_instructions String;
}
The Continuous_LOD_Related_Geometry_Fields data type encapsulates the field elements of the <DRM Continuous LOD Related Geometry> class.
Continuous_LOD_Related_Geometry_Fields ::= {
unique_descendants Boolean;
strict_organizing_principle Boolean;
terminating_node Boolean;
}
The Continuous_LOD_Select_Parameters data type specifies which branches to traverse from a <DRM Continuous Level of Detail Related Geometry> object when encountered by a component iterator as directed by the select_parameters parameter of the InitializeComponentIterator function.
Continuous_LOD_Select_Parameters ::= {
continous_lod_choice Continuous_LOD_Select_Choice;
}
The Control_Link_Fields data type encapsulates the field elements of the <DRM Control Link> class.
Control_Link_Fields ::= {
description String;
}
The Count_Interval_Value variant record data type specifies a count interval value for the type of interval determined by interval_type.
Count_Interval_Value ::= (interval_type
Interval_Type) {
[
OPEN_INTERVAL: open_value EDCS_Count_Interval;
GE_LT_INTERVAL: ge_lt_interval_value EDCS_Count_Interval;
GT_LE_INTERVAL: gt_le_interval_value EDCS_Count_Interval;
CLOSED_INTERVAL: closed_interval_value
EDCS_Count_Interval;
GT_SEMI_INTERVAL: gt_semi_interval_value EDCS_Count;
GE_SEMI_INTERVAL: ge_semi_interval_value EDCS_Count;
LT_SEMI_INTERVAL: lt_sem_interval_value EDCS_Count;
LE_SEMI_INTERVAL: le_semi_interval_value EDCS_Count;
]}
The Cross_Reference_Fields data type encapsulates the field elements of the <DRM Cross Reference> class.
Cross_Reference_Fields ::= {
relationship String;
}
The Cylindrical_Volume_Extent_Entry data type specifies a cylindrical <DRM Volume Level Of Detail Data>.
Cylindrical_Volume_Extent_Entry ::= {
cylinder Cylindrical_Volume_Extent_Fields;
reference_vectors Reference_Vector_Fields[2];
}
The Cylindrical_Volume_Extent_Fields data type encapsulates the field elements of the <DRM Cylindrical Volume Extent> class.
Cylindrical_Volume_Extent_Fields ::= {
major_axis_radius Long_Float;
minor_axis_radius Long_Float;
cylinder_length Long_Float;
}
The Data_Quality_Element data type specifies the components of each piece of data quality information.
The data_time field shall be formed as specified in ISO 8601 (see 2.[I8601]).
Data_Quality_Element ::= {
name_of_measure String;
measure_identification String;
measure_description String;
evaluation_method_type String;
evaluation_method_description String;
evaluation_procedure String;
data_time String;
result String;
}
The Data_Quality_Fields data type encapsulates the field elements of the <DRM Data Quality> class.
Data_Quality_Fields ::= {
fictional Boolean;
property_accuracy Data_Quality_Element;
logical_consistency Data_Quality_Element;
completeness Data_Quality_Element;
absolute_horizontal_positional_accuracy Data_Quality_Element;
relative_horizontal_positional_accuracy Data_Quality_Element;
absolute_vertical_positional_accuracy Data_Quality_Element;
relative_vertical_positional_accuracy Data_Quality_Element;
}
The Data_Table_Data variant record data type specifies the data processed by the API functions GetDataTableData and PutDataTableData.
Data_Table_Data ::= (value_type
Data_Table_Data_Value_Type) {
table_property_description_index Integer_Positive;
data_count Integer_Positive;
[ SINGLE_LONG_FLOAT:
single_long_float_values EDCS_Long_Float[data_count];
LONG_FLOAT:
long_float_values EDCS_Long_Float_Value[data_count];
SINGLE_INTEGER:
single_integer_values
EDCS_Integer[data_count];
INTEGER:
integer_values EDCS_Integer_Value[data_count>];
SINGLE_COUNT:
single_count_values
EDCS_Count[data_count];
COUNT:
count_values EDCS_Count_Value[data_count];
INDEX:
index_values EDCS_Count[data_count];
STRING:
string_values EDCS_String[data_count];
CONSTRAINED_STRING:
constrained_string_values EDCS_String[data_count];
KEY:
key_values EDCS_String[data_count];
ENUMERATION:
enumeration_values EDCS_Enumerant_Code[data_count];
BOOLEAN:
boolean_values EDCS_Boolean[data_count];
INDEX_CODE:
index_code_values
Integer_Unsigned[data_count];
]
}
The Data_Table_Extents data type specifies the portion of a <DRM Data Table> instance that is to be accessed.
Data_Table_Extents ::= {
axes_count Short_Integer_Unsigned;
axes_bounds Index_Range[axes_count];
}
The Description_Fields data type encapsulates the field elements of the <DRM Description> class.
Description_Fields ::= {
abstract String;
purpose String;
credit_count Short_Integer_Unsigned;
credit
String[credit_count]
supplemental_information
String;
}
The Distance_LOD_Data_Fields data type encapsulates the field elements of the <DRM Distance LOD Data> class.
Distance_LOD_Data_Fields ::= {
minimum_range Long_Float;
minimum_fade_band Long_Float;
maximum_range Long_Float;
maximum_fade_band Long_Float;
}
The DRM_Class_Fields variant record data type specifies the field values for the DRM class identified by drm_class.
DRM_Class_Fields ::= (drm_class DRM_Class ) {
[
NULL:
DRM_AMBIENT_COLOUR:
DRM_AREAL_FEATURE:
DRM_ATTACHMENT_POINT:
DRM_BASE_ASSOCIATION_DATA:
DRM_BASE_LOD_DATA:
DRM_BOUNDING_VOLUME:
DRM_COLLISION_VOLUME:
DRM_COLOUR_DATA:
DRM_COLOUR_TABLE:
DRM_COLOUR_TABLE_LIBRARY:
DRM_CONTACT_POINT:
DRM_DATA_TABLE:
DRM_DATA_TABLE_LIBRARY:
DRM_DIFFUSE_COLOUR:
DRM_DIRECTIONAL_LIGHT_BEHAVIOUR:
DRM_EMISSIVE_COLOUR:
DRM_EXPRESSION:
DRM_FEATURE_EDGE:
DRM_FEATURE_FACE_RING:
DRM_FEATURE_MODEL:
DRM_FEATURE_MODEL_INSTANCE:
DRM_FEATURE_NODE:
DRM_FEATURE_REPRESENTATION:
DRM_FEATURE_TOPOLOGY:
DRM_FEATURE_VOLUME:
DRM_FINITE_ELEMENT_MESH:
DRM_GEOMETRY_EDGE:
DRM_GEOMETRY_FACE:
DRM_GEOMETRY_HIERARCHY:
DRM_GEOMETRY_MODEL:
DRM_GEOMETRY_MODEL_INSTANCE:
DRM_GEOMETRY_NODE:
DRM_GEOMETRY_REPRESENTATION:
DRM_GEOMETRY_TOPOLOGY:
DRM_GEOMETRY_VOLUME:
DRM_ICON:
DRM_IMAGE_LIBRARY:
DRM_LABEL:
DRM_LIBRARY:
DRM_LIGHT_RENDERING_BEHAVIOUR:
DRM_LINEAR_FEATURE:
DRM_LOCATION:
DRM_LOCATION_2D:
DRM_LOCATION_3D:
DRM_LOCATION_SURFACE:
DRM_LSR_TRANSFORMATION:
DRM_LSR_TRANSFORMATION_STEP:
DRM_MODEL_LIBRARY:
DRM_PERIMETER_DATA:
DRM_POINT:
DRM_POINT_FEATURE:
DRM_POLYHEDRON:
DRM_PRIMITIVE_COLOUR:
DRM_PRIMITIVE_FEATURE:
DRM_PRIMITIVE_GEOMETRY:
DRM_PROPERTY_GRID_HOOK_POINT:
DRM_PROPERTY_SET:
DRM_PROPERTY_SET_TABLE_LIBRARY:
DRM_PROPERTY_TABLE:
DRM_SEDRIS_ABSTRACT_BASE:
DRM_SEPARATING_PLANE:
DRM_SEPARATING_PLANE_RELATIONS:
DRM_SOUND_LIBRARY:
DRM_SOUND_VOLUME:
DRM_SPATIAL_EXTENT:
DRM_SPECULAR_COLOUR:
DRM_SURFACE_GEOMETRY:
DRM_SYMBOL_LIBRARY:
DRM_TACK_POINT:
DRM_TIME_CONSTRAINTS_DATA:
DRM_TRANSFORMATION:
DRM_TWINKLING_LIGHT_BEHAVIOUR:
DRM_VERTEX:
DRM_VOLUME:
DRM_VOLUME_EXTENT:
DRM_VOLUME_GEOMETRY:
DRM_VOLUME_OBJECT:
DRM_VOLUMETRIC_FEATURE:
DRM_WORLD_TRANSFORMATION:
unused_fields Unused_Fields;
DRM_ABSOLUTE_TIME:
absolute_time_fields Absolute_Time_Fields;
DRM_ABSOLUTE_TIME_INTERVAL:
absolute_time_interval_fields Absolute_Time_Interval_Fields;
DRM_ACCESS:
access_fields Access_Fields;
DRM_AGGREGATE_FEATURE:
aggregate_feature_fields Aggregate_Feature_Fields;
DRM_AGGREGATE_GEOMETRY:
aggregate_geometry_fields Aggregate_Geometry_Fields;
DRM_ALTERNATE_HIERARCHY_RELATED_FEATURES:
alternate_hierarchy_related_feature_fields
Alternate_Hierarchy_Related_Features_Fields;
DRM_ALTERNATE_HIERARCHY_RELATED_GEOMETRY:
alternate_hierarchy_related_geometry_fields
Alternate_Hierarchy_Related_Geometry_Fields;
DRM_ANIMATION_BEHAVIOUR:
animation_behaviour_fields Animation_Behaviour_Fields;
DRM_ANIMATION_RELATED_GEOMETRY:
animation_related_geometry_fields Animation_Related_Geometry_Fields;
DRM_ARC:
arc_fields Arc_Fields;
DRM_AXIS:
axis_fields Axis_Fields;
DRM_AZ_2D_LOCATION:
az_2D_location_fields
AZ_2D_Location_Fields;
DRM_BASE_POSITIONAL_LIGHT:
base_positional_light_fields Base_Positional_Light_Fields;
DRM_BASE_SPATIAL_ASSOCIATION_DATA:
base_spatial_association_data
Base_Spatial_Association_Data_Fields;
DRM_BASE_SUMMARY_ITEM:
base_summary_item_fields Base_Summary_Item_Fields;
DRM_BASE_TIME_DATA:
base_time_data_fields Base_Time_Data_Fields;
DRM_BLEND_DIRECTIONAL_LIGHT:
blend_directional_light_fields Blend_Directional_Light_Fields;
DRM_BROWSE_MEDIA:
browse_media_fields Browse_Media_Fields;
DRM_CAMERA_POINT:
camera_point_fields Camera_Point_Fields;
DRM_CC_3D_LOCATION:
cc_3D_location_fields CC_3D_Location_Fields;
DRM_CD_3D_LOCATION:
cd_3D_location_fields CD_3D_Location_Fields;
DRM_CD_SURFACE_LOCATION:
cd_surface_location_fields CD_Surface_Location_Fields;
DRM_CITATION:
citation_fields Citation_Fields;
DRM_CLASSIFICATION_DATA:
classification_data_fields Classification_Data_Fields;
DRM_CLASSIFICATION_RELATED_FEATURES:
classification_related_features_fields Classification_Related_Features_Fields;
DRM_CLASSIFICATION_RELATED_GEOMETRY:
classification_related_geometry_fields Classification_Related_Geometry_Fields;
DRM_CM_3D_LOCATION:
cm_3D_location_fields CM_3D_Location_Fields;
DRM_CMY_COLOUR:
cmy_colour_fields CMY_Colour_Fields;
DRM_CMY_COLOUR_CONTROL_LINK:
cmy_colour_control_link_fields CMY_Colour_Control_Link_Fields;
DRM_COLOUR:
colour_fields Colour_Fields;
DRM_COLOUR_INDEX:
colour_index_fields Colour_Index_Fields;
DRM_COLOUR_INDEX_CONTROL_LINK:
colour_index_control_link_fields Colour_Index_Control_Link_Fields;
DRM_COLOUR_SHININESS:
colour_shininess_fields Colour_Shininess_Fields;
DRM_COLOUR_TABLE_GROUP:
colour_table_group_fields Colour_Table_Group_Fields;
DRM_CONE_DIRECTIONAL_LIGHT:
cone_directional_light_fields Cone_Directional_Light_Fields;
DRM_CONFORMAL_BEHAVIOUR:
conformal_behaviour_fields Conformal_Behaviour_Fields;
DRM_CONTINUOUS_LOD_RELATED_GEOMETRY:
continuous_lod_related_geometry_fields Continuous_LOD_Related_Geometry_Fields;
DRM_CONTROL_LINK:
control_link_fields Control_Link_Fields;
DRM_CROSS_REFERENCE:
cross_reference_fields Cross_Reference_Fields;
DRM_CYLINDRICAL_VOLUME_EXTENT:
cylindrical_volume_extent_fields Cylindrical_Volume_Extent_Fields;
DRM_DATA_QUALITY:
data_quality_fields Data_Quality_Fields;
DRM_DESCRIPTION:
description_fields Description_Fields;
DRM_DISTANCE_LOD_DATA:
distance_lod_data_fields Distance_LOD_Data_Fields;
DRM_DRM_CLASS_SUMMARY_ITEM::
drm_class_summary_item_fields DRM_Class_Summary_Item_Fields;
DRM_EC_AUGMENTED_3D_LOCATION:
ec_augmented_3D_location_fields EC_Augmented_3D_Location_Fields;
DRM_EC_SURFACE_LOCATION:
ec_surface_location_fields EC_Surface_Location_Fields;
DRM_EDCS_USE_SUMMARY_ITEM:
edcs_use_summary_item_fields EDCS_Use_Summary_Item_Fields;
DRM_EDGE_DIRECTION:
edge_direction_fields Edge_Direction_Fields;
DRM_EI_3D_LOCATION:
ei_3D_location_fields EI_3D_Location_Fields;
DRM_ELLIPSE:
ellipse_fields Ellipse_Fields;
DRM_ENUMERATION_AXIS:
enumeration_axis_fields Enumeration_Axis_Fields;
DRM_ENVIRONMENT_ROOT:
environment_root_fields Environmental_Root_Fields;
DRM_ENVIRONMENTAL_DOMAIN_SUMMARY:
environmental_domain_summary_fields Environmental_Domain_Summary_Fields;
DRM_FACE_DIRECTION:
face_direction_fields Face_Direction_Fields;
DRM_FADE_RANGE:
fade_range_fields Fade_Range_Fields;
DRM_FEATURE_FACE:
feature_face_fields Feature_Face_Fields;
DRM_FEATURE_HIERARCHY:
feature_hierarchy_fields Feature_Hierarchy_Fields;
DRM_FEATURE_TOPOLOGY_HIERARCHY:
feature_topology_hierarchy_fields Feature_Topology_Hierarchy_Fields;
DRM_FEATURE_VOLUME_SHELL:
feature_volume_shell_fields
Feature_Volume_Shell_Fields;
DRM_FLASHING_LIGHT_BEHAVIOUR:
flashing_light_behaviour_fields Flashing_Light_Behaviour_Fields;
DRM_FUNCTION:
function_fields Function_Fields;
DRM_FUNCTIONAL_ASSOCIATION_DATA:
functional_association_data_fields
Functional_Association_Data_Fields;
DRM_GEOMETRIC_CENTRE:
geometric_centre_fields Geometric_Centre_Fields;
DRM_GEOMETRY_TOPOLOGY_HIERARCHY:
geometry_topology_hierarchy_fields Geometry_Topology_Hierarchy_Fields;
DRM_GRID_OVERLAP:
grid_overlap_fields Grid_Overlap_Fields;
DRM_HAEC_3D_LOCATION:
haec_3D_location_fields
HAEC_3D_Location_Fields;
DRM_HEEC_3D_LOCATION:
heec_3D_location_fields
HEEC_3D_Location_Fields;
DRM_HEEQ_3D_LOCATION:
heeq_3D_location_fields
HEEQ_3D_Location_Fields;
DRM_HIERARCHY_DATA:
hierarchy_data_fields Hierarchy_Data_Fields;
DRM_HIERARCHY_SUMMARY_ITEM:
hierarchy_summary_item_fields Hierarchy_Summary_Item_Fields;
DRM_HSV_COLOUR:
hsv_colour_fields HSV_Colour_Fields;
DRM_HSV_COLOUR_CONTROL_LINK:
hsv_colour_control_link_fields HSV_Colour_Control_Link_Fields;
DRM_IMAGE:
image_fields Image_Fields;
DRM_IMAGE_ANCHOR:
image_anchor_fields Image_Anchor_Fields;
DRM_IMAGE_LOOKUP:
image_lookup_fields Image_Lookup_Fields;
DRM_IMAGE_MAPPING_FUNCTION:
image_mapping_function_fields Image_Mapping_Function_Fields;
DRM_IN_OUT:
in_out_fields In_Out_Fields;
DRM_INDEX_LOD_DATA:
index_lod_data_fields Index_LOD_Data_Fields;
DRM_INFINITE_LIGHT:
infinite_light_fields Infinite_Light_Fields;
DRM_INLINE_COLOUR:
inline_colour_fields Inline_Colour_Fields;
DRM_INTERFACE_TEMPLATE:
interface_template_fields Interface_Template_Fields;
DRM_INTERVAL_AXIS:
interval_axis_fields Interval_Axis_Fields;
DRM_IRREGULAR_AXIS:
irregular_axis_fields Irregular_Axis_Fields;
DRM_KEYWORDS:
keywords_fields Keywords_Fields;
DRM_LCC_AUGMENTED_3D_LOCATION:
lcc_augmented_3D_location_fields LCC_Augmented_3D_Location_Fields;
DRM_LCC_SURFACE_LOCATION:
lcc_surface_location_fields LCC_Surface_Location_Fields;
DRM_LIGHT_RENDERING_PROPERTIES:
light_rendering_properties_fields Light_Rendering_Properties_Fields;
DRM_LIGHT_RENDERING_PROPERTIES_CONTROL_LINK:
light_rendering_properties_control_link_fields
Light_Rendering_Properties_Control_Link_Fields;
DRM_LIGHT_SOURCE:
light_source_fields Light_Source_Fields;
DRM_LIGHT_SOURCE_CONTROL_LINK:
light_source_control_link_fields Light_Source_Control_Link_Fields;
DRM_LINE:
line_fields Line_Fields;
DRM_LINEAGE:
lineage_fields Lineage_Fields;
DRM_LINEAR_GEOMETRY:
linear_geometry_fields Linear_Geometry_Fields;
DRM_LITERAL:
literal_fields Literal_Fields;
DRM_LOBE_DATA:
lobe_data_fields Lobe_Data_Fields;
DRM_LOCAL_4X4:
local_4x4_fields Local_4x4_Fields;
DRM_LOD_RELATED_FEATURES:
lod_related_features_fields LOD_Related_Features_Fields;
DRM_LOD_RELATED_GEOMETRY:
lod_related_geometry_fields LOD_Related_Geometry_Fields;
DRM_LSR_2D_LOCATION:
lsr_2D_location_fields LSR_2D_Location_Fields;
DRM_LSR_3D_LOCATION:
lsr_3D_location_fields LSR_3D_Location_Fields;
DRM_LSR_3D_LOCATION_CONTROL_LINK:
lsr_3D_location_control_link_fields LSR_3D_Location_Control_Link_Fields;
DRM_LTSAS_3D_LOCATION:
ltsas_3D_location_fields LTSAS_3D_Location_Fields;
DRM_LTSAS_SURFACE_LOCATION:
ltsas_surface_location_fields LTSAS_Surface_Location_Fields;
DRM_LTSC_3D_LOCATION:
ltsc_3D_location_fields LTSC_3D_Location_Fields;
DRM_LTSC_SURFACE_LOCATION:
ltse_surface_location_fields LTSC_Surface_Location_Fields;
DRM_LTSE_3D_LOCATION:
ltse_3D_location_fields LTSE_3D_Location_Fields;
DRM_LTSE_SURFACE_LOCATION:
ltsc_surface_location_fields LTSE_Surface_Location_Fields;
DRM_M_AUGMENTED_3D_LOCATION:
m_augmented_3D_location_fields M_Augmented_3D_Location_Fields;
DRM_M_SURFACE_LOCATION:
m_surface_location_fields
M_Surface_Location_Fields;
DRM_MAP_SCALE_LOD_DATA:
map_scale_lod_data_map_scale Map_Scale_LOD_Data_Fields;
DRM_MESH_FACE_TABLE:
mesh_face_table_fields Mesh_Face_Table_Fields;
DRM_MODEL:
model_fields Model_Fields;
DRM_MODEL_INSTANCE_TEMPLATE_INDEX:
model_instance_template_index_fields Model_Instance_Template_Index_Fields;
DRM_MOVING_LIGHT_BEHAVIOUR:
moving_light_behaviour_fields Moving_Light_Behaviour_Fields;
DRM_OCTANT_DATA:
octant_data_fields Octant_Data_Fields;
DRM_OCTANT_RELATED_FEATURES:
octant_related_features_fields Octant_Related_Features_Fields;
DRM_OCTANT_RELATED_GEOMETRY:
octant_related_geometry_fields Octant_Related_Geometry_Fields;
DRM_OM_AUGMENTED_3D_LOCATION:
om_augmented_location_3D_fields OM_Augmented_Location_3D_Fields;
DRM_OM_SURFACE_LOCATION:
om_surface_location_fields OM_Surface_Location_Fields;
DRM_OVERLOAD_PRIORITY_INDEX:
overload_priority_index_fields Overload_Priority_Index_Fields;
DRM_PARALLELEPIPED_VOLUME_EXTENT:
parallelepiped_volume_extent_fields Parallelepiped_Volume_Extent_Fields;
DRM_PERIMETER_RELATED_FEATURE_TOPOLOGY:
perimeter_related_feature_topology_fields
Perimeter_Related_Feature_Topology_Fields;
DRM_PERIMETER_RELATED_FEATURES:
perimeter_related_features_fields Perimeter_Related_Features_Fields;
DRM_PERIMETER_RELATED_GEOMETRY:
perimeter_related_geometry_fields Perimeter_Related_Geometry_Fields;
DRM_PERIMETER_RELATED_GEOMETRY_TOPOLOGY:
perimeter_related_geometry_topology_fields
Perimeter_Related_Geometry_Topology_Fields;
DRM_POLAR_2D_LOCATION:
polar_2D_location_fields
Polar_2D_Location_Fields;
DRM_POLYGON:
polygon_fields Polygon_Fields;
DRM_POLYGON_CONTROL_LINK:
polygon_control_link_fields Polygon_Control_Link_Fields;
DRM_POSITIONAL_LIGHT:
positional_light_fields Positional_Light_Fields;
DRM_PREDEFINED_FUNCTION:
predefined_function_fields Predefined_Function_Fields;
DRM_PRESENTATION_DOMAIN:
presentation_domain_fields Presentation_Domain_Fields;
DRM_PRIMITIVE_SUMMARY_ITEM:
primitive_summary_item_fields Primitive_Summary_Item_Fields;
DRM_PROCESS_STEP:
process_step_fields Process_Step_Fields;
DRM_PROPERTY:
property_fields
Property_Fields;
DRM_PROPERTY_CHARACTERISTIC:
property_characteristic_fields Property_Characteristic_Fields;
DRM_PROPERTY_DESCRIPTION:
property_description_fields Property_Description_Fields;
DRM_PROPERTY_GRID:
property_grid_fields Property_Grid_Fields;
DRM_PROPERTY_SET_INDEX:
property_set_index_fields Property_Set_Index_Fields;
DRM_PROPERTY_SET_INDEX_CONTROL_LINK:
property_set_index_control_link_fields
Property_Set_Index_Control_Link_Fields;
DRM_PROPERTY_SET_TABLE:
property_set_table_fields Property_Set_Table_Fields;
DRM_PROPERTY_SET_TABLE_GROUP:
property_set_table_group_fields Property_Set_Table_Group_Fields;
DRM_PROPERTY_TABLE_REFERENCE:
property_table_reference_fields Property_Table_Reference_Fields;
DRM_PROPERTY_TABLE_REFERENCE_CONTROL_LINK:
property_table_reference_control_link_fields
Property_Table_Reference_Control_Link_Fields;
DRM_PROPERTY_VALUE:
property_value_fields Property_Value_Fields;
DRM_PROXIMITY_DATA:
proximity_data_fields
Proximity_Data_Fields;
DRM_PS_AUGMENTED_3D_LOCATION:
ps_augmented_3D_location_fields PS_Augmented_3D_Location_Fields;
DRM_PS_SURFACE_LOCATION:
ps_surface_location_fields PS_Surface_Location_Fields;
DRM_PSEUDO_CODE_FUNCTION:
pseudo_code_function_fields Pseudo_Code_Function_Fields;
DRM_PYRAMID_DIRECTIONAL_LIGHT:
pyramid_directional_light_fields Pyramid_Directional_Light_Fields;
DRM_QUADRANT_DATA:
quadrant_data_fields Quadrant_Data_Fields;
DRM_QUADRANT_RELATED_FEATURES:
quadrant_related_features_fields Quadrant_Related_Features_Fields;
DRM_QUADRANT_RELATED_GEOMETRY:
quadrant_related_geometry_fields Quadrant_Related_Geometry_Fields;
DRM_REFERENCE_ORIGIN:
reference_origin_fields Reference_Origin_Fields;
DRM_REFERENCE_SURFACE:
reference_surface_fields Reference_Surface_Fields;
DRM_REFERENCE_VECTOR:
reference_vector_fields Reference_Vector_Fields;
DRM_REFERENCE_VECTOR_CONTROL_LINK:
reference_vector_control_link_fields Reference_Vector_Control_Link_Fields;
DRM_REGULAR_AXIS:
regular_axis_fields Regular_Axis_Fields;
DRM_RELATIVE_TIME:
relative_time_fields Relative_Time_Fields;
DRM_RELATIVE_TIME_INTERVAL:
relative_time_interval_fields Relative_Time_Interval_Fields;
DRM_RENDERING_PRIORITY_LEVEL:
rendering_priority_level_fields Rendering_Priority_Level_Fields;
DRM_RENDERING_PROPERTIES:
rendering_properties_fields Rendering_Properties_Fields;
RGB_COLOUR:
rgb_colour_fields RGB_Colour_Fields;
RGB_COLOUR_CONTROL_LINK:
rgb_colour_control_link_fields RGB_Colour_Control_Link_Fields;
DRM_ROTATING_LIGHT_BEHAVIOUR:
rotating_light_behaviour_fields Rotating_Light_Behaviour_Fields;
DRM_ROTATION:
rotation_fields Rotation_Fields;
DRM_ROTATION_CONTROL_LINK:
rotation_control_link_fields Rotation_Control_Link_Fields;
DRM_SCALE:
scale_fields Scale_Fields;
DRM_SCALE_CONTROL_LINK:
scale_control_link_fields Scale_Control_Link_Fields;
DRM_SEASON:
season_fields Season_Fields;
DRM_SEC_3D_LOCATION:
sec_3D_location_fields SEC_3D_Location_Fields;
DRM_SEPARATING_PLANE_DATA:
separating_plane_data_fields Separating_Plane_Data_Fields;
DRM_SEPARATING_PLANE_RELATED_GEOMETRY:
separating_plane_related_geometry_fields
Separating_Plane_Related_Geometry_Fields;
DRM_SEQ_3D_LOCATION:
seq_3D_location_fields
SEQ_3D_Location_Fields;
DRM_SM_3D_LOCATION:
sm_3D_location_fields SM_3D_Location_Fields;
DRM_SMS_3D_LOCATION:
sms_3D_location_fields SMS_3D_Location_Fields;
DRM_SOUND:
sound_fields Sound_Fields;
DRM_SOUND_INSTANCE:
sound_instance_fields Sound_Instance_Fields;
DRM_SOUND_INSTANCE_CONTROL_LINK:
sound_instance_control_link_fields Sound_Instance_Control_Link_Fields;
DRM_SOURCE:
source_fields Source_Fields;
DRM_SPATIAL_ASSOCIATION_DATA:
spatial_association_data_fields
Spatial_Association_Data_Fields;
DRM_SPATIAL_INDEX_DATA:
spatial_index_data_fields
Spatial_Index_Data_Fields;
DRM_SPATIAL_INDEX_RELATED_FEATURE_TOPOLOGY:
spatial_index_related_feature_topology_fields
Spatial_Index_Related_Feature_Topology_Fields;
DRM_SPATIAL_INDEX_RELATED_FEATURES:
spatial_index_related_features_fields Spatial_Index_Related_Features_Fields;
DRM_SPATIAL_INDEX_RELATED_GEOMETRY:
spatial_index_related_geometry_fields Spatial_index_Related_Geometry_Fields;
DRM_SPATIAL_INDEX_RELATED_GEOMETRY_TOPOLOGY:
spatial_index_related_geometry_topology_fields
Spatial_Index_Related_Geometry_Topology_Fields;
DRM_SPATIAL_RESOLUTION_LOD_DATA:
spatial_resolution_lod_data_fields Spatial_Resolution_LOD_Data_Fields;
DRM_SPHERICAL_VOLUME_EXTENT:
spherical_volume_extent_fields Spherical_Volume_Extent_Fields;
DRM_SPOT_LIGHT:
spot_light_fields Spot_Light_Fields;
DRM_SRF_SUMMARY:
srf_summary_fields SRF_Summary_Fields;
DRM_STAMP_BEHAVIOUR:
stamp_behaviour_fields Stamp_Behaviour_Fields;
DRM_STATE_CONTROL_LINK:
state_control_link_fields State_Control_Link_Fields;
DRM_STATE_DATA:
state_data_fields State_Data_Fields;
DRM_STATE_RELATED_FEATURES:
state_related_features_fields State_Related_Features_Fields;
DRM_STATE_RELATED_GEOMETRY:
state_related_geometry_fields State_Related_Geometry_Fields;
DRM_STROBING_LIGHT_BEHAVIOUR:
strobing_light_behaviour_fields Strobing_Light_Behaviour_Fields;
DRM_SYMBOL:
symbol_fields Symbol_Fields;
DRM_TABLE_PROPERTY_DESCRIPTION:
table_property_description_fields Table_Property_Description_Fields;
DRM_TEXT:
text_fields Text_Fields;
DRM_TEXTURE_COORDINATE:
texture_coordinate_fields Texture_Coordinate_Fields;
DRM_TEXTURE_COORDINATE_CONTROL_LINK:
texture_coordinate_control_link_fields
Texture_Coordinate_Control_Link_Fields;
DRM_TIME_INTERVAL:
time_interval_fields Time_Interval_Fields;
DRM_TIME_OF_DAY:
time_of_day_fields Time_Of_Day_Fields;
DRM_TIME_POINT:
time_point_fields Time_Point_Fields;
DRM_TIME_RELATED_FEATURES:
time_related_features_fields Time_Related_Features_Fields;
DRM_TIME_RELATED_GEOMETRY:
time_related_geometry_fields Time_Related_Geometry_Fields;
DRM_TM_AUGMENTED_3D_LOCATION:
tm_augmented_3D_location_fields TM_Augmented_3D_Location_Fields;
DRM_TM_SURFACE_LOCATION: