SEDRIS language bindings — Part 4:  C

5 Definition of fundamental data types

5.1 Introduction

5.1.1 Topics

Table 5.1 is the topics for this clause

Table 5.1 — Topics

5 Definition of fundamental data types

5.1 Introduction

5.1.1 Topics

5.1.2 Description

5.2 Mapping of basic fundamental data types

5.2.1 Octet data type

SE_Octet

5.2.2 Integer data types

SE_Byte

SE_Byte_Unsigned

SE_Byte_Positive

SE_Short_Integer

SE_Short_Integer_Unsigned

SE_Short_Integer_Positive

SE_Integer

SE_Integer_Unsigned

SE_Integer_Positive

5.2.3 Floating point data types

SE_Float

SE_Long_Float

5.2.4 Character data type

SE_Character

5.2.5 Enumerated data types

SE_Access_Mode

SE_Boolean

SE_Branch_Range_Matching

SE_Colour_Binding

SE_Continuous_LOD_Select_Choice

SE_Hierarchy_Inclusion

SE_Image_Scan_Direction

SE_Image_Scan_Direction_Z

SE_Interval_Type

SE_ITR_Behaviour

SE_LSR_Transformation_Axis

SE_Model_Reference_Type

SE_Month

SE_Object_Inclusion

SE_Octant

SE_Point_Light_Display_Type

SE_Present_In

SE_Quadrant

SE_Reference_Surface_Elevation_Select

SE_Reference_Surface_LOD_Select

SE_Return_Code

SE_Search_Bounds_Closure

SE_Search_Dimension

SE_Sibling_Traversal_Order

SE_State_Mismatch_Behaviour

5.2.6 Selection data types

SE_API_Function

SE_Axis_Alignment

SE_Camera_Projection_Type

SE_Colour_Model

SE_Data_Table_Data_Value_Type

SE_DRM_Class

SE_Element_Type_Code

SE_Encoding

SE_Enumerated_Or_Selection_Type

SE_Feature_Topology_Level

SE_Font_Style

SE_Functional_Association_Meaning_Type

SE_Geometric_Centre_Code

SE_Geometry_Topology_Level

SE_Grid_Overlap_Operator

SE_Hierarchy_Summary_Multiplicity_Code

SE_Image_Component_Type

SE_Image_Mapping_Method

SE_Image_Projection_Type

SE_Image_Signature

SE_Image_Wrap

SE_Index_Code

SE_Interpolation_Type

SE_Interval_Value_Type

SE_LOD_Data_Type

SE_Media_Format

SE_Ordering_Reason

SE_Pixel_Fill_Method

SE_Predefined_Function

SE_Property_Code_Type

SE_Reference_Vector_Type

SE_Search_Rule_Type

SE_Search_Type

SE_Search_Value_Type

SE_Season

SE_Shading_Method

SE_Single_Value_Type

SE_Sound_Format

SE_Spacing_Type

SE_Spatial_Association_Meaning_Type

SE_Spatial_Index_Spacing_Unit

SE_Status_Code

SE_Symbol_Format

SE_Time_Configuration

SE_Time_Data_Type

SE_Time_Measurement_Type

SE_Time_Of_Day

SE_Time_Significance

SE_Traversal_Order

SE_Underline_Style

SE_Union_Reason

SE_Unmatched_State_Behaviour

SE_Variable_Code

SE_Volumetric_Shape

5.2.7 Set data types

SE_Colour_Mapping

SE_Display_Side

SE_Display_Style

SE_General_Hierarchy_Order

SE_Polygon_Flags

SE_Presentation_Domain

5.3 Structured fundamental data types

5.3.1 Introduction

5.3.2 Fixed size array data types

SE_Matrix_3x3

SE_Matrix_4x4

5.3.3 Variable size array data types

5.4 Record data types

SE_Absolute_Time_Fields

SE_Absolute_Time_Interval_Entry

SE_Absolute_Time_Interval_Fields

SE_Address

SE_Aggregate_Feature_Fields

SE_Aggregate_Geometry_Fields

SE_Alternate_Hierarchy_Parameters

SE_Alternate_Hierarchy_Related_Features_Fields

SE_Alternate_Hierarchy_Related_Geometry_Fields

SE_Animation_Behaviour_Fields

SE_Animation_Range

SE_Animation_Related_Geometry_Fields

SE_Animation_Select_Parameters

SE_Any_Enumerated_Or_Selection_Value

SE_Any_Search_Value

SE_Arc_Fields

SE_Axis_Fields

SE_Base_Positional_Light_Fields

SE_Base_Spatial_Association_Data_Fields

SE_Base_Summary_Item_Fields

SE_Base_Time_Data_Fields

SE_Blend_Directional_Light_Fields

SE_Browse_Media_Fields

SE_Camera_Point_Fields

SE_CC_3D_Location_Fields

SE_CD_3D_Location_Fields

SE_CD_Surface_Location_Fields

SE_Citation_Fields

SE_Classification_Data_Fields

SE_Classification_Entry

SE_Classification_Parameters

SE_Classification_Related_Features_Fields

SE_Classification_Related_Geometry_Fields

SE_CM_3D_Location_Fields

SE_CMY_Colour_Control_Link_Fields

SE_CMY_Colour_Fields

SE_CMY_Data

SE_Colour_Fields

SE_Colour_Index_Control_Link_Fields

SE_Colour_Index_Fields

SE_Colour_Shininess_Fields

SE_Colour_Table_Group_Fields

SE_Cone_Directional_Light_Fields

SE_Conformal_Behaviour_Fields

SE_Contact_Information

SE_Continuous_LOD_Related_Geometry_Fields

SE_Continuous_LOD_Select_Parameters

SE_Control_Link_Fields

SE_Count_Interval_Value

SE_Cylindrical_Volume_Extent_Entry

SE_Cylindrical_Volume_Extent_Fields

SE_Data_Quality_Element

SE_Data_Quality_Fields

SE_Data_Table_Data

SE_Data_Table_Sub_Extent

SE_Distance_LOD_Data_Fields

SE_DRM_Class_Fields

SE_DRM_Class_Summary_Item_Fields

SE_EC_Augmented_3D_Location_Fields

SE_EC_Surface_Location_Fields

SE_EDCS_Use_Summary_Item_Fields

SE_Edge_Direction_Fields

SE_EI_3D_Location_Fields

SE_Element_Type

SE_Ellipse_Fields

SE_Enumeration_Axis_Fields

SE_Environment_Root_Fields

SE_Environmental_Domain_Summary_Fields

SE_Face_Direction_Fields

SE_Fade_Range_Fields

SE_Feature_Face_Fields

SE_Feature_Topology_Hierarchy_Fields

SE_Feature_Volume_Fields

SE_Flashing_Light_Behaviour_Fields

SE_Function_Fields

SE_Functional_Association_Data_Fields

SE_General_Hierarchy_Select

SE_Geometric_Centre_Fields

SE_Geometry_Topology_Hierarchy_Fields

SE_Grid_Overlap_Fields

SE_HAEC_3D_Location_Fields

SE_HEEC_3D_Location_Fields

SE_HEEQ_3D_Location_Fields

SE_Hierarchy_Data_Fields

SE_Hierarchy_Order_Parameters

SE_Hierarchy_Select_Parameters

SE_Hierarchy_Summary_Item_Fields

SE_HSV_Colour_Control_Link_Fields

SE_HSV_Colour_Fields

SE_HSV_Data

SE_Identification_Fields

SE_Image_Anchor_Fields

SE_Image_Data

SE_Image_Fields

SE_Image_Mapping_Function_Fields

SE_Image_Mip_Extents

SE_Image_Texel_Location_3D

SE_In_Out_Fields

SE_Index_LOD_Data_Fields

SE_Index_Range

SE_Infinite_Light_Fields

SE_Inline_Colour_Fields

SE_Integer_Interval_Value

SE_Interface_Template_Fields

SE_Interval_Axis_Fields

SE_Interval_Value

SE_Irregular_Axis_Fields

SE_Keywords_Fields

SE_LCC_Augmented_3D_Location_Fields

SE_LCC_Surface_Location_Fields

SE_LCE_3D_Location_Fields

SE_Legal_Constraints_Fields

SE_Light_Rendering_Properties_Control_Link_Fields

SE_Light_Rendering_Properties_Fields

SE_Light_Source_Control_Link_Fields

SE_Light_Source_Fields

SE_Line_Fields

SE_Lineage_Fields

SE_Linear_Geometry_Fields

SE_Literal_Fields

SE_Lobe_Data_Fields

SE_Local_4x4_Fields

SE_Locale

SE_LOD_Entry

SE_LOD_Related_Features_Fields

SE_LOD_Related_Geometry_Fields

SE_LOD_Select_Parameters

SE_Long_Float_Interval_Value

SE_Long_Float_Value

SE_LSA_2D_Location_Fields

SE_LSP_2D_Location_Fields

SE_LSR_2D_Location_Fields

SE_LSR_3D_Location_Control_Link_Fields

SE_LSR_3D_Location_Fields

SE_LTSAS_3D_Location_Fields

SE_LTSAS_Surface_Location_Fields

SE_LTSC_3D_Location_Fields

SE_LTSC_Surface_Location_Fields

SE_LTSE_3D_Location_Fields

SE_LTSE_Surface_Location_Fields

SE_M_Augmented_3D_Location_Fields

SE_M_Surface_Location_Fields

SE_Map_Scale_LOD_Data_Fields

SE_Mesh_Face_Table_Fields

SE_Model_Fields

SE_Model_Instance_Template_Index_Fields

SE_Moving_Light_Behaviour_Fields

SE_Octant_Data_Fields

SE_Octant_Related_Features_Fields

SE_Octant_Related_Geometry_Fields

SE_Octant_Select_Parameters

SE_OMS_Augmented_3D_Location_Fields

SE_OMS_Surface_Location_Fields

SE_Overload_Priority_Index_Fields

SE_Packed_Hierarchy

SE_Packed_Hierarchy_Object

SE_Packed_Hierarchy_Reference

SE_Parallelepiped_Volume_Extent_Entry

SE_Parallelepiped_Volume_Extent_Fields

SE_PD_3D_Location_Fields

SE_PD_Surface_Location_Fields

SE_Perimeter_Related_Feature_Topology_Fields

SE_Perimeter_Related_Features_Fields

SE_Perimeter_Related_Geometry_Fields

SE_Perimeter_Related_Geometry_Topology_Fields

SE_Polygon_Control_Link_Fields

SE_Polygon_Fields

SE_Positional_Light_Fields

SE_Predefined_Function_Fields

SE_Presentation_Domain_Fields

SE_Primitive_Summary_Item_Fields

SE_Process_Step_Fields

SE_Property_Characteristic_Fields

SE_Property_Code

SE_Property_Description_Fields

SE_Property_Fields

SE_Property_Grid_Fields

SE_Property_Set_Index_Control_Link_Fields

SE_Property_Set_Index_Fields

SE_Property_Set_Table_Fields

SE_Property_Set_Table_Group_Fields

SE_Property_Table_Reference_Control_Link_Fields

SE_Property_Table_Reference_Fields

SE_Property_Value_Fields

SE_Proximity_Data_Fields

SE_PS_Augmented_3D_Location_Fields

SE_PS_Surface_Location_Fields

SE_Pseudo_Code_Function_Fields

SE_Pyramid_Directional_Light_Fields

SE_Quadrant_Data_Fields

SE_Quadrant_Related_Features_Fields

SE_Quadrant_Related_Geometry_Fields

SE_Quadrant_Select_Parameters

SE_Reference_Origin_Fields

SE_Reference_Surface_Fields

SE_Reference_Vector_Control_Link_Fields

SE_Reference_Vector_Fields

SE_Regular_Axis_Fields

SE_Relative_Time_Fields

SE_Relative_Time_Interval_Fields

SE_Relative_To_Absolute_Time_Interval_Entry

SE_Relative_To_Absolute_Time_Entry

SE_Remaining_Objects_List

SE_Remaining_Packed_Hierarchies_List

SE_Rendering_Priority_Level_Fields

SE_Rendering_Properties_Fields

SE_Responsible_Party_Fields

SE_RGB_Colour_Control_Link_Fields

SE_RGB_Colour_Fields

SE_RGB_Data

SE_Role_Data_Fields

SE_Rotating_Light_Behaviour_Fields

SE_Rotation_Control_Link_Fields

SE_Rotation_Data

SE_Rotation_Fields

SE_Scale_Control_Link_Fields

SE_Scale_Fields

SE_Search_Bounds

SE_Search_Rule

SE_Search_Rule_Component

SE_Search_Rule_Component_Field

SE_Search_Rule_Component_Field_Array

SE_Search_Rule_Component_Field_Range

SE_Search_Rule_Field

SE_Search_Rule_Field_Array

SE_Search_Rule_Field_Range

SE_Search_Rule_Predicate

SE_Season_Fields

SE_SEC_3D_Location_Fields

SE_Security_Constraints_Fields

SE_Separating_Plane_Data_Fields

SE_Separating_Plane_Related_Geometry_Fields

SE_Separating_Plane_Select_Parameters

SE_SEQ_3D_Location_Fields

SE_Single_Value

SE_SMD_3D_Location_Fields

SE_SME_3D_Location_Fields

SE_Sound_Fields

SE_Sound_Instance_Control_Link_Fields

SE_Sound_Instance_Fields

SE_Source_Fields

SE_Spatial_Association_Data_Fields

SE_Spatial_Index_Data_Fields

SE_Spatial_Index_Parameters

SE_Spatial_Index_Related_Feature_Topology_Fields

SE_Spatial_Index_Related_Features_Fields

SE_Spatial_Index_Related_Geometry_Fields

SE_Spatial_Index_Related_Geometry_Topology_Fields

SE_Spatial_Resolution_LOD_Data_Fields

SE_Spherical_Volume_Extent_Fields

SE_Spot_Light_Fields

SE_SRF_Context_Info

SE_SRF_Summary_Fields

SE_Stamp_Behaviour_Fields

SE_State_Control_Link_Fields

SE_State_Data_Fields

SE_State_Entry

SE_State_Related_Features_Fields

SE_State_Related_Geometry_Fields

SE_State_Select_Parameters

SE_String

SE_Strobing_Light_Behaviour_Fields

SE_Symbol_Fields

SE_Table_Property_Description_Fields

SE_Telephone_Information

SE_Text_Fields

SE_Text_Font

SE_Texture_Coordinate_Control_Link_Fields

SE_Texture_Coordinate_Fields

SE_Time_Day_Of_Year_Value

SE_Time_Entry

SE_Time_Interval_Entry

SE_Time_Interval_Fields

SE_Time_M_Value

SE_Time_MD_H_Value

SE_Time_MD_HM_Value

SE_Time_MD_HMS_Value

SE_Time_Of_Day_Fields

SE_Time_Point_Entry

SE_Time_Point_Fields

SE_Time_Related_Features_Fields

SE_Time_Related_Geometry_Fields

SE_Time_Select_Parameters

SE_Time_Value

SE_Time_Y_Value

SE_Time_YD_Value

SE_Time_YD_H_Value

SE_Time_YD_HM_Value

SE_Time_YD_HMS_Value

SE_Time_YMD_Value

SE_Time_YMD_H_Value

SE_Time_YMD_HM_Value

SE_Time_YMD_HMS_Value

SE_TM_Augmented_3D_Location_Fields

SE_TM_Surface_Location_Fields

SE_Translation_Control_Link_Fields

SE_Translation_Fields

SE_Translucency_Control_Link_Fields

SE_Translucency_Fields

SE_Transmittal_Root_Fields

SE_Transmittal_Summary_Fields

SE_Union_Of_Feature_Topology_Fields

SE_Union_Of_Features_Fields

SE_Union_Of_Geometry_Fields

SE_Union_Of_Geometry_Hierarchy_Fields

SE_Union_Of_Geometry_Topology_Fields

SE_Union_Of_Primitive_Geometry_Fields

SE_Unused_Fields

SE_URL

SE_URN

SE_Variable_Fields

SE_Volume_Extent_Entry

SE_Volume_Light_Behaviour_Fields

SE_Volume_LOD_Data_Fields

SE_Volume_LOD_Entry

SE_World_3x3_Fields

5.5 Private data types

SE_Iterator

SE_Object

SE_Packed_Hierarchy_Object_Access

SE_Search_Boundary

SE_Search_Filter

SE_Store

SE_Test_Data

SE_Transmittal

SE_User_Data

5.6 Function data types

SE_Predicate

SE_Status_Logger

5.7 Data types from ISO 19115

SE_CI_OnLineFunctionCode

SE_CI_OnlineResource

SE_CI_RoleCode

SE_MD_ClassificationCode

SE_MD_KeywordType_Code

SE_MD_RestrictionCode

5.1.2 Description

Part 1 of ISO/IEC 18023 specifies a set of fundamental abstract data types. This clause gives the mapping from those data types to the data types defined in this binding. All implementation dependent data types are defined after all implementation independent data types in each category.

5.2 Mapping of basic fundamental data types

5.2.1 Octet data type

SE_Octet

Abstract data type: Octet

typedef unsigned char SE_Octet;

5.2.2 Integer data types

The mapping of abstract integer data types specified in Part 1 of ISO/IEC 18023 to data types in the C language is as follows:

SE_Byte

Abstract data type: Byte

typedef char SE_Byte;

SE_Byte_Unsigned

Abstract data type: Byte_Unsigned

typedef unsigned char SE_Byte_Unsigned;

SE_Byte_Positive

Abstract data type: Byte_Positive

typedef unsigned char SE_Byte_Positive;

SE_Short_Integer

Abstract data type: Short_Integer

typedef short SE_Short_Integer;

SE_Short_Integer_Unsigned

Abstract data type: Short_Integer_Unsigned

typedef unsigned short SE_Short_Integer_Unsigned;

SE_Short_Integer_Positive

Abstract data type: Short_Integer_Positive

typedef unsigned short SE_Short_Integer_Positive;

SE_Integer

Abstract data type: Integer

typedef long SE_Integer;

SE_Integer_Unsigned

Abstract data type: Integer_Unsigned

typedef unsigned long SE_Integer_Unsigned;

SE_Integer_Positive

Abstract data type: Integer_Positive

typedef unsigned long SE_Integer_Positive;

5.2.3 Floating point data types

The mapping of abstract floating point data types specified in Part 1 of ISO/IEC 18023 to data types in the C language is as follows:

SE_Float

Abstract data type: Float

typedef float SE_Float;

SE_Long_Float

Abstract data type: Long_Float

typedef double SE_Long_Float;

5.2.4 Character data type

The abstract data type for individual characters specified in Part 1 of ISO/IEC 18023 is Character. This data type is mapped as follows:

SE_Character

Abstract data type: Character

typedef wchar_t SE_Character;

The abstract data type for strings of characters specified in Part 1 of ISO/IEC 18023 is the String record data type. This data type is defined in 5.4 Record data types.

5.2.5 Enumerated data types

The following type definitions map the abstract enumerated data types specified in Part 1 of ISO/IEC 18023 to appropriate data types in the C binding.

SE_Access_Mode

Abstract data type: Access_Mode

typedef enum {

SE_AM_READ_ONLY,

SE_AM_UPDATE,

SE_AM_CREATE

} SE_Access_Mode;

SE_Boolean

Abstract data type: Boolean

typedef enum {

SE_FALSE,

SE_TRUE

} SE_Boolean;

SE_Branch_Range_Matching

Abstract data type: Branch_Range_Matching

typedef enum {

SE_BRRNGMAT_EXACT,

SE_BRRNGMAT_FULL_CONTAINMENT,

SE_BRRNGMAT_INTERSECTION

} SE_Branch_Range_Matching;

SE_Colour_Binding

Abstract data type: Colour_Binding

typedef enum {

SE_COLRB_NORMAL,

SE_COLRB_PARENT_OVERRIDE

} SE_Colour_Binding;

SE_Continuous_LOD_Select_Choice

Abstract data type: Continuous_LOD_Select_Choice

typedef enum {

SE_CLOD_ALL,

SE_CLOD_LEAST_DETAILED,

SE_CLOD_MOST_DETAILED

} SE_Continuous_LOD_Select_Choice;

SE_Hierarchy_Inclusion

Abstract data type: Hierarchy_Inclusion

typedef enum {

SE_HIERINC_EXCLUDE_ALL,

SE_HIERINC_INCLUDE_ALL,

SE_HIERINC_EVALUATE_RULES

} SE_Hierarchy_Inclusion;

SE_Image_Scan_Direction

Abstract data type: Image_Scan_Direction

typedef enum {

SE_IMAGSCANDIR_RIGHT_UP,

SE_IMAGSCANDIR_RIGHT_DOWN,

SE_IMAGSCANDIR_DOWN_RIGHT,

SE_IMAGSCANDIR_DOWN_LEFT,

SE_IMAGSCANDIR_LEFT_UP,

SE_IMAGSCANDIR_LEFT_DOWN,

SE_IMAGSCANDIR_UP_RIGHT,

SE_IMAGSCANDIR_UP_LEFT

} SE_Image_Scan_Direction;

SE_Image_Scan_Direction_Z

Abstract data type: Image_Scan_Direction_Z

typedef enum {

SE_IMAGSCANDIRZ_Z_NONE,

SE_IMAGSCANDIRZ_Z_BACK,

SE_IMAGSCANDIRZ_Z_FRONT

} SE_Image_Scan_Direction_Z;

SE_Interval_Type

Abstract data type: Interval_Type

typedef enum {

SE_INTRVLTYP_OPEN_INTERVAL,

SE_INTRVLTYP_GE_LT_INTERVAL,

SE_INTRVLTYP_GT_LE_INTERVAL,

SE_INTRVLTYP_CLOSED_INTERVAL,

SE_INTRVLTYP_GT_SEMI_INTERVAL,

SE_INTRVLTYP_GE_SEMI_INTERVAL,

SE_INTRVLTYP_LT_SEMI_INTERVAL,

SE_INTRVLTYP_LE_SEMI_INTERVAL

} SE_Interval_Type;

SE_ITR_Behaviour

Abstract data type: ITR_Behaviour

typedef enum {

SE_ITRBEH_RESOLVE,

SE_ITRBEH_REPORT,

SE_ITRBEH_IGNORE

} SE_ITR_Behaviour;

SE_LSR_Transformation_Axis

Abstract data type: LSR_Transformation_Axis

typedef enum {

SE_LSRAXIS_U,

SE_LSRAXIS_V,

SE_LSRAXIS_W,

SE_LSRAXIS_ALL,

SE_LSRAXIS_AXIS_REFERENCE_VECTOR

} SE_LSR_Transformation_Axis;

SE_Model_Reference_Type

Abstract data type: Model_Reference_Type

typedef enum {

SE_MODREFTYP_COMPONENT,

SE_MODREFTYP_ROOT,

SE_MODREFTYP_ROOT_AND_COMPONENT

} SE_Model_Reference_Type;

SE_Month

Abstract data type: Month

typedef enum {

SE_MONTH_JANUARY,

SE_MONTH_FEBRUARY,

SE_MONTH_MARCH,

SE_MONTH_APRIL,

SE_MONTH_MAY,

SE_MONTH_JUNE,

SE_MONTH_JULY,

SE_MONTH_AUGUST,

SE_MONTH_SEPTEMBER,

SE_MONTH_OCTOBER,

SE_MONTH_NOVEMBER,

SE_MONTH_DECEMBER

} SE_Month;

SE_Object_Inclusion

Abstract data type: Object_Inclusion

typedef enum {

SE_OBJINCL_FULLY_INCLUDED,

SE_OBJINCL_PARTIALLY_INCLUDED

} SE_Object_Inclusion;

SE_Octant

Abstract data type: Octant

typedef enum {

SE_OCTANT_UPPER_LEFT_FRONT,

SE_OCTANT_UPPER_LEFT_BACK,

SE_OCTANT_LOWER_LEFT_FRONT,

SE_OCTANT_LOWER_LEFT_BACK,

SE_OCTANT_UPPER_RIGHT_FRONT,

SE_OCTANT_UPPER_RIGHT_BACK,

SE_OCTANT_LOWER_RIGHT_FRONT,

SE_OCTANT_LOWER_RIGHT_BACK

} SE_Octant;

SE_Point_Light_Display_Type

Abstract data type: Point_Light_Display_Type

typedef enum {

SE_PTLTDISPTYP_RASTER,

SE_PTLTDISPTYP_CALLIGRAPHIC

} SE_Point_Light_Display_Type;

SE_Present_In

Abstract data type: Present_In

typedef enum {

SE_PRESENT_IN_NONE,

SE_PRESENT_IN_ENVIRONMENT_ROOT,

SE_PRESENT_IN_MODELS,

SE_PRESENT_IN_ENVIRONMENT_ROOT_AND_MODELS

} SE_Present_In;

SE_Quadrant

Abstract data type: Quadrant

typedef enum {

SE_QUADRANT_LEFT_FRONT,

SE_QUADRANT_LEFT_BACK,

SE_QUADRANT_RIGHT_FRONT,

SE_QUADRANT_RIGHT_BACK

} SE_Quadrant;

SE_Reference_Surface_Elevation_Select

Abstract data type: Reference_Surface_Elevation_Select

typedef enum {

SE_RSELEVSEL_CLOSEST_TO_ORM_CENTRE,

SE_RSELEVSEL_CLOSEST_TO_DSS,

SE_RSELEVSEL_FARTHEST_FROM_ORM_CENTRE

} SE_Reference_Surface_Elevation_Select;

SE_Reference_Surface_LOD_Select

Abstract data type: Reference_Surface_LOD_Select

typedef enum {

SE_RSLODSEL_MOST_DETAILED,

SE_RSLODSEL_LEAST_DETAILED

} SE_Reference_Surface_LOD_Select;

SE_Return_Code

Abstract data type: Return_Code

typedef enum {

SE_RETCOD_FAILURE,

SE_RETCOD_SUCCESS

} SE_Return_Code;

SE_Search_Bounds_Closure

Abstract data type: Search_Bounds_Closure

typedef enum {

SE_SEARCHBNDSCLS_FULLY_CLOSED,

SE_SEARCHBNDSCLS_PARTIALLY_CLOSED

} SE_Search_Bounds_Closure;

SE_Search_Dimension

Abstract data type: Search_Dimension

typedef enum {

SE_SEARCHDIM_TWO_DIMENSIONAL_OR_SURFACE,

SE_SEARCHDIM_THREE_DIMENSIONAL,

SE_SEARCHDIM_ALL_DIMENSIONS

} SE_Search_Dimension;

SE_Sibling_Traversal_Order

Abstract data type: Sibling_Traversal_Order

typedef enum {

SE_SIBTRAV_ASCENDING,

SE_SIBTRAV_DESCENDING,

SE_SIBTRAV_UNSPECIFIED

} SE_Sibling_Traversal_Order;

SE_State_Mismatch_Behaviour

Abstract data type: State_Mismatch_Behaviour

typedef enum {

SE_STMISMBEH_DEFAULT,

SE_STMISMBEH_LAST,

SE_STMISMBEH_NONE

} SE_State_Mismatch_Behaviour;

5.2.6 Selection data types

Selection data types specified in Part 1 of ISO/IEC 18023 are bound to the C programming language using the SE_Short_Integer data type along with a corresponding set of macros which may be used to set and compare values for these data types. The following are the selection data types defined in this binding.

SE_API_Function

Abstract data type: API_Function

typedef SE_Short_Integer   SE_API_Function;

#define SE_APIFN_ADD_ASSOCIATE_RELATIONSHIP

((SE_API_Function)(1))

#define SE_APIFN_ADD_COMPONENT_RELATIONSHIP

((SE_API_Function)(2))

#define SE_APIFN_CLONE_OBJECT_HANDLE

((SE_API_Function)(3))

#define SE_APIFN_CLOSE_TRANSMITTAL

((SE_API_Function)(4))

#define SE_APIFN_CREATE_OBJECT

((SE_API_Function)(5))

#define SE_APIFN_CREATE_SEARCH_FILTER

((SE_API_Function)(6))

#define SE_APIFN_CREATE_SPATIAL_SEARCH_BOUNDARY

((SE_API_Function)(7))

#define SE_APIFN_DETERMINE_SPATIAL_INCLUSION

((SE_API_Function)(8))

#define SE_APIFN_FREE_ITERATOR

((SE_API_Function)(9))

#define SE_APIFN_FREE_OBJECT

((SE_API_Function)(10))

#define SE_APIFN_FREE_PACKED_HIERARCHY

((SE_API_Function)(11))

#define SE_APIFN_FREE_REMAINING_OBJECTS_LIST

((SE_API_Function)(12))

#define SE_APIFN_FREE_REMAINING_PACKED_HIERARCHIES_LIST

((SE_API_Function)(13))

#define SE_APIFN_FREE_SEARCH_FILTER

((SE_API_Function)(14))

#define SE_APIFN_FREE_SPATIAL_SEARCH_BOUNDARY

((SE_API_Function)(15))

#define SE_APIFN_FREE_TRANSMITTAL

((SE_API_Function)(16))

#define SE_APIFN_GET_AGGREGATE

((SE_API_Function)(17))

#define SE_APIFN_GET_ASSOCIATE

((SE_API_Function)(18))

#define SE_APIFN_GET_COLOUR_MODEL

((SE_API_Function)(19))

#define SE_APIFN_GET_COMPONENT

((SE_API_Function)(20))

#define SE_APIFN_GET_CONTEXT_TRANSFORMATION

((SE_API_Function)(21))

#define SE_APIFN_GET_DATA_TABLE_DATA

((SE_API_Function)(22))

#define SE_APIFN_GET_DRM_CLASS

((SE_API_Function)(23))

#define SE_APIFN_GET_ENCODING

((SE_API_Function)(24))

#define SE_APIFN_GET_FIELDS

((SE_API_Function)(25))

#define SE_APIFN_GET_IMAGE_DATA

((SE_API_Function)(26))

#define SE_APIFN_GET_ITERATION_LENGTH_REMAINING

((SE_API_Function)(27))

#define SE_APIFN_GET_LAST_FUNCTION_STATUS

((SE_API_Function)(28))

#define SE_APIFN_GET_MESH_FACE_TABLE_DATA

((SE_API_Function)(29))

#define SE_APIFN_GET_NEXT_OBJECT

((SE_API_Function)(30))

#define SE_APIFN_GET_NTH_ASSOCIATE

((SE_API_Function)(31))

#define SE_APIFN_GET_NTH_COMPONENT

((SE_API_Function)(32))

#define SE_APIFN_GET_NUMBER_OF_PATHS_TO_TRANMITTAL_ROOT

((SE_API_Function)(33))

#define SE_APIFN_GET_OBJECT_FROM_ID_STRING

((SE_API_Function)(34))

#define SE_APIFN_GET_OBJECT_ID_STRING

((SE_API_Function)(35))

#define SE_APIFN_GET_OBJECT_REFERENCE_COUNT

((SE_API_Function)(36))

#define SE_APIFN_GET_PACKED_HIERARCHY

((SE_API_Function)(37))

#define SE_APIFN_GET_PUBLISHED_LABELS

((SE_API_Function)(38))

#define SE_APIFN_GET_PUBLISHED_OBJECT_LIST

((SE_API_Function)(39))

#define SE_APIFN_GET_REFERENCED_TRANSMITTAL_LIST

((SE_API_Function)(40))

#define SE_APIFN_GET_RELATION_COUNTS

((SE_API_Function)(41))

#define SE_APIFN_GET_REMAINING_OBJECTS_LIST

((SE_API_Function)(42))

#define SE_APIFN_GET_REMAINING_PACKED_HIERARCHIES

((SE_API_Function)(43))

#define SE_APIFN_GET_ROOT_OBJECT

((SE_API_Function)(44))

#define SE_APIFN_GET_SRF_CONTEXT_INFO

((SE_API_Function)(45))

#define SE_APIFN_GET_TRANSMITTAL_FROM_OBJECT

((SE_API_Function)(46))

#define SE_APIFN_GET_TRANSMITTAL_LOCATION

((SE_API_Function)(47))

#define SE_APIFN_GET_TRANSMITTAL_NAME

((SE_API_Function)(48))

#define SE_APIFN_GET_TRANSMITTAL_VERSION_INFORMATION

((SE_API_Function)(49))

#define SE_APIFN_GET_UNIQUE_TRANSMITTAL_ID

((SE_API_Function)(50))

#define SE_APIFN_GET_UNRESOLVED_OBJECT_FROM_PUBLISHED_LABEL

((SE_API_Function)(51))

#define SE_APIFN_GET_USER_DATA

((SE_API_Function)(52))

#define SE_APIFN_INITIALIZE_AGGREGATE_ITERATOR

((SE_API_Function)(53))

#define SE_APIFN_INITIALIZE_ASSOCIATE_ITERATOR

((SE_API_Function)(54))

#define SE_APIFN_INITIALIZE_COMPONENT_ITERATOR

((SE_API_Function)(55))

#define SE_APIFN_INITIALIZE_INHERITED_COMPONENT_ITERATOR

((SE_API_Function)(56))

#define SE_APIFN_IS_ITERATOR_COMPLETE

((SE_API_Function)(57))

#define SE_APIFN_OBJECT_IS_PUBLISHED

((SE_API_Function)(58))

#define SE_APIFN_OBJECT_IS_RESOLVED

((SE_API_Function)(59))

#define SE_APIFN_OBJECTS_ARE_SAME

((SE_API_Function)(60))

#define SE_APIFN_OPEN_TRANSMITTAL_BY_LOCATION

((SE_API_Function)(61))

#define SE_APIFN_OPEN_TRANSMITTAL_BY_NAME

((SE_API_Function)(62))

#define SE_APIFN_PUBLISH_OBJECT

((SE_API_Function)(63))

#define SE_APIFN_PUT_DATA_TABLE_DATA

((SE_API_Function)(64))

#define SE_APIFN_PUT_FIELDS

((SE_API_Function)(65))

#define SE_APIFN_PUT_IMAGE_DATA

((SE_API_Function)(66))

#define SE_APIFN_PUT_MESH_FACE_TABLE_DATA

((SE_API_Function)(67))

#define SE_APIFN_REMOVE_ASSOCIATE_RELATIONSHIP

((SE_API_Function)(68))

#define SE_APIFN_REMOVE_COMPONENT_RELATIONSHIP

((SE_API_Function)(69))

#define SE_APIFN_REMOVE_FROM_TRANSMITTAL

((SE_API_Function)(70))

#define SE_APIFN_RESOLVE_OBJECT

((SE_API_Function)(71))

#define SE_APIFN_RESOLVE_TRANSMITTAL_NAME

((SE_API_Function)(72))

#define SE_APIFN_SET_COLOUR_MODEL

((SE_API_Function)(73))

#define SE_APIFN_SET_FIRST_ERROR_MESSAGE

((SE_API_Function)(74))

#define SE_APIFN_SET_GENERAL_CALLBACK

((SE_API_Function)(75))

#define SE_APIFN_SET_GENERAL_CALLBACK_FOR_ONE_FUNCTION

((SE_API_Function)(76))

#define SE_APIFN_SET_ROOT_OBJECT

((SE_API_Function)(77))

#define SE_APIFN_SET_SECOND_ERROR_MESSAGE

((SE_API_Function)(78))

#define SE_APIFN_SET_SPECIFIC_CALLBACK

((SE_API_Function)(79))

#define SE_APIFN_SET_SRF_CONTEXT_INFO

((SE_API_Function)(80))

#define SE_APIFN_SET_TRANSMITTAL_NAME

((SE_API_Function)(81))

#define SE_APIFN_SET_USER_DATA

((SE_API_Function)(82))

#define SE_APIFN_TRANSMITTALS_ARE_SAME

((SE_API_Function)(83))

#define SE_APIFN_UNPUBLISH_OBJECT

((SE_API_Function)(84))

#define SE_APIFN_USE_DEFAULT_COLOUR_MODEL

((SE_API_Function)(85))

#define SE_APIFN_USE_DEFAULT_SRF_CONTEXT_INFO

((SE_API_Function)(86))

SE_Axis_Alignment

Abstract data type: Axis_Alignment

typedef SE_Short_Integer SE_Axis_Alignment;

#define SE_AXALGN_NONE

((SE_Axis_Alignment)(1))

#define SE_AXALGN_LOWER

((SE_Axis_Alignment)(2))

#define SE_AXALGN_MEDIAN

((SE_Axis_Alignment)(3))

#define SE_AXALGN_UPPER

((SE_Axis_Alignment)(4))

#define SE_AXALGN_GEOMETRIC_MEAN

((SE_Axis_Alignment)(5))

SE_Camera_Projection_Type

Abstract data type: Camera_Projection_Type

typedef SE_Short_Integer SE_Camera_Projection_Type;

#define SE_CAM_ORTHOGRAPHIC

((SE_Camera_Projection_Type)(1))

#define SE_CAM_PERSPECTIVE

((SE_Camera_Projection_Type)(2))

SE_Colour_Model

Abstract data type: Colour_Model

typedef SE_Short_Integer SE_Colour_Model;

#define SE_COLRMOD_RGB

((SE_Colour_Model)(1))

#define SE_COLRMOD_CMY

((SE_Colour_Model)(2))

#define SE_COLRMOD_HSV

((SE_Colour_Model)(3))

SE_Data_Table_Data_Value_Type

Abstract data type: Data_Table_Data_Value_Type

typedef SE_Short_Integer SE_Data_Table_Data_Value_Type;

#define SE_DTDATAVALTYP_SINGLE_LONG_FLOAT

((SE_Data_Table_Data_Value_Type)(1))

#define SE_DTDATAVALTYP_LONG_FLOAT

((SE_Data_Table_Data_Value_Type)(2))

#define SE_DTDATAVALTYP_SINGLE_INTEGER

((SE_Data_Table_Data_Value_Type)(3))

#define SE_DTDATAVALTYP_INTEGER

((SE_Data_Table_Data_Value_Type)(4))

#define SE_DTDATAVALTYP_SINGLE_COUNT

((SE_Data_Table_Data_Value_Type)(5))

#define SE_DTDATAVALTYP_COUNT

((SE_Data_Table_Data_Value_Type)(6))

#define SE_DTDATAVALTYP_INDEX

((SE_Data_Table_Data_Value_Type)(7))

#define SE_DTDATAVALTYP_STRING

((SE_Data_Table_Data_Value_Type)(8))

#define SE_DTDATAVALTYP_CONSTRAINED_STRING

((SE_Data_Table_Data_Value_Type)(9))

#define SE_DTDATAVALTYP_KEY

((SE_Data_Table_Data_Value_Type)(10))

#define SE_DTDATAVALTYP_ENUMERATION

((SE_Data_Table_Data_Value_Type)(11))

#define SE_DTDATAVALTYP_BOOLEAN

((SE_Data_Table_Data_Value_Type)(12))

#define SE_DTDATAVALTYP_INDEX_CODE

((SE_Data_Table_Data_Value_Type)(13))

SE_DRM_Class

Abstract data type: DRM_Class

typedef SE_Short_Integer SE_DRM_Class;

#define SE_CLS_DRM_NULL

((SE_DRM_Class)(1))

#define SE_CLS_DRM_ABSOLUTE_TIME

((SE_DRM_Class)(2))

#define SE_CLS_DRM_ABSOLUTE_TIME_INTERVAL

((SE_DRM_Class)(3))

#define SE_CLS_DRM_AGGREGATE_FEATURE

((SE_DRM_Class)(4))

#define SE_CLS_DRM_AGGREGATE_GEOMETRY

((SE_DRM_Class)(5))

#define SE_CLS_DRM_ALT_HIER_RELATED_FEATURES

((SE_DRM_Class)(6))

#define SE_CLS_DRM_ALT_HIER_RELATED_GEOMETRY

((SE_DRM_Class)(7))

#define SE_CLS_DRM_AMBIENT_COLOUR

((SE_DRM_Class)(8))

#define SE_CLS_DRM_ANIMATION_BEHAVIOUR

((SE_DRM_Class)(9))

#define SE_CLS_DRM_ANIMATION_RELATED_GEOMETRY

((SE_DRM_Class)(10))

#define SE_CLS_DRM_ARC

((SE_DRM_Class)(11))

#define SE_CLS_DRM_AREAL_FEATURE

((SE_DRM_Class)(12))

#define SE_CLS_DRM_ATTACHMENT_POINT

((SE_DRM_Class)(13))

#define SE_CLS_DRM_AXIS

((SE_DRM_Class)(14))

#define SE_CLS_DRM_BASE_ASSOCIATION_DATA

((SE_DRM_Class)(15))

#define SE_CLS_DRM_BASE_LOD_DATA

((SE_DRM_Class)(16))

#define SE_CLS_DRM_BASE_POSITIONAL_LIGHT

((SE_DRM_Class)(17))

#define SE_CLS_DRM_BASE_SPATIAL_ASSOCIATION_DATA

((SE_DRM_Class)(18))

#define SE_CLS_DRM_BASE_SUMMARY_ITEM

((SE_DRM_Class)(19))

#define SE_CLS_DRM_BASE_TIME_DATA

((SE_DRM_Class)(20))

#define SE_CLS_DRM_BLEND_DIRECTIONAL_LIGHT

((SE_DRM_Class)(21))

#define SE_CLS_DRM_BOUNDING_VOLUME

((SE_DRM_Class)(22))

#define SE_CLS_DRM_BROWSE_MEDIA

((SE_DRM_Class)(23))

#define SE_CLS_DRM_CAMERA_POINT

((SE_DRM_Class)(24))

#define SE_CLS_DRM_CC_3D_LOCATION

((SE_DRM_Class)(25))

#define SE_CLS_DRM_CD_3D_LOCATION

((SE_DRM_Class)(26))

#define SE_CLS_DRM_CD_SURFACE_LOCATION

((SE_DRM_Class)(27))

#define SE_CLS_DRM_CITATION

((SE_DRM_Class)(28))

#define SE_CLS_DRM_CLASSIFICATION_DATA

((SE_DRM_Class)(29))

#define SE_CLS_DRM_CLASSIFICATION_RELATED_FEATURES

((SE_DRM_Class)(30))

#define SE_CLS_DRM_CLASSIFICATION_RELATED_GEOMETRY

((SE_DRM_Class)(31))

#define SE_CLS_DRM_CM_3D_LOCATION

((SE_DRM_Class)(32))

#define SE_CLS_DRM_CMY_COLOUR

((SE_DRM_Class)(33))

#define SE_CLS_DRM_CMY_COLOUR_CONTROL_LINK

((SE_DRM_Class)(34))

#define SE_CLS_DRM_COLLISION_VOLUME

((SE_DRM_Class)(35))

#define SE_CLS_DRM_COLOUR

((SE_DRM_Class)(36))

#define SE_CLS_DRM_COLOUR_DATA

((SE_DRM_Class)(37))

#define SE_CLS_DRM_COLOUR_INDEX

((SE_DRM_Class)(38))

#define SE_CLS_DRM_COLOUR_INDEX_CONTROL_LINK

((SE_DRM_Class)(39))

#define SE_CLS_DRM_COLOUR_SHININESS

((SE_DRM_Class)(40))

#define SE_CLS_DRM_COLOUR_TABLE

((SE_DRM_Class)(41))

#define SE_CLS_DRM_COLOUR_TABLE_GROUP

((SE_DRM_Class)(42))

#define SE_CLS_DRM_COLOUR_TABLE_LIBRARY

((SE_DRM_Class)(43))

#define SE_CLS_DRM_CONE_DIRECTIONAL_LIGHT

((SE_DRM_Class)(44))

#define SE_CLS_DRM_CONFORMAL_BEHAVIOUR

((SE_DRM_Class)(45))

#define SE_CLS_DRM_CONTACT_POINT

((SE_DRM_Class)(46))

#define SE_CLS_DRM_CONTINUOUS_LOD_RELATED_GEOMETRY

((SE_DRM_Class)(47))

#define SE_CLS_DRM_CONTROL_LINK

((SE_DRM_Class)(48))

#define SE_CLS_DRM_CYLINDRICAL_VOLUME_EXTENT

((SE_DRM_Class)(49))

#define SE_CLS_DRM_DATA_QUALITY

((SE_DRM_Class)(50))

#define SE_CLS_DRM_DATA_TABLE

((SE_DRM_Class)(51))

#define SE_CLS_DRM_DATA_TABLE_LIBRARY

((SE_DRM_Class)(52))

#define SE_CLS_DRM_DIFFUSE_COLOUR

((SE_DRM_Class)(53))

#define SE_CLS_DRM_DIRECTIONAL_LIGHT_BEHAVIOUR

((SE_DRM_Class)(54))

#define SE_CLS_DRM_DISTANCE_LOD_DATA

((SE_DRM_Class)(55))

#define SE_CLS_DRM_DRM_CLASS_SUMMARY_ITEM

((SE_DRM_Class)(56))

#define SE_CLS_DRM_EC_AUGMENTED_3D_LOCATION

((SE_DRM_Class)(57))

#define SE_CLS_DRM_EC_SURFACE_LOCATION

((SE_DRM_Class)(58))

#define SE_CLS_DRM_EDCS_USE_SUMMARY_ITEM

((SE_DRM_Class)(59))

#define SE_CLS_DRM_EDGE_DIRECTION

((SE_DRM_Class)(60))

#define SE_CLS_DRM_EI_3D_LOCATION

((SE_DRM_Class)(61))

#define SE_CLS_DRM_ELLIPSE

((SE_DRM_Class)(62))

#define SE_CLS_DRM_EMISSIVE_COLOUR

((SE_DRM_Class)(63))

#define SE_CLS_DRM_ENCLOSING_VOLUME

((SE_DRM_Class)(64))

#define SE_CLS_DRM_ENUMERATION_AXIS

((SE_DRM_Class)(65))

#define SE_CLS_DRM_ENVIRONMENT_ROOT

((SE_DRM_Class)(66))

#define SE_CLS_DRM_ENVIRONMENTAL_DOMAIN_SUMMARY

((SE_DRM_Class)(67))

#define SE_CLS_DRM_EXPRESSION

((SE_DRM_Class)(68))

#define SE_CLS_DRM_FACE_DIRECTION

((SE_DRM_Class)(69))

#define SE_CLS_DRM_FADE_RANGE

((SE_DRM_Class)(70))

#define SE_CLS_DRM_FEATURE_EDGE

((SE_DRM_Class)(71))

#define SE_CLS_DRM_FEATURE_FACE

((SE_DRM_Class)(72))

#define SE_CLS_DRM_FEATURE_FACE_RING

((SE_DRM_Class)(73))

#define SE_CLS_DRM_FEATURE_HIERARCHY

((SE_DRM_Class)(74))

#define SE_CLS_DRM_FEATURE_MODEL

((SE_DRM_Class)(75))

#define SE_CLS_DRM_FEATURE_MODEL_INSTANCE

((SE_DRM_Class)(76))

#define SE_CLS_DRM_FEATURE_NODE

((SE_DRM_Class)(77))

#define SE_CLS_DRM_FEATURE_REPRESENTATION

((SE_DRM_Class)(78))

#define SE_CLS_DRM_FEATURE_TOPOLOGY

((SE_DRM_Class)(79))

#define SE_CLS_DRM_FEATURE_TOPOLOGY_HIERARCHY

((SE_DRM_Class)(80))

#define SE_CLS_DRM_FEATURE_VOLUME

((SE_DRM_Class)(81))

#define SE_CLS_DRM_FEATURE_VOLUME_SHELL

((SE_DRM_Class)(82))

#define SE_CLS_DRM_FINITE_ELEMENT_MESH

((SE_DRM_Class)(83))

#define SE_CLS_DRM_FLASHING_LIGHT_BEHAVIOUR

((SE_DRM_Class)(84))

#define SE_CLS_DRM_FUNCTION

((SE_DRM_Class)(85))

#define SE_CLS_DRM_FUNCTIONAL_ASSOCIATION_DATA

((SE_DRM_Class)(86))

#define SE_CLS_DRM_GEOMETRIC_CENTRE

((SE_DRM_Class)(87))

#define SE_CLS_DRM_GEOMETRY_EDGE

((SE_DRM_Class)(88))

#define SE_CLS_DRM_GEOMETRY_FACE

((SE_DRM_Class)(89))

#define SE_CLS_DRM_GEOMETRY_HIERARCHY

((SE_DRM_Class)(90))

#define SE_CLS_DRM_GEOMETRY_MODEL

((SE_DRM_Class)(91))

#define SE_CLS_DRM_GEOMETRY_MODEL_INSTANCE

((SE_DRM_Class)(92))

#define SE_CLS_DRM_GEOMETRY_NODE

((SE_DRM_Class)(93))

#define SE_CLS_DRM_GEOMETRY_REPRESENTATION

((SE_DRM_Class)(94))

#define SE_CLS_DRM_GEOMETRY_TOPOLOGY

((SE_DRM_Class)(95))

#define SE_CLS_DRM_GEOMETRY_TOPOLOGY_HIERARCHY

((SE_DRM_Class)(96))

#define SE_CLS_DRM_GEOMETRY_VOLUME

((SE_DRM_Class)(97))

#define SE_CLS_DRM_GRID_OVERLAP

((SE_DRM_Class)(98))

#define SE_CLS_DRM_HAEC_3D_LOCATION

((SE_DRM_Class)(99))

#define SE_CLS_DRM_HEEC_3D_LOCATION

((SE_DRM_Class)(100))

#define SE_CLS_DRM_HEEQ_3D_LOCATION

((SE_DRM_Class)(101))

#define SE_CLS_DRM_HIERARCHY_DATA

((SE_DRM_Class)(102))

#define SE_CLS_DRM_HIERARCHY_SUMMARY_ITEM

((SE_DRM_Class)(103))

#define SE_CLS_DRM_HSV_COLOUR

((SE_DRM_Class)(104))

#define SE_CLS_DRM_HSV_COLOUR_CONTROL_LINK

((SE_DRM_Class)(105))

#define SE_CLS_DRM_ICON

((SE_DRM_Class)(106))

#define SE_CLS_DRM_IDENTIFICATION

((SE_DRM_Class)(107))

#define SE_CLS_DRM_IMAGE

((SE_DRM_Class)(108))

#define SE_CLS_DRM_IMAGE_ANCHOR

((SE_DRM_Class)(109))

#define SE_CLS_DRM_IMAGE_LIBRARY

((SE_DRM_Class)(110))

#define SE_CLS_DRM_IMAGE_MAPPING_FUNCTION

((SE_DRM_Class)(111))

#define SE_CLS_DRM_IN_OUT

((SE_DRM_Class)(112))

#define SE_CLS_DRM_INDEX_LOD_DATA

((SE_DRM_Class)(113))

#define SE_CLS_DRM_INFINITE_LIGHT

((SE_DRM_Class)(114))

#define SE_CLS_DRM_INLINE_COLOUR

((SE_DRM_Class)(115))

#define SE_CLS_DRM_INTERFACE_TEMPLATE

((SE_DRM_Class)(116))

#define SE_CLS_DRM_INTERVAL_AXIS

((SE_DRM_Class)(117))

#define SE_CLS_DRM_IRREGULAR_AXIS

((SE_DRM_Class)(118))

#define SE_CLS_DRM_KEYWORDS

((SE_DRM_Class)(119))

#define SE_CLS_DRM_LABEL

((SE_DRM_Class)(120))

#define SE_CLS_DRM_LCC_AUGMENTED_3D_LOCATION

((SE_DRM_Class)(121))

#define SE_CLS_DRM_LCC_SURFACE_LOCATION

((SE_DRM_Class)(122))

#define SE_CLS_DRM_LCE_3D_LOCATION

((SE_DRM_Class)(123))

#define SE_CLS_DRM_LEGAL_CONSTRAINTS

((SE_DRM_Class)(124))

#define SE_CLS_DRM_LIBRARY

((SE_DRM_Class)(125))

#define SE_CLS_DRM_LIGHT_RENDERING_BEHAVIOUR

((SE_DRM_Class)(126))

#define SE_CLS_DRM_LIGHT_RENDERING_PROPERTIES

((SE_DRM_Class)(127))

#define SE_CLS_DRM_LIGHT_RENDERING_PROP_CONTROL_LINK

((SE_DRM_Class)(128))

#define SE_CLS_DRM_LIGHT_SOURCE

((SE_DRM_Class)(129))

#define SE_CLS_DRM_LIGHT_SOURCE_CONTROL_LINK

((SE_DRM_Class)(130))

#define SE_CLS_DRM_LINE

((SE_DRM_Class)(131))

#define SE_CLS_DRM_LINEAGE

((SE_DRM_Class)(132))

#define SE_CLS_DRM_LINEAR_FEATURE

((SE_DRM_Class)(133))

#define SE_CLS_DRM_LINEAR_GEOMETRY

((SE_DRM_Class)(134))

#define SE_CLS_DRM_LITERAL

((SE_DRM_Class)(135))

#define SE_CLS_DRM_LOBE_DATA

((SE_DRM_Class)(136))

#define SE_CLS_DRM_LOCAL_4X4

((SE_DRM_Class)(137))

#define SE_CLS_DRM_LOCATION

((SE_DRM_Class)(138))

#define SE_CLS_DRM_LOCATION_2D

((SE_DRM_Class)(139))

#define SE_CLS_DRM_LOCATION_3D

((SE_DRM_Class)(140))

#define SE_CLS_DRM_LOCATION_SURFACE

((SE_DRM_Class)(141))

#define SE_CLS_DRM_LOD_RELATED_FEATURES

((SE_DRM_Class)(142))

#define SE_CLS_DRM_LOD_RELATED_GEOMETRY

((SE_DRM_Class)(143))

#define SE_CLS_DRM_LSA_2D_LOCATION

((SE_DRM_Class)(144))

#define SE_CLS_DRM_LSP_2D_LOCATION

((SE_DRM_Class)(145))

#define SE_CLS_DRM_LSR_2D_LOCATION

((SE_DRM_Class)(146))

#define SE_CLS_DRM_LSR_3D_LOCATION

((SE_DRM_Class)(147))

#define SE_CLS_DRM_LSR_3D_LOCATION_CONTROL_LINK

((SE_DRM_Class)(148))

#define SE_CLS_DRM_LSR_TRANSFORMATION

((SE_DRM_Class)(149))

#define SE_CLS_DRM_LSR_TRANSFORMATION_STEP

((SE_DRM_Class)(150))

#define SE_CLS_DRM_LTSAS_3D_LOCATION

((SE_DRM_Class)(151))

#define SE_CLS_DRM_LTSAS_SURFACE_LOCATION

((SE_DRM_Class)(152))

#define SE_CLS_DRM_LTSC_3D_LOCATION

((SE_DRM_Class)(153))

#define SE_CLS_DRM_LTSC_SURFACE_LOCATION

((SE_DRM_Class)(154))

#define SE_CLS_DRM_LTSE_3D_LOCATION

((SE_DRM_Class)(155))

#define SE_CLS_DRM_LTSE_SURFACE_LOCATION

((SE_DRM_Class)(156))

#define SE_CLS_DRM_M_AUGMENTED_3D_LOCATION

((SE_DRM_Class)(157))

#define SE_CLS_DRM_M_SURFACE_LOCATION

((SE_DRM_Class)(158))

#define SE_CLS_DRM_MAP_SCALE_LOD_DATA

((SE_DRM_Class)(159))

#define SE_CLS_DRM_MESH_FACE_TABLE

((SE_DRM_Class)(160))

#define SE_CLS_DRM_MODEL

((SE_DRM_Class)(161))

#define SE_CLS_DRM_MODEL_INSTANCE_TEMPLATE_INDEX

((SE_DRM_Class)(162))

#define SE_CLS_DRM_MODEL_LIBRARY

((SE_DRM_Class)(163))

#define SE_CLS_DRM_MOVING_LIGHT_BEHAVIOUR

((SE_DRM_Class)(164))

#define SE_CLS_DRM_OCTANT_DATA

((SE_DRM_Class)(165))

#define SE_CLS_DRM_OCTANT_RELATED_FEATURES

((SE_DRM_Class)(166))

#define SE_CLS_DRM_OCTANT_RELATED_GEOMETRY

((SE_DRM_Class)(167))

#define SE_CLS_DRM_OMS_AUGMENTED_3D_LOCATION

((SE_DRM_Class)(168))

#define SE_CLS_DRM_OMS_SURFACE_LOCATION

((SE_DRM_Class)(169))

#define SE_CLS_DRM_OVERLOAD_PRIORITY_INDEX

((SE_DRM_Class)(170))

#define SE_CLS_DRM_PARALLELEPIPED_VOLUME_EXTENT

((SE_DRM_Class)(171))

#define SE_CLS_DRM_PD_3D_LOCATION

((SE_DRM_Class)(172))

#define SE_CLS_DRM_PD_SURFACE_LOCATION

((SE_DRM_Class)(173))

#define SE_CLS_DRM_PERIMETER_DATA

((SE_DRM_Class)(174))

#define SE_CLS_DRM_PERIMETER_RELATED_FEATURE_TOPOLOGY

((SE_DRM_Class)(175))

#define SE_CLS_DRM_PERIMETER_RELATED_FEATURES

((SE_DRM_Class)(176))

#define SE_CLS_DRM_PERIMETER_RELATED_GEOMETRY

((SE_DRM_Class)(177))

#define SE_CLS_DRM_PERIMETER_RELATED_GEOMETRY_TOPOLOGY

((SE_DRM_Class)(178))

#define SE_CLS_DRM_POINT

((SE_DRM_Class)(179))

#define