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 SE_CLS_DRM_POINT_FEATURE

((SE_DRM_Class)(180))

#define SE_CLS_DRM_POLYGON

((SE_DRM_Class)(181))

#define SE_CLS_DRM_POLYGON_CONTROL_LINK

((SE_DRM_Class)(182))

#define SE_CLS_DRM_POLYHEDRON

((SE_DRM_Class)(183))

#define SE_CLS_DRM_POSITIONAL_LIGHT

((SE_DRM_Class)(184))

#define SE_CLS_DRM_PREDEFINED_FUNCTION

((SE_DRM_Class)(185))

#define SE_CLS_DRM_PRESENTATION_DOMAIN

((SE_DRM_Class)(186))

#define SE_CLS_DRM_PRIMITIVE_COLOUR

((SE_DRM_Class)(187))

#define SE_CLS_DRM_PRIMITIVE_FEATURE

((SE_DRM_Class)(188))

#define SE_CLS_DRM_PRIMITIVE_GEOMETRY

((SE_DRM_Class)(189))

#define SE_CLS_DRM_PRIMITIVE_SUMMARY_ITEM

((SE_DRM_Class)(190))

#define SE_CLS_DRM_PROCESS_STEP

((SE_DRM_Class)(191))

#define SE_CLS_DRM_PROPERTY

((SE_DRM_Class)(192))

#define SE_CLS_DRM_PROPERTY_CHARACTERISTIC

((SE_DRM_Class)(193))

#define SE_CLS_DRM_PROPERTY_DESCRIPTION

((SE_DRM_Class)(194))

#define SE_CLS_DRM_PROPERTY_GRID

((SE_DRM_Class)(195))

#define SE_CLS_DRM_PROPERTY_GRID_HOOK_POINT

((SE_DRM_Class)(196))

#define SE_CLS_DRM_PROPERTY_SET

((SE_DRM_Class)(197))

#define SE_CLS_DRM_PROPERTY_SET_INDEX

((SE_DRM_Class)(198))

#define SE_CLS_DRM_PROPERTY_SET_INDEX_CONTROL_LINK

((SE_DRM_Class)(199))

#define SE_CLS_DRM_PROPERTY_SET_TABLE

((SE_DRM_Class)(200))

#define SE_CLS_DRM_PROPERTY_SET_TABLE_GROUP

((SE_DRM_Class)(201))

#define SE_CLS_DRM_PROPERTY_SET_TABLE_LIBRARY

((SE_DRM_Class)(202))

#define SE_CLS_DRM_PROPERTY_TABLE

((SE_DRM_Class)(203))

#define SE_CLS_DRM_PROPERTY_TABLE_REFERENCE

((SE_DRM_Class)(204))

#define SE_CLS_DRM_PROPERTY_TABLE_REFERENCE_CONTROL_LINK

((SE_DRM_Class)(205))

#define SE_CLS_DRM_PROPERTY_VALUE

((SE_DRM_Class)(206))

#define SE_CLS_DRM_PROXIMITY_DATA

((SE_DRM_Class)(207))

#define SE_CLS_DRM_PS_AUGMENTED_3D_LOCATION

((SE_DRM_Class)(208))

#define SE_CLS_DRM_PS_SURFACE_LOCATION

((SE_DRM_Class)(209))

#define SE_CLS_DRM_PSEUDO_CODE_FUNCTION

((SE_DRM_Class)(210))

#define SE_CLS_DRM_PYRAMID_DIRECTIONAL_LIGHT

((SE_DRM_Class)(211))

#define SE_CLS_DRM_QUADRANT_DATA

((SE_DRM_Class)(212))

#define SE_CLS_DRM_QUADRANT_RELATED_FEATURES

((SE_DRM_Class)(213))

#define SE_CLS_DRM_QUADRANT_RELATED_GEOMETRY

((SE_DRM_Class)(214))

#define SE_CLS_DRM_REFERENCE_ORIGIN

((SE_DRM_Class)(215))

#define SE_CLS_DRM_REFERENCE_SURFACE

((SE_DRM_Class)(216))

#define SE_CLS_DRM_REFERENCE_VECTOR

((SE_DRM_Class)(217))

#define SE_CLS_DRM_REFERENCE_VECTOR_CONTROL_LINK

((SE_DRM_Class)(218))

#define SE_CLS_DRM_REGULAR_AXIS

((SE_DRM_Class)(219))

#define SE_CLS_DRM_RELATIVE_TIME

((SE_DRM_Class)(220))

#define SE_CLS_DRM_RELATIVE_TIME_INTERVAL

((SE_DRM_Class)(221))

#define SE_CLS_DRM_RENDERING_PRIORITY_LEVEL

((SE_DRM_Class)(222))

#define SE_CLS_DRM_RENDERING_PROPERTIES

((SE_DRM_Class)(223))

#define SE_CLS_DRM_RESPONSIBLE_PARTY

((SE_DRM_Class)(224))

#define SE_CLS_DRM_RGB_COLOUR

((SE_DRM_Class)(225))

#define SE_CLS_DRM_RGB_COLOUR_CONTROL_LINK

((SE_DRM_Class)(226))

#define SE_CLS_DRM_ROLE_DATA

((SE_DRM_Class)(227))

#define SE_CLS_DRM_ROTATING_LIGHT_BEHAVIOUR

((SE_DRM_Class)(228))

#define SE_CLS_DRM_ROTATION

((SE_DRM_Class)(229))

#define SE_CLS_DRM_ROTATION_CONTROL_LINK

((SE_DRM_Class)(230))

#define SE_CLS_DRM_SCALE

((SE_DRM_Class)(231))

#define SE_CLS_DRM_SCALE_CONTROL_LINK

((SE_DRM_Class)(232))

#define SE_CLS_DRM_SEASON

((SE_DRM_Class)(233))

#define SE_CLS_DRM_SEC_3D_LOCATION

((SE_DRM_Class)(234))

#define SE_CLS_DRM_SECURITY_CONSTRAINTS

((SE_DRM_Class)(235))

#define SE_CLS_DRM_SEDRIS_ABSTRACT_BASE

((SE_DRM_Class)(236))

#define SE_CLS_DRM_SEPARATING_PLANE

((SE_DRM_Class)(237))

#define SE_CLS_DRM_SEPARATING_PLANE_DATA

((SE_DRM_Class)(238))

#define SE_CLS_DRM_SEPARATING_PLANE_RELATED_GEOMETRY

((SE_DRM_Class)(239))

#define SE_CLS_DRM_SEPARATING_PLANE_RELATIONS

((SE_DRM_Class)(240))

#define SE_CLS_DRM_SEQ_3D_LOCATION

((SE_DRM_Class)(241))

#define SE_CLS_DRM_SMD_3D_LOCATION

((SE_DRM_Class)(242))

#define SE_CLS_DRM_SME_3D_LOCATION

((SE_DRM_Class)(243))

#define SE_CLS_DRM_SOUND

((SE_DRM_Class)(244))

#define SE_CLS_DRM_SOUND_INSTANCE

((SE_DRM_Class)(245))

#define SE_CLS_DRM_SOUND_INSTANCE_CONTROL_LINK

((SE_DRM_Class)(246))

#define SE_CLS_DRM_SOUND_LIBRARY

((SE_DRM_Class)(247))

#define SE_CLS_DRM_SOUND_VOLUME

((SE_DRM_Class)(248))

#define SE_CLS_DRM_SOURCE

((SE_DRM_Class)(249))

#define SE_CLS_DRM_SPATIAL_ASSOCIATION_DATA

((SE_DRM_Class)(250))

#define SE_CLS_DRM_SPATIAL_EXTENT

((SE_DRM_Class)(251))

#define SE_CLS_DRM_SPATIAL_INDEX_DATA

((SE_DRM_Class)(252))

#define SE_CLS_DRM_SPATIAL_IDX_REL_FEATURE_TOPOLOGY

((SE_DRM_Class)(253))

#define SE_CLS_DRM_SPATIAL_IDX_REL_FEATURES

((SE_DRM_Class)(254))

#define SE_CLS_DRM_SPATIAL_IDX_REL_GEOM

((SE_DRM_Class)(255))

#define SE_CLS_DRM_SPATIAL_IDX_REL_GEOM_TOPOLOGY

((SE_DRM_Class)(256))

#define SE_CLS_DRM_SPATIAL_RESOLUTION_LOD_DATA

((SE_DRM_Class)(257))

#define SE_CLS_DRM_SPECULAR_COLOUR

((SE_DRM_Class)(258))

#define SE_CLS_DRM_SPHERICAL_VOLUME_EXTENT

((SE_DRM_Class)(259))

#define SE_CLS_DRM_SPOT_LIGHT

((SE_DRM_Class)(260))

#define SE_CLS_DRM_SRF_SUMMARY

((SE_DRM_Class)(261))

#define SE_CLS_DRM_STAMP_BEHAVIOUR

((SE_DRM_Class)(262))

#define SE_CLS_DRM_STATE_CONTROL_LINK

((SE_DRM_Class)(263))

#define SE_CLS_DRM_STATE_DATA

((SE_DRM_Class)(264))

#define SE_CLS_DRM_STATE_RELATED_FEATURES

((SE_DRM_Class)(265))

#define SE_CLS_DRM_STATE_RELATED_GEOMETRY

((SE_DRM_Class)(266))

#define SE_CLS_DRM_STROBING_LIGHT_BEHAVIOUR

((SE_DRM_Class)(267))

#define SE_CLS_DRM_SURFACE_GEOMETRY

((SE_DRM_Class)(268))

#define SE_CLS_DRM_SYMBOL

((SE_DRM_Class)(269))

#define SE_CLS_DRM_SYMBOL_LIBRARY

((SE_DRM_Class)(270))

#define SE_CLS_DRM_TABLE_PROPERTY_DESCRIPTION

((SE_DRM_Class)(271))

#define SE_CLS_DRM_TACK_POINT

((SE_DRM_Class)(272))

#define SE_CLS_DRM_TEXT

((SE_DRM_Class)(273))

#define SE_CLS_DRM_TEXTURE_COORDINATE

((SE_DRM_Class)(274))

#define SE_CLS_DRM_TEXTURE_COORDINATE_CONTROL_LINK

((SE_DRM_Class)(275))

#define SE_CLS_DRM_TIME_CONSTRAINTS_DATA

((SE_DRM_Class)(276))

#define SE_CLS_DRM_TIME_INTERVAL

((SE_DRM_Class)(277))

#define SE_CLS_DRM_TIME_OF_DAY

((SE_DRM_Class)(278))

#define SE_CLS_DRM_TIME_POINT

((SE_DRM_Class)(279))

#define SE_CLS_DRM_TIME_RELATED_FEATURES

((SE_DRM_Class)(280))

#define SE_CLS_DRM_TIME_RELATED_GEOMETRY

((SE_DRM_Class)(281))

#define SE_CLS_DRM_TM_AUGMENTED_3D_LOCATION

((SE_DRM_Class)(282))

#define SE_CLS_DRM_TM_SURFACE_LOCATION

((SE_DRM_Class)(283))

#define SE_CLS_DRM_TRANSFORMATION

((SE_DRM_Class)(284))

#define SE_CLS_DRM_TRANSLATION

((SE_DRM_Class)(285))

#define SE_CLS_DRM_TRANSLATION_CONTROL_LINK

((SE_DRM_Class)(286))

#define SE_CLS_DRM_TRANSLUCENCY

((SE_DRM_Class)(287))

#define SE_CLS_DRM_TRANSLUCENCY_CONTROL_LINK

((SE_DRM_Class)(288))

#define SE_CLS_DRM_TRANSMITTAL_ROOT

((SE_DRM_Class)(289))

#define SE_CLS_DRM_TRANSMITTAL_SUMMARY

((SE_DRM_Class)(290))

#define SE_CLS_DRM_TWINKLING_LIGHT_BEHAVIOUR

((SE_DRM_Class)(291))

#define SE_CLS_DRM_UNION_OF_FEATURE_TOPOLOGY

((SE_DRM_Class)(292))

#define SE_CLS_DRM_UNION_OF_FEATURES

((SE_DRM_Class)(293))

#define SE_CLS_DRM_UNION_OF_GEOMETRY

((SE_DRM_Class)(294))

#define SE_CLS_DRM_UNION_OF_GEOMETRY_HIERARCHY

((SE_DRM_Class)(295))

#define SE_CLS_DRM_UNION_OF_GEOMETRY_TOPOLOGY

((SE_DRM_Class)(296))

#define SE_CLS_DRM_UNION_OF_PRIMITIVE_GEOMETRY

((SE_DRM_Class)(297))

#define SE_CLS_DRM_VARIABLE

((SE_DRM_Class)(298))

#define SE_CLS_DRM_VERTEX

((SE_DRM_Class)(299))

#define SE_CLS_DRM_VOLUME_EXTENT

((SE_DRM_Class)(300))

#define SE_CLS_DRM_VOLUME_GEOMETRY

((SE_DRM_Class)(301))

#define SE_CLS_DRM_VOLUME_LIGHT_BEHAVIOUR

((SE_DRM_Class)(302))

#define SE_CLS_DRM_VOLUME_LOD_DATA

((SE_DRM_Class)(303))

#define SE_CLS_DRM_VOLUME_OBJECT

((SE_DRM_Class)(304))

#define SE_CLS_DRM_VOLUMETRIC_FEATURE

((SE_DRM_Class)(305))

#define SE_CLS_DRM_WORLD_3X3

((SE_DRM_Class)(306))

#define SE_CLS_DRM_WORLD_TRANSFORMATION

((SE_DRM_Class)(307))

SE_Element_Type_Code

Abstract data type: Element_Type_Code

typedef SE_Short_Integer   SE_Element_Type_Code;

#define SE_ELEMTYPCOD_ATTRIBUTE

((SE_Element_Type_Code)(1))

#define SE_ELEMTYPCOD_INDEX

((SE_Element_Type_Code)(2))

#define SE_ELEMTYPCOD_VARIABLE

((SE_Element_Type_Code)(3))

SE_Encoding

Abstract data type: Encoding

typedef SE_Short_Integer   SE_Encoding;

#define SE_ENCODING_STF

((SE_Element_Type_Code)(1))

SE_Enumerated_Or_Selection_Type

Abstract data type: Enumerated_Or_Selection_Type

typedef SE_Short_Integer SE_Enumerated_Or_Selection_Type;

#define SE_ENUMSEL_NULL_TYPE

((SE_Enumerated_Or_Selection_Type)(1))

#define SE_ENUMSEL_AXIS_ALIGNMENT

((SE_Enumerated_Or_Selection_Type)(2))

#define SE_ENUMSEL_BOOLEAN

((SE_Enumerated_Or_Selection_Type)(3))

#define SE_ENUMSEL_CAMERA_PROJECTION_TYPE

((SE_Enumerated_Or_Selection_Type)(4))

#define SE_ENUMSEL_CI_ROLECODE

((SE_Enumerated_Or_Selection_Type)(5))

#define SE_ENUMSEL_COLOUR_BINDING

((SE_Enumerated_Or_Selection_Type)(6))

#define SE_ENUMSEL_COLOUR_MODEL

((SE_Enumerated_Or_Selection_Type)(7))

#define SE_ENUMSEL_DRM_CLASS

((SE_Enumerated_Or_Selection_Type)(8))

#define SE_ENUMSEL_EDCS_ATTRIBUTE_CODE

((SE_Enumerated_Or_Selection_Type)(9))

#define SE_ENUMSEL_EDCS_ATTRIBUTE_VALUE_TYPE

((SE_Enumerated_Or_Selection_Type)(10))

#define SE_ENUMSEL_EDCS_BOOLEAN

((SE_Enumerated_Or_Selection_Type)(11))

#define SE_ENUMSEL_EDCS_CLASSIFICATION_CODE

((SE_Enumerated_Or_Selection_Type)(12))

#define SE_ENUMSEL_EDCS_ENUMERANT_CODE

((SE_Enumerated_Or_Selection_Type)(13))

#define SE_ENUMSEL_EDCS_NUMERIC_VALUE_TYPE

((SE_Enumerated_Or_Selection_Type)(14))

#define SE_ENUMSEL_EDCS_UNIT_CODE

((SE_Enumerated_Or_Selection_Type)(16))

#define SE_ENUMSEL_EDCS_UNIT_SCALE_CODE

((SE_Enumerated_Or_Selection_Type)(15))

#define SE_ENUMSEL_EDCS_VALUE_CHARACTERISTIC_CODE

((SE_Enumerated_Or_Selection_Type)(17))

#define SE_ENUMSEL_ELEMENT_TYPE_CODE

((SE_Enumerated_Or_Selection_Type)(18))

#define SE_ENUMSEL_FEATURE_TOPOLOGY_LEVEL

((SE_Enumerated_Or_Selection_Type)(19))

#define SE_ENUMSEL_FONT_STYLE

((SE_Enumerated_Or_Selection_Type)(20))

#define SE_ENUMSEL_FUNCTIONAL_ASSOCIATION_MEANING_TYPE

((SE_Enumerated_Or_Selection_Type)(21))

#define SE_ENUMSEL_GEOMETRIC_CENTRE_CODE

((SE_Enumerated_Or_Selection_Type)(22))

#define SE_ENUMSEL_GEOMETRY_TOPOLOGY_LEVEL

((SE_Enumerated_Or_Selection_Type)(23))

#define SE_ENUMSEL_GRID_OVERLAP_OPERATOR

((SE_Enumerated_Or_Selection_Type)(24))

#define SE_ENUMSEL_HIERARCHY_SUMMARY_MULTIPLICITY_CODE

((SE_Enumerated_Or_Selection_Type)(25))

#define SE_ENUMSEL_IMAGE_COMPONENT_TYPE

((SE_Enumerated_Or_Selection_Type)(26))

#define SE_ENUMSEL_IMAGE_MAPPING_METHOD

((SE_Enumerated_Or_Selection_Type)(27))

#define SE_ENUMSEL_IMAGE_PROJECTION_TYPE

((SE_Enumerated_Or_Selection_Type)(28))

#define SE_ENUMSEL_IMAGE_SCAN_DIRECTION

((SE_Enumerated_Or_Selection_Type)(29))

#define SE_ENUMSEL_IMAGE_SCAN_DIRECTION_Z

((SE_Enumerated_Or_Selection_Type)(30))

#define SE_ENUMSEL_IMAGE_SIGNATURE

((SE_Enumerated_Or_Selection_Type)(31))

#define SE_ENUMSEL_IMAGE_WRAP

((SE_Enumerated_Or_Selection_Type)(32))

#define SE_ENUMSEL_INDEX_CODE

((SE_Enumerated_Or_Selection_Type)(33))

#define SE_ENUMSEL_INTERPOLATION_TYPE

((SE_Enumerated_Or_Selection_Type)(34))

#define SE_ENUMSEL_LOD_DATA_TYPE

((SE_Enumerated_Or_Selection_Type)(35))

#define SE_ENUMSEL_LSR_TRANSFORMATION_AXIS

((SE_Enumerated_Or_Selection_Type)(36))

#define SE_ENUMSEL_MD_KEYWORDTYPECODE

((SE_Enumerated_Or_Selection_Type)(37))

#define SE_ENUMSEL_MD_RESTRICTIONCODE

((SE_Enumerated_Or_Selection_Type)(38))

#define SE_ENUMSEL_MEDIA_FORMAT

((SE_Enumerated_Or_Selection_Type)(39))

#define SE_ENUMSEL_MODEL_REFERENCE_TYPE

((SE_Enumerated_Or_Selection_Type)(40))

#define SE_ENUMSEL_MONTH

((SE_Enumerated_Or_Selection_Type)(41))

#define SE_ENUMSEL_OCTANT

((SE_Enumerated_Or_Selection_Type)(42))

#define SE_ENUMSEL_ORDERING_REASON

((SE_Enumerated_Or_Selection_Type)(43))

#define SE_ENUMSEL_PIXEL_FILL_METHOD

((SE_Enumerated_Or_Selection_Type)(44))

#define SE_ENUMSEL_POINT_LIGHT_DISPLAY_TYPE

((SE_Enumerated_Or_Selection_Type)(45))

#define SE_ENUMSEL_PREDEFINED_FUNCTION

((SE_Enumerated_Or_Selection_Type)(46))

#define SE_ENUMSEL_PRESENT_IN

((SE_Enumerated_Or_Selection_Type)(47))

#define SE_ENUMSEL_PROPERTY_CODE_TYPE

((SE_Enumerated_Or_Selection_Type)(48))

#define SE_ENUMSEL_QUADRANT

((SE_Enumerated_Or_Selection_Type)(49))

#define SE_ENUMSEL_REFERENCE_SURFACE_ELEVATION_SELECT

((SE_Enumerated_Or_Selection_Type)(50))

#define SE_ENUMSEL_REFERENCE_SURFACE_LOD_SELECT

((SE_Enumerated_Or_Selection_Type)(51))

#define SE_ENUMSEL_REFERENCE_VECTOR_TYPE

((SE_Enumerated_Or_Selection_Type)(52))

#define SE_ENUMSEL_SEASON

((SE_Enumerated_Or_Selection_Type)(53))

#define SE_ENUMSEL_SHADING_METHOD

((SE_Enumerated_Or_Selection_Type)(54))

#define SE_ENUMSEL_SINGLE_VALUE_TYPE

((SE_Enumerated_Or_Selection_Type)(55))

#define SE_ENUMSEL_SOUND_FORMAT

((SE_Enumerated_Or_Selection_Type)(56))

#define SE_ENUMSEL_SPACING_TYPE

((SE_Enumerated_Or_Selection_Type)(57))

#define SE_ENUMSEL_SPATIAL_ASSOCIATION_MEANING_TYPE

((SE_Enumerated_Or_Selection_Type)(58))

#define SE_ENUMSEL_SPATIAL_INDEX_SPACING_UNIT

((SE_Enumerated_Or_Selection_Type)(59))

#define SE_ENUMSEL_SRM_DSS_CODE

((SE_Enumerated_Or_Selection_Type)(60))

#define SE_ENUMSEL_STATE_MISMATCH_BEHAVIOUR

((SE_Enumerated_Or_Selection_Type)(61))

#define SE_ENUMSEL_SYMBOL_FORMAT

((SE_Enumerated_Or_Selection_Type)(62))

#define SE_ENUMSEL_TIME_CONFIGURATION

((SE_Enumerated_Or_Selection_Type)(63))

#define SE_ENUMSEL_TIME_DATA_TYPE

((SE_Enumerated_Or_Selection_Type)(64))

#define SE_ENUMSEL_TIME_OF_DAY

((SE_Enumerated_Or_Selection_Type)(65))

#define SE_ENUMSEL_TIME_SIGNIFICANCE

((SE_Enumerated_Or_Selection_Type)(66))

#define SE_ENUMSEL_UNDERLINE_STYLE

((SE_Enumerated_Or_Selection_Type)(67))

#define SE_ENUMSEL_UNION_REASON

((SE_Enumerated_Or_Selection_Type)(68))

#define SE_ENUMSEL_VARIABLE_CODE

((SE_Enumerated_Or_Selection_Type)(69))

SE_Feature_Topology_Level

Abstract data type: Feature_Topology_Level

typedef SE_Short_Integer   SE_Feature_Topology_Level;

#define SE_FTL_ZERO

((SE_Feature_Topology_Level)(1))

#define SE_FTL_ONE

((SE_Feature_Topology_Level)(2))

#define SE_FTL_TWO

((SE_Feature_Topology_Level)(3))

#define SE_FTL_THREE

((SE_Feature_Topology_Level)(4))

#define SE_FTL_FOUR

((SE_Feature_Topology_Level)(5))

#define SE_FTL_FIVE

((SE_Feature_Topology_Level)(6))

SE_Font_Style

Abstract data type: Font_Style

typedef SE_Short_Integer   SE_Font_Style;

#define SE_FONT_NORMAL

((SE_Font_Style)(1))

#define SE_FONT_BOLD

((SE_Font_Style)(2))

#define SE_FONT_ITALIC

((SE_Font_Style)(3))

#define SE_FONT_BOLD_ITALIC

((SE_Font_Style)(4))

SE_Functional_Association_Meaning_Type

Abstract data type: Functional_Association_Meaning_Type

typedef SE_Short_Integer   SE_Functional_Association_Meaning_Type;

#define SE_FNASSMNTYP_CONTROLS

((SE_Functional_Association_Meaning_Type)(1))

#define SE_FNASSMNTYP_CONTROLLED_BY

((SE_Functional_Association_Meaning_Type)(2))

#define SE_FNASSMNTYP_SUPPORTS

((SE_Functional_Association_Meaning_Type)(3))

#define SE_FNASSMNTYP_SUPPORTED_BY

((SE_Functional_Association_Meaning_Type)(4))

#define SE_FNASSMNTYP_ATTACHED

((SE_Functional_Association_Meaning_Type)(5))

SE_Geometric_Centre_Code

Abstract data type: Geometric_Centre_Code

typedef SE_Short_Integer   SE_Geometric_Centre_Code;

#define SE_GEOMCTRCOD_CENTRE_OF_BUOYANCY

((SE_Geometric_Centre_Code)(1))

#define SE_GEOMCTRCOD_CENTRE_OF_MASS

((SE_Geometric_Centre_Code)(2))

#define SE_GEOMCTRCOD_CENTRE_OF_PRESSURE

((SE_Geometric_Centre_Code)(3))

SE_Geometry_Topology_Level

Abstract data type: Geometry_Topology_Level

typedef SE_Short_Integer   SE_Geometry_Topology_Level;

#define SE_GTL_ZERO

((SE_Geometry_Topology_Level)(1))

#define SE_GTL_ONE

((SE_Geometry_Topology_Level)(2))

#define SE_GTL_TWO

((SE_Geometry_Topology_Level)(3))

#define SE_GTL_THREE

((SE_Geometry_Topology_Level)(4))

#define SE_GTL_FOUR

((SE_Geometry_Topology_Level)(5))

#define SE_GTL_FIVE

((SE_Geometry_Topology_Level)(6))

SE_Grid_Overlap_Operator

Abstract data type: Grid_Overlap_Operator

typedef SE_Short_Integer   SE_Grid_Overlap_Operator;

#define SE_GROVLOP_BASE

((SE_Grid_Overlap_Operator)(1))

#define SE_GROVLOP_REPLACE

((SE_Grid_Overlap_Operator)(2))

#define SE_GROVLOP_MERGE

((SE_Grid_Overlap_Operator)(3))

#define SE_GROVLOP_ADD

((SE_Grid_Overlap_Operator)(4))

#define SE_GROVLOP_AVERAGE

((SE_Grid_Overlap_Operator)(5))

SE_Hierarchy_Summary_Multiplicity_Code

Abstract data type: Hierarchy_Summary_Multiplicity_Code

typedef SE_Short_Integer   SE_Hierarchy_Summary_Multiplicity_Code;

#define SE_HSMULCOD_EXACT

((SE_Hierarchy_Summary_Multiplicity_Code)(1))

#define SE_HSMULCOD_ORDER_OF_MAGNITUDE

((SE_Hierarchy_Summary_Multiplicity_Code)(2))

#define SE_HSMULCOD_UNKNOWN

((SE_Hierarchy_Summary_Multiplicity_Code)(3))

SE_Image_Component_Type

Abstract data type: Image_Component_Type

typedef SE_Short_Integer   SE_Image_Component_Type;

#define SE_IMAGCOMP_SIGNED_INTEGER

((SE_Image_Component_Type)(1))

#define SE_IMAGCOMP_UNSIGNED_INTEGER

((SE_Image_Component_Type)(2))

#define SE_IMAGCOMP_FLOATING_POINT

((SE_Image_Component_Type)(3))

SE_Image_Mapping_Method

Abstract data type: Image_Mapping_Method

typedef SE_Short_Integer   SE_Image_Mapping_Method;

#define SE_IMAGMAPMETH_REPLACE

((SE_Image_Mapping_Method)(1))

#define SE_IMAGMAPMETH_DECAL

((SE_Image_Mapping_Method)(2))

#define SE_IMAGMAPMETH_MODULATE

((SE_Image_Mapping_Method)(3))

#define SE_IMAGMAPMETH_BLEND

((SE_Image_Mapping_Method)(4))

SE_Image_Projection_Type

Abstract data type: Image_Projection_Type

typedef SE_Short_Integer   SE_Image_Projection_Type;

#define SE_IMAGPROJTYP_PLANAR

((SE_Image_Projection_Type)(1))

#define SE_IMAGPROJTYP_CYLINDRICAL

((SE_Image_Projection_Type)(2))

#define SE_IMAGPROJTYP_SPHERICAL

((SE_Image_Projection_Type)(3))

SE_Image_Signature

Abstract data type: Image_Signature

typedef SE_Short_Integer   SE_Image_Signature;

#define SE_IMAGSIG_ALPHA

((SE_Image_Signature)(1))

#define SE_IMAGSIG_LUMINANCE

((SE_Image_Signature)(2))

#define SE_IMAGSIG_COLOUR_COORDINATE_1

((SE_Image_Signature)(3))

#define SE_IMAGSIG_COLOUR_COORDINATE_2

((SE_Image_Signature)(4))

#define SE_IMAGSIG_COLOUR_COORDINATE_3

((SE_Image_Signature)(5))

#define SE_IMAGSIG_BUMP_MAP_HEIGHT

((SE_Image_Signature)(6))

#define SE_IMAGSIG_EDCS_CLASSIFICATION_CODE

((SE_Image_Signature)(7))

#define SE_IMAGSIG_LUMINANCE_AND_ALPHA

((SE_Image_Signature)(8))

#define SE_IMAGSIG_123COLOUR

((SE_Image_Signature)(9))

#define SE_IMAGSIG_123COLOUR_ALPHA

((SE_Image_Signature)(10))

#define SE_IMAGSIG_ONE_MATERIAL

((SE_Image_Signature)(11))

#define SE_IMAGSIG_TWO_MATERIALS

((SE_Image_Signature)(12))

#define SE_IMAGSIG_THREE_MATERIALS

((SE_Image_Signature)(13))

#define SE_IMAGSIG_IMAGE_INDEX

((SE_Image_Signature)(14))

#define SE_IMAGSIG_BUMP_MAP_UV

((SE_Image_Signature)(15))

SE_Image_Wrap

Abstract data type: Image_Wrap

typedef SE_Short_Integer   SE_Image_Wrap;

#define SE_IMAGWRAP_CLAMP

((SE_Image_Wrap)(1))

#define SE_IMAGWRAP_REPEAT

((SE_Image_Wrap)(2))

SE_Index_Code

Abstract data type: Index_Code

typedef SE_Short_Integer   SE_Index_Code;

#define SE_IDXCODE_DATA_TABLE_COMPONENT

((SE_Index_Code)(1))

#define SE_IDXCODE_DATA_TABLE_LIBRARY

((SE_Index_Code)(2))

#define SE_IDXCODE_IMAGE_MAPPING_FUNCTION

((SE_Index_Code)(3))

#define SE_IDXCODE_PROP_TABLE_REF_COMPONENT

((SE_Index_Code)(4))

SE_Interpolation_Type

Abstract data type: Interpolation_Type

typedef SE_Short_Integer   SE_Interpolation_Type;

#define SE_INTERPTYP_BICUBIC_SPLINE

((SE_Interpolation_Type)(1))

#define SE_INTERPTYP_DIAGONALIZATION

((SE_Interpolation_Type)(2))

#define SE_INTERPTYP_DISALLOWED

((SE_Interpolation_Type)(3))

#define SE_INTERPTYP_KRIGING

((SE_Interpolation_Type)(4))

#define SE_INTERPTYP_LAGRANGIAN

((SE_Interpolation_Type)(5))

#define SE_INTERPTYP_LINEAR

((SE_Interpolation_Type)(6))

#define SE_INTERPTYP_METADATA_SPECIFIED

((SE_Interpolation_Type)(7))

#define SE_INTERPTYP_NEAREST_NEIGHBOUR

((SE_Interpolation_Type)(8))

#define SE_INTERPTYP_NOT_SUPPLIED

((SE_Interpolation_Type)(9))

#define SE_INTERPTYP_QUADRATIC

((SE_Interpolation_Type)(10))

SE_Interval_Value_Type

Abstract data type: Interval_Value_Type

typedef SE_Short_Integer   SE_Interval_Value_Type;

#define SE_INTRVLVALTYP_COUNT

((SE_Interval_Value_Type)(1))

#define SE_INTRVLVALTYP_INTEGER

((SE_Interval_Value_Type)(2))

#define SE_INTRVLVALTYP_REAL

((SE_Interval_Value_Type)(3))

SE_LOD_Data_Type

Abstract data type: LOD_Data_Type

typedef SE_Short_Integer   SE_LOD_Data_Type;

#define SE_LODDATTYP_DISTANCE

((SE_LOD_Data_Type)(1))

#define SE_LODDATTYP_INDEX

((SE_LOD_Data_Type)(2))

#define SE_LODDATTYP_MAP_SCALE

((SE_LOD_Data_Type)(3))

#define SE_LODDATTYP_SPATIAL_RESOLUTION

((SE_LOD_Data_Type)(4))

#define SE_LODDATTYP_VOLUME

((SE_LOD_Data_Type)(5))

SE_Media_Format

typedef SE_Short_Integer   SE_Media_Format;

#define SE_MEDIAFMT_AVI

((SE_Media_Format)(1))

#define SE_MEDIAFMT_BIIF

((SE_Media_Format)(2))

#define SE_MEDIAFMT_BMP

((SE_Media_Format)(3))

#define SE_MEDIAFMT_CGM

((SE_Media_Format)(4))

#define SE_MEDIAFMT_EMF

((SE_Media_Format)(5))

#define SE_MEDIAFMT_GIF

((SE_Media_Format)(6))

#define SE_MEDIAFMT_HTML

((SE_Media_Format)(7))

#define SE_MEDIAFMT_JPEG

((SE_Media_Format)(8))

#define SE_MEDIAFMT_JPEG2000

((SE_Media_Format)(9))

#define SE_MEDIAFMT_NITFS

((SE_Media_Format)(10))

#define SE_MEDIAFMT_PICT

((SE_Media_Format)(11))

#define SE_MEDIAFMT_PNG

((SE_Media_Format)(12))

#define SE_MEDIAFMT_QT

((SE_Media_Format)(13))

#define SE_MEDIAFMT_RGB

((SE_Media_Format)(14))

#define SE_MEDIAFMT_RIFF

((SE_Media_Format)(15))

#define SE_MEDIAFMT_SVG

((SE_Media_Format)(16))

#define SE_MEDIAFMT_TIFF

((SE_Media_Format)(17))

#define SE_MEDIAFMT_VRML

((SE_Media_Format)(18))

#define SE_MEDIAFMT_WMF

((SE_Media_Format)(19))

#define SE_MEDIAFMT_X3D

((SE_Media_Format)(20))

#define SE_MEDIAFMT_X3DV

((SE_Media_Format)(21))

#define SE_MEDIAFMT_XBM

((SE_Media_Format)(22))

SE_Ordering_Reason

Abstract data type: Ordering_Reason

typedef SE_Short_Integer   SE_Ordering_Reason;

#define SE_ORDREAS_NONE

((SE_Ordering_Reason)(1))

#define SE_ORDREAS_FIXED_LISTED

((SE_Ordering_Reason)(2))

#define SE_ORDREAS_LAYERED_FASTEST_RENDERING

((SE_Ordering_Reason)(3))

#define SE_ORDREAS_LAYERED_HIGH_QUALITY_RENDERING

((SE_Ordering_Reason)(4))

#define SE_ORDREAS_SHARED_ATTRIBUTE

((SE_Ordering_Reason)(5))

#define SE_ORDREAS_VIEWER_RANGE

((SE_Ordering_Reason)(6))

SE_Pixel_Fill_Method

Abstract data type: Pixel_Fill_Method

typedef SE_Short_Integer   SE_Pixel_Fill_Method;

#define SE_PIXFILLMETH_CONSTANT

((SE_Pixel_Fill_Method)(1))

#define SE_PIXFILLMETH_BLEND

((SE_Pixel_Fill_Method)(2))

SE_Predefined_Function

Abstract data type: Predefined_Function

typedef SE_Short_Integer   SE_Predefined_Function;

#define SE_PREDEFFN_ADD

((SE_Predefined_Function)(1))

#define SE_PREDEFFN_DIVIDE

((SE_Predefined_Function)(2))

#define SE_PREDEFFN_MODULO

((SE_Predefined_Function)(3))

#define SE_PREDEFFN_MULTIPLY

((SE_Predefined_Function)(4))

#define SE_PREDEFFN_SUBTRACT

((SE_Predefined_Function)(5))

#define SE_PREDEFFN_COSINE

((SE_Predefined_Function)(6))

#define SE_PREDEFFN_SINE

((SE_Predefined_Function)(7))

#define SE_PREDEFFN_TANGENT

((SE_Predefined_Function)(8))

#define SE_PREDEFFN_ARCCOSINE

((SE_Predefined_Function)(9))

#define SE_PREDEFFN_ARCSINE

((SE_Predefined_Function)(10))

#define SE_PREDEFFN_ARCTANGENT

((SE_Predefined_Function)(11))

#define SE_PREDEFFN_ARCTANGENT2

((SE_Predefined_Function)(12))

#define SE_PREDEFFN_HYPOTENUSE

((SE_Predefined_Function)(13))

#define SE_PREDEFFN_ABSOLUTE

((SE_Predefined_Function)(14))

#define SE_PREDEFFN_EXPONENT

((SE_Predefined_Function)(15))

#define SE_PREDEFFN_LN

((SE_Predefined_Function)(16))

#define SE_PREDEFFN_LOG

((SE_Predefined_Function)(17))

#define SE_PREDEFFN_POWER

((SE_Predefined_Function)(18))

#define SE_PREDEFFN_SQRT

((SE_Predefined_Function)(19))

#define SE_PREDEFFN_MAXIMUM

((SE_Predefined_Function)(20))

#define SE_PREDEFFN_MINIMUM

((SE_Predefined_Function)(21))

#define SE_PREDEFFN_NOT

((SE_Predefined_Function)(22))

#define SE_PREDEFFN_AND

((SE_Predefined_Function)(23))

#define SE_PREDEFFN_EQUAL

((SE_Predefined_Function)(24))

#define SE_PREDEFFN_GREATER_THAN

((SE_Predefined_Function)(25))

#define SE_PREDEFFN_GREATER_THAN_OR_EQUAL

((SE_Predefined_Function)(26))

#define SE_PREDEFFN_LESS_THAN

((SE_Predefined_Function)(27))

#define SE_PREDEFFN_LESS_THAN_OR_EQUAL

((SE_Predefined_Function)(28))

#define SE_PREDEFFN_NOT_EQUAL

((SE_Predefined_Function)(29))

#define SE_PREDEFFN_OR

((SE_Predefined_Function)(30))

#define SE_PREDEFFN_EXCLUSIVE_OR

((SE_Predefined_Function)(31))

#define SE_PREDEFFN_IF

((SE_Predefined_Function)(32))

#define SE_PREDEFFN_PI

((SE_Predefined_Function)(33))

#define SE_PREDEFFN_SIMULATION_TIME

((SE_Predefined_Function)(34))

#define SE_PREDEFFN_SIMULATION_UTIME

((SE_Predefined_Function)(35))

#define SE_PREDEFFN_REFERENCE_SURFACE_ELEVATION

((SE_Predefined_Function)(36))

#define SE_PREDEFFN_CYCLE_TIME

((SE_Predefined_Function)(37))

#define SE_PREDEFFN_TABLE_VALUE

((SE_Predefined_Function)(38))

SE_Property_Code_Type

Abstract data type: Property_Code_Type

typedef SE_Short_Integer   SE_Property_Code_Type;

#define SE_PROPCODTYP_ATTRIBUTE

((SE_Property_Code_Type)(1))

#define SE_PROPCODTYP_VARIABLE

((SE_Property_Code_Type)(2))

SE_Reference_Vector_Type

Abstract data type: Reference_Vector_Type

typedef SE_Short_Integer   SE_Reference_Vector_Type;

#define SE_REFVEC_CAMERA_FORWARD_AXIS

((SE_Reference_Vector_Type)(1))

#define SE_REFVEC_CAMERA_UP_AXIS

((SE_Reference_Vector_Type)(2))

#define SE_REFVEC_EMISSIVITY_AZIMUTH

((SE_Reference_Vector_Type)(3))

#define SE_REFVEC_EMISSIVITY_NORMAL

((SE_Reference_Vector_Type)(4))

#define SE_REFVEC_FACE_NORMAL

((SE_Reference_Vector_Type)(5))

#define SE_REFVEC_LIGHT_DIRECTION

((SE_Reference_Vector_Type)(6))

#define SE_REFVEC_LSR_TRANSFORMATION_AXIS

((SE_Reference_Vector_Type)(7))

#define SE_REFVEC_MAJOR_AXIS

((SE_Reference_Vector_Type)(8))

#define SE_REFVEC_MINOR_AXIS

((SE_Reference_Vector_Type)(9))

#define SE_REFVEC_MOVEMENT_DIRECTION

((SE_Reference_Vector_Type)(10))

#define SE_REFVEC_PARALLELEPIPED_EDGE_DIRECTION

((SE_Reference_Vector_Type)(11))

#define SE_REFVEC_REFLECTIVITY_AZIMUTH

((SE_Reference_Vector_Type)(12))

#define SE_REFVEC_REFLECTIVITY_EMISSIVITY_AZIMUTH

((SE_Reference_Vector_Type)(13))

#define SE_REFVEC_REFLECTIVITY_EMISSIVITY_NORMAL

((SE_Reference_Vector_Type)(14))

#define SE_REFVEC_REFLECTIVITY_NORMAL

((SE_Reference_Vector_Type)(15))

#define SE_REFVEC_RENDERING_NORMAL

((SE_Reference_Vector_Type)(16))

#define SE_REFVEC_VERTICAL_AXIS

((SE_Reference_Vector_Type)(17))

SE_Search_Rule_Type

Abstract data type: Search_Rule_Type

typedef SE_Short_Integer   SE_Search_Rule_Type;

#define SE_SEARCHRULETYP_END

((SE_Search_Rule_Type)(1))

#define SE_SEARCHRULETYP_AND

((SE_Search_Rule_Type)(2))

#define SE_SEARCHRULETYP_OR

((SE_Search_Rule_Type)(3))

#define SE_SEARCHRULETYP_NOT

((SE_Search_Rule_Type)(4))

#define SE_SEARCHRULETYP_OBJECT_AND

((SE_Search_Rule_Type)(5))

#define SE_SEARCHRULETYP_PREDICATE

((SE_Search_Rule_Type)(6))

#define SE_SEARCHRULETYP_DRM_CLASS

((SE_Search_Rule_Type)(7))

#define SE_SEARCHRULETYP_FIELD

((SE_Search_Rule_Type)(8))

#define SE_SEARCHRULETYP_FIELD_RANGE

((SE_Search_Rule_Type)(9))

#define SE_SEARCHRULETYP_FIELD_ARRAY

((SE_Search_Rule_Type)(10))

#define SE_SEARCHRULETYP_COMPONENT

((SE_Search_Rule_Type)(11))

#define SE_SEARCHRULETYP_COMPONENT_FIELD

((SE_Search_Rule_Type)(12))

#define SE_SEARCHRULETYP_COMPONENT_FIELD_RANGE

((SE_Search_Rule_Type)(13))

#define SE_SEARCHRULETYP_COMPONENT_FIELD_ARRAY

((SE_Search_Rule_Type)(14))

#define SE_SEARCHRULETYP_ASSOCIATE

((SE_Search_Rule_Type)(15))

#define SE_SEARCHRULETYP_MAX_SEARCH_DEPTH

((SE_Search_Rule_Type)(16))

SE_Search_Type

Abstract data type: Search_Type

typedef SE_Short_Integer   SE_Search_Type;

#define SE_SEARCHTYP_POINT

((SE_Search_Type)(1))

#define SE_SEARCHTYP_BOUNDING_BOX

((SE_Search_Type)(2))

#define SE_SEARCHTYP_EXACT

((SE_Search_Type)(3))

SE_Search_Value_Type

Abstract data type: Search_Value_Type

typedef SE_Short_Integer   SE_Search_Value_Type;

#define SE_SEARCHVALTYP_BOOLEAN

((SE_Search_Value_Type)(1))

#define SE_SEARCHVALTYP_BYTE

((SE_Search_Value_Type)(2))

#define SE_SEARCHVALTYP_BYTE_POSITIVE

((SE_Search_Value_Type)(3))

#define SE_SEARCHVALTYP_BYTE_UNSIGNED

((SE_Search_Value_Type)(4))

#define SE_SEARCHVALTYP_ENUMERATED

((SE_Search_Value_Type)(5))

#define SE_SEARCHVALTYP_FLOAT

((SE_Search_Value_Type)(6))

#define SE_SEARCHVALTYP_INTEGER

((SE_Search_Value_Type)(7))

#define SE_SEARCHVALTYP_INTEGER_POSITIVE

((SE_Search_Value_Type)(8))

#define SE_SEARCHVALTYP_INTEGER_UNSIGNED

((SE_Search_Value_Type)(9))

#define SE_SEARCHVALTYP_LONG_FLOAT

((SE_Search_Value_Type)(10))

#define SE_SEARCHVALTYP_SET

((SE_Search_Value_Type)(11))

#define SE_SEARCHVALTYP_SHORT_INTEGETR

((SE_Search_Value_Type)(12))

#define SE_SEARCHVALTYP_SHORT_INTEGER_POSITIVE

((SE_Search_Value_Type)(13))

#define SE_SEARCHVALTYP_SHORT_INTEGER_UNSIGNED

((SE_Search_Value_Type)(14))

#define SE_SEARCHVALTYP_STRING

((SE_Search_Value_Type)(15))

SE_Season

Abstract data type: Season

typedef SE_Short_Integer   SE_Season;

#define SE_SEASON_SPRING

((SE_Season)(1))

#define SE_SEASON_SUMMER

((SE_Season)(2))

#define SE_SEASON_AUTUMN

((SE_Season)(3))

#define SE_SEASON_WINTER

((SE_Season)(4))

#define SE_SEASON_DRY

((SE_Season)(5))

#define SE_SEASON_WET

((SE_Season)(6))

SE_Shading_Method

Abstract data type: Shading_Method

typedef SE_Short_Integer   SE_Shading_Method;

#define SE_SHADMETH_NONE

((SE_Shading_Method)(1))

#define SE_SHADMETH_FLAT

((SE_Shading_Method)(2))

#define SE_SHADMETH_INTERPOLATED_COLOUR

((SE_Shading_Method)(3))

#define SE_SHADMETH_INTERPOLATED_NORMAL

((SE_Shading_Method)(4))

SE_Single_Value_Type

Abstract data type: Single_Value_Type

typedef SE_Short_Integer   SE_Single_Value_Type;

#define SE_SINGVALTYP_LONG_FLOAT

((SE_Single_Value_Type)(1))

#define SE_SINGVALTYP_INTEGER

((SE_Single_Value_Type)(2))

#define SE_SINGVALTYP_COUNT

((SE_Single_Value_Type)(3))

#define SE_SINGVALTYP_INDEX

((SE_Single_Value_Type)(4))

#define SE_SINGVALTYP_STRING

((SE_Single_Value_Type)(5))

#define SE_SINGVALTYP_CONSTRAINTED_STRING

((SE_Single_Value_Type)(6))

#define SE_SINGVALTYP_KEY

((SE_Single_Value_Type)(7))

#define SE_SINGVALTYP_ENUMERATION

((SE_Single_Value_Type)(8))

#define SE_SINGVALTYP_BOOLEAN

((SE_Single_Value_Type)(9))

SE_Sound_Format

Abstract data type: Sound_Format

typedef SE_Short_Integer   SE_Sound_Format;

#define SE_SOUNDFMT_AIFC

((SE_Sound_Format)(1))

#define SE_SOUNDFMT_AIFF

((SE_Sound_Format)(2))

#define SE_SOUNDFMT_AVI

((SE_Sound_Format)(3))

#define SE_SOUNDFMT_IFF

((SE_Sound_Format)(4))

#define SE_SOUNDFMT_MIDI

((SE_Sound_Format)(5))

#define SE_SOUNDFMT_MP2

((SE_Sound_Format)(6))

#define SE_SOUNDFMT_MP3

((SE_Sound_Format)(7))

#define SE_SOUNDFMT_MPG

((SE_Sound_Format)(8))

#define SE_SOUNDFMT_QT

((SE_Sound_Format)(9))

#define SE_SOUNDFMT_RA

((SE_Sound_Format)(10))

#define SE_SOUNDFMT_SND

((SE_Sound_Format)(11))

#define SE_SOUNDFMT_VOC

((SE_Sound_Format)(12))

#define SE_SOUNDFMT_WAV

((SE_Sound_Format)(13))

#define SE_SOUNDFMT_WVE

((SE_Sound_Format)(14))

SE_Spacing_Type

Abstract data type: Spacing_Type

typedef SE_Short_Integer   SE_Spacing_Type;

#define SE_SPACTYP_ARITHMETIC

((SE_Spacing_Type)(1))

#define SE_SPACTYP_GEOMETRIC

((SE_Spacing_Type)(2))

SE_Spatial_Association_Meaning_Type

Abstract data type: Spatial_Association_Meaning_Type

typedef SE_Short_Integer   SE_Spatial_Association_Meaning_Type;

#define SE_SPATASSMEANTYP_ALTERNATE_REPRESENTATION

((SE_Spatial_Association_Meaning_Type)(1))

#define SE_SPATASSMEANTYP_CONTAINS

((SE_Spatial_Association_Meaning_Type)(2))

#define SE_SPATASSMEANTYP_CONTAINED_BY

((SE_Spatial_Association_Meaning_Type)(3))

#define SE_SPATASSMEANTYP_CROSS

((SE_Spatial_Association_Meaning_Type)(4))

#define SE_SPATASSMEANTYP_DISJOINT

((SE_Spatial_Association_Meaning_Type)(5))

#define SE_SPATASSMEANTYP_INTERSECTS

((SE_Spatial_Association_Meaning_Type)(6))

#define SE_SPATASSMEANTYP_OVERLAP

((SE_Spatial_Association_Meaning_Type)(7))

#define SE_SPATASSMEANTYP_TOUCH

((SE_Spatial_Association_Meaning_Type)(8))

#define SE_SPATASSMEANTYP_IN_PROXIMITY_OF

((SE_Spatial_Association_Meaning_Type)(9))

#define SE_SPATASSMEANTYP_COMPLETELY_ABOVE

((SE_Spatial_Association_Meaning_Type)(10))

#define SE_SPATASSMEANTYP_PARTIALLY_ABOVE

((SE_Spatial_Association_Meaning_Type)(11))

#define SE_SPATASSMEANTYP_COMPLETELY_BELOW

((SE_Spatial_Association_Meaning_Type)(12))

#define SE_SPATASSMEANTYP_PARTIALLY_BELOW

((SE_Spatial_Association_Meaning_Type)(13))

SE_Spatial_Index_Spacing_Unit

Abstract data type: Spatial_Index_Spacing_Unit

typedef SE_Short_Integer   SE_Spatial_Index_Spacing_Unit

#define SE_SISPACUNITS_METRE

((SE_Spatial_Index_Spacing_Unit)(1))

#define SE_SISPACUNITS_ARC_SECOND

((SE_Spatial_Index_Spacing_Unit)(2))

SE_Status_Code

Abstract data type: Status_Code

typedef SE_Short_Integer   SE_Status_Code;

#define SE_STATCODE_SUCCESS

((SE_Status_Code)(1))

#define SE_STATCODE_DELETED_OBJECT

((SE_Status_Code)(2))

#define SE_STATCODE_DIFFERENT_TRANSMITTAL

((SE_Status_Code)(3))

#define SE_STATCODE_INVALID_ACCESS_MODE

((SE_Status_Code)(4))

#define SE_STATCODE_INVALID_OBJECT_LABEL

((SE_Status_Code)(5))

#define SE_STATCODE_INVALID_TRANSMITTAL_NAME

((SE_Status_Code)(6))

#define SE_STATCODE_NO_OBJECT

((SE_Status_Code)(7))

#define SE_STATCODE_SRF_OPERATION_UNSUPPORTED

((SE_Status_Code)(8))

#define SE_STATCODE_TRANSMITTAL_INACCESSIBLE

((SE_Status_Code)(9))

#define SE_STATCODE_UNPUBLISHED_OBJECT

((SE_Status_Code)(10))

#define SE_STATCODE_UNRESOLVED_TRANSMITTAL

((SE_Status_Code)(11))

#define SE_STATCODE_UNRESOLVED_INPUT_OBJECT

((SE_Status_Code)(12))

#define SE_STATCODE_UNRESOLVED_OUTPUT_OBJECT

((SE_Status_Code)(13))

#define SE_STATCODE_UNSUPPORTED_ENCODING

((SE_Status_Code)(14))

#define SE_STATCODE_INACTIONABLE_FAILURE

((SE_Status_Code)(1000))

#define SE_STATCODE_OUT_OF_MEMORY

((SE_Status_Code)(1001))

#define SE_STATCODE_C_ENUMERATION_VALUE_INVALID

((SE_Status_Code)(2401))

#define SE_STATCODE_C_STORE_INVALID

((SE_Status_Code)(2402))

SE_Symbol_Format

Abstract data type: Symbol_Format

typedef SE_Short_Integer   SE_Symbol_Format;

#define SE_SYMBFMT_CGM

((SE_Symbol_Format)(1))

#define SE_SYMBFMT_SVG

((SE_Symbol_Format)(2))

SE_Time_Configuration

Abstract data type: Time_Configuration

typedef SE_Short_Integer   SE_Time_Configuration;

#define SE_TIMECFG_DATE_YMD_AND_TIME_HMS

((SE_Time_Configuration)(1))

#define SE_TIMECFG_DATE_YMD_AND_TIME_HM

((SE_Time_Configuration)(2))

#define SE_TIMECFG_DATE_YMD_AND_TIME_H

((SE_Time_Configuration)(3))

#define SE_TIMECFG_DATE_YMD

((SE_Time_Configuration)(4))

#define SE_TIMECFG_DATE_YD_AND_TIME_HMS

((SE_Time_Configuration)(5))

#define SE_TIMECFG_DATE_YD_AND_TIME_HM

((SE_Time_Configuration)(6))

#define SE_TIMECFG_DATE_YD_AND_TIME_H

((SE_Time_Configuration)(7))

#define SE_TIMECFG_DATE_YD

((SE_Time_Configuration)(8))

#define SE_TIMECFG_DATE_MD_AND_TIME_HMS

((SE_Time_Configuration)(9))

#define SE_TIMECFG_DATE_MD_AND_TIME_HM

((SE_Time_Configuration)(10))

#define SE_TIMECFG_DATE_MD_AND_TIME_H

((SE_Time_Configuration)(11))

#define SE_TIMECFG_DATE_Y

((SE_Time_Configuration)(12))

#define SE_TIMECFG_DATE_M

((SE_Time_Configuration)(13))

#define SE_TIMECFG_DAY_OF_YEAR

((SE_Time_Configuration)(14))

SE_Time_Data_Type

Abstract data type: Time_Data_Type

typedef SE_Short_Integer   SE_Time_Data_Type;

#define SE_TIMEDATTYP_SEASON

((SE_Time_Data_Type)(1))

#define SE_TIMEDATTYP_TIME_INTERVAL

((SE_Time_Data_Type)(2))

#define SE_TIMEDATTYP_TIME_OF_DAY

((SE_Time_Data_Type)(3))

#define SE_TIMEDATTYP_TIME_POINT

((SE_Time_Data_Type)(4))

SE_Time_Measurement_Type

Abstract data type: Time_Measurement_Type

typedef SE_Short_Integer   SE_Time_Measurement_Type;

#define SE_TIMEMEASTYP_GMT

((SE_Time_Measurement_Type)(1))

#define SE_TIMEMEASTYP_RELATIVE_TO_EXERCISE_START

((SE_Time_Measurement_Type)(2))

#define SE_TIMEMEASTYP_RELATIVE_TO_REFERENCE_TIME

((SE_Time_Measurement_Type)(3))

SE_Time_Of_Day

Abstract data type: Time_Of_Day

typedef SE_Short_Integer   SE_Time_Of_Day;

#define SE_TIMEOFDAY_DAWN

((SE_Time_Of_Day)(1))

#define SE_TIMEOFDAY_MORNING

((SE_Time_Of_Day)(2))

#define SE_TIMEOFDAY_DAY

((SE_Time_Of_Day)(3))

#define SE_TIMEOFDAY_AFTERNOON

((SE_Time_Of_Day)(4))

#define SE_TIMEOFDAY_DUSK

((SE_Time_Of_Day)(5))

#define SE_TIMEOFDAY_EVENING

((SE_Time_Of_Day)(6))

#define SE_TIMEOFDAY_NIGHT

((SE_Time_Of_Day)(7))

SE_Time_Significance

Abstract data type: Time_Significance

typedef SE_Short_Integer   SE_Time_Significance;

#define SE_TIMESIGNIF_ANALYSIS

((SE_Time_Significance)(1))

#define SE_TIMESIGNIF_CERTIFICATION_DATE

((SE_Time_Significance)(2))

#define SE_TIMESIGNIF_CREATION_DATE

((SE_Time_Significance)(3))

#define SE_TIMESIGNIF_FORECAST

((SE_Time_Significance)(4))

#define SE_TIMESIGNIF_MODIFICATION_DATE

((SE_Time_Significance)(5))

#define SE_TIMESIGNIF_OBSERVATION

((SE_Time_Significance)(6))

#define SE_TIMESIGNIF_OCCURRENCE

((SE_Time_Significance)(7))

#define SE_TIMESIGNIF_PERIOD_OF_CONTENT

((SE_Time_Significance)(8))

#define SE_TIMESIGNIF_PUBLICATION_DATE

((SE_Time_Significance)(9))

#define SE_TIMESIGNIF_REFERENCE

((SE_Time_Significance)(10))

#define SE_TIMESIGNIF_REVISION_DATE

((SE_Time_Significance)(11))

SE_Traversal_Order

Abstract data type: Traversal_Order

typedef SE_Short_Integer   SE_Traversal_Order;

#define SE_TRAVORDR_BREADTH_FIRST

((SE_Traversal_Order)(1))

#define SE_TRAVORDR_DEPTH_FIRST

((SE_Traversal_Order)(2))

#define SE_TRAVORDR_MOST_EFFICIENT

((SE_Traversal_Order)(3))

SE_Underline_Style

Abstract data type: Underline_Style

typedef SE_Short_Integer   SE_Underline_Style;

#define SE_ULSTYL_NONE

((SE_Underline_Style)(1))

#define SE_ULSTYL_SINGLE

((SE_Underline_Style)(2))

#define SE_ULSTYL_DOUBLE

((SE_Underline_Style)(3))

#define SE_ULSTYL_BOLD_SINGLE

((SE_Underline_Style)(4))

#define SE_ULSTYL_BOLD_DOUBLE

((SE_Underline_Style)(5))

#define SE_ULSTYL_DASHED

((SE_Underline_Style)(6))

#define SE_ULSTYL_DOTTED

((SE_Underline_Style)(7))

SE_Union_Reason

Abstract data type: Union_Reason

typedef SE_Short_Integer   SE_Union_Reason;

#define SE_UNIONREAS_CLASSIFIED_OBJECT

((SE_Union_Reason)(1))

#define SE_UNIONREAS_COLLECTION_OF_CLASSIFIED_OBJECTS

((SE_Union_Reason)(2))

#define SE_UNIONREAS_OTHER

((SE_Union_Reason)(3))

SE_Unmatched_State_Behaviour

Abstract data type: Unmatched_State_Behaviour

typedef SE_Short_Integer   SE_Unmatched_State_Behaviour;

#define SE_UNMSTATBEH_NONE

((SE_Unmatched_State_Behaviour)(1))

#define SE_UNMSTATBEH_DEFAULT

((SE_Unmatched_State_Behaviour)(2))

#define SE_UNMSTATBEH_ALL

((SE_Unmatched_State_Behaviour)(3))

SE_Variable_Code

Abstract data type: Variable_Code

typedef SE_Short_Integer   SE_Variable_Code;

#define SE_VARCOD_ACTIVE_STATE_VALUE

((SE_Variable_Code)(1))

#define SE_VARCOD_COLOUR_COORDINATE_1

((SE_Variable_Code)(2))

#define SE_VARCOD_COLOUR_COORDINATE_2

((SE_Variable_Code)(3))

#define SE_VARCOD_COLOUR_COORDINATE_3

((SE_Variable_Code)(4))

#define SE_VARCOD_COLOUR_INDEX

((SE_Variable_Code)(5))

#define SE_VARCOD_COLOUR_INTENSITY_LEVEL

((SE_Variable_Code)(6))

#define SE_VARCOD_GEOMETRY_TEXTURE

((SE_Variable_Code)(7))

#define SE_VARCOD_HEAT_PRODUCTION

((SE_Variable_Code)(8))

#define SE_VARCOD_LIGHT_SOURCE_ACTIVE

((SE_Variable_Code)(9))

#define SE_VARCOD_LIGHT_REND_PROP_ACTIVE

((SE_Variable_Code)(10))

#define SE_VARCOD_LIGHT_REND_PROP_CANDELA_VALUE

((SE_Variable_Code)(11))

#define SE_VARCOD_LSR_LOCATION_3D_U

((SE_Variable_Code)(12))

#define SE_VARCOD_LSR_LOCATION_3D_V

((SE_Variable_Code)(13))

#define SE_VARCOD_LSR_LOCATION_3D_W

((SE_Variable_Code)(14))

#define SE_VARCOD_POLYGON_FLAGS_COLLIDIBLE

((SE_Variable_Code)(15))

#define SE_VARCOD_POLYGON_FLAGS_HAT_TEST

((SE_Variable_Code)(16))

#define SE_VARCOD_POLYGON_FLAGS_INVISIBLE

((SE_Variable_Code)(17))

#define SE_VARCOD_POLYGON_FLAGS_LASER_RANGE_FINDING

((SE_Variable_Code)(18))

#define SE_VARCOD_PROPERTY_SET_INDEX

((SE_Variable_Code)(19))

#define SE_VARCOD_PROPERTY_TABLE_REFERENCE_INDEX_ON_AXIS

((SE_Variable_Code)(20))

#define SE_VARCOD_REFERENCE_VECTOR_V0

((SE_Variable_Code)(21))

#define SE_VARCOD_REFERENCE_VECTOR_V1

((SE_Variable_Code)(22))

#define SE_VARCOD_REFERENCE_VECTOR_V2

((SE_Variable_Code)(23))

#define SE_VARCOD_ROTATION_ANGLE

((SE_Variable_Code)(24))

#define SE_VARCOD_SCALE_FACTOR

((SE_Variable_Code)(25))

#define SE_VARCOD_SOUND_INSTANCE_ACTIVE

((SE_Variable_Code)(26))

#define SE_VARCOD_TEXTURE_COORDINATE_S

((SE_Variable_Code)(27))

#define SE_VARCOD_TEXTURE_COORDINATE_T

((SE_Variable_Code)(28))

#define SE_VARCOD_TRANSLATION_AMOUNT

((SE_Variable_Code)(29))

#define SE_VARCOD_TRANSLUCENCY_VALUE

((SE_Variable_Code)(30))

SE_Volumetric_Shape

Abstract data type: Volumetric_Shape

typedef SE_Short_Integer   SE_Volumetric_Shape;

#define SE_VOLSHAP_CYLINDER

((SE_Volumetric_Shape)(1))

#define SE_VOLSHAP_PARALLELEPIPED

((SE_Volumetric_Shape)(2))

#define SE_VOLSHAP_SPHERE

((SE_Volumetric_Shape)(3))

5.2.7 Set data types

Set data types specified in Part 1 of ISO/IEC 18023 are bound to the C programming language using a union data type containing both an SE_Integer_Unsigned data type and a bit field structure identifying the members of the union.

SE_Colour_Mapping

Abstract data type: Colour_Mapping

typedef union {

SE_Integer_Unsigned     set;

struct {

SE_Integer_Unsigned Front_Primary

: 1;

SE_Integer_Unsigned Front_Distance_Blend

: 1;

SE_Integer_Unsigned Front_Image_Blend

: 1;

SE_Integer_Unsigned Back_Primary

: 1;

SE_Integer_Unsigned Back_Distance_Blend

: 1;

SE_Integer_Unsigned Back_Image_Blend

: 1;

SE_Integer_Unsigned Primary_Light_Rendering_Behaviour

: 1;

SE_Integer_Unsigned Secondary_Light_Rendering_Behaviour

: 1;

} member;

} SE_Colour_Mapping;

SE_Display_Side

Abstract data type: Display_Side

typedef union {

SE_Integer_Unsigned     set;

struct {

SE_Integer_Unsigned Front

: 1;

SE_Integer_Unsigned Back

: 1;

} member;

} SE_Display_Side;

SE_Display_Style

Abstract data type: Display_Style

typedef union {

SE_Integer_Unsigned     set;

struct {

SE_Integer_Unsigned Solid

: 1;

SE_Integer_Unsigned Wireframe

: 1;

} member;

} SE_Display_Style;

SE_General_Hierarchy_Order

Abstract data type: General_Hierarchy_Order

typedef union {

SE_Integer_Unsigned     set;

struct {

SE_Integer_Unsigned Alternate_Hierarchy

: 1;

SE_Integer_Unsigned Classification_Related

: 1;

SE_Integer_Unsigned LOD_Related

: 1;

SE_Integer_Unsigned Octant_Related

: 1;

SE_Integer_Unsigned Quadrant_Related

: 1;

SE_Integer_Unsigned Separating_Plane

: 1;

SE_Integer_Unsigned Spatial_Index_Related

: 1;

SE_Integer_Unsigned State_Related

: 1;

SE_Integer_Unsigned Time_Related

: 1;

} member;

} SE_General_Hierarchy_Order;

SE_Polygon_Flags

Abstract data type: Polygon_Flags

typedef union {

SE_Integer_Unsigned     set;

struct {

SE_Integer_Unsigned Backdrop_Ground

: 1;

SE_Integer_Unsigned Backdrop_Sky

: 1;

SE_Integer_Unsigned Clutter_Enhanced

: 1;

SE_Integer_Unsigned Collidible

: 1;

SE_Integer_Unsigned Concave

: 1;

SE_Integer_Unsigned Cut

: 1;

SE_Integer_Unsigned Cut_Imagery

: 1;

SE_Integer_Unsigned Decal

: 1;

SE_Integer_Unsigned Do_Not_Drape

: 1;

SE_Integer_Unsigned Enable_Feature_Size_Blending

: 1;

SE_Integer_Unsigned Enable_Fractal

: 1;

SE_Integer_Unsigned Enable_Polygon_Range_Blending

: 1;

SE_Integer_Unsigned Footprint

: 1;

SE_Integer_Unsigned Hat_Test

: 1;

SE_Integer_Unsigned Inactive

: 1;

SE_Integer_Unsigned Invisible

: 1;

SE_Integer_Unsigned Laser_Range_Finding

: 1;

SE_Integer_Unsigned Moon_Reflection

: 1;

SE_Integer_Unsigned Opaque_Top

: 1;

SE_Integer_Unsigned Projectile_Collidible

: 1;

SE_Integer_Unsigned Raised

: 1;

SE_Integer_Unsigned Reflective

: 1;

SE_Integer_Unsigned Shadow

: 1;

SE_Integer_Unsigned Sun_Illuminated

: 1;

SE_Integer_Unsigned Terrain

: 1;

SE_Integer_Unsigned Visible_Floor

: 1;

SE_Integer_Unsigned Visible_Interior

: 1;

SE_Integer_Unsigned Visible_Perimeter

: 1;

SE_Integer_Unsigned Waterbody_Surface

: 1;

} member;

} SE_Polygon_Flags;

SE_Presentation_Domain

Abstract data type: Presentation_Domain

typedef union {

SE_Integer_Unsigned     set;

struct {

SE_Integer_Unsigned OTW

: 1;

SE_Integer_Unsigned IR_Hi_Band

: 1;

SE_Integer_Unsigned IR_Low_Band

: 1;

SE_Integer_Unsigned NVG

: 1;

SE_Integer_Unsigned Day_TV_Colour

: 1;

SE_Integer_Unsigned Day_TV_BW

: 1;

SE_Integer_Unsigned Radar

: 1;

SE_Integer_Unsigned SAR

: 1;

SE_Integer_Unsigned Thermal

: 1;

SE_Integer_Unsigned Low_Light_TV

: 1;

} member;

} SE_Presentation_Domain;/p>

5.3 Structured fundamental data types

5.3.1 Introduction

Structured fundamental data types specified in Part 1 of ISO/IEC 18023 are mapped to C array and C struct data types.

5.3.2 Fixed size array data types

Fixed length array data types specified in Part 1 of ISO/IEC 18023 are mapped directly to C array data types and can be referenced either by using pointer or array notation.

EXAMPLE  A four-element array of data type SE_Float can be declared using either of the two methods:

SE_Float *array_name;
array_name = (SE_Float)malloc(4*sizeof(SE_Float));

In either case, references to elements either may use the array index form or may directly use the array name pointer.

This binding only explicitly defines those fixed size array types that are required by either function parameters or data type fields. These are defined below.

SE_Matrix_3x3

Abstract data type: Matrix_3x3

typedef SE_Long_Float SE_Matrix_3x3[3][3];

SE_Matrix_4x4

Abstract data type: Matrix_4x4

typedef SE_Long_Float SE_Matrix_4x4[4][4];

5.3.3 Variable size array types

Variable length array data types specified in Part 1 of ISO/IEC 18023 are embedded in the record data type that uses the variable length array. This data type contains fields for the length of each dimension of the array along with a pointer to a fixed array of the appropriate size. The size field for the variable length array data type immediately precedes the field that contains the pointer to the array and has name that identifies the array parameter suffixed by “_count”.

5.4 Record data types

Record data types specified in Part 1 of ISO/IEC 18023 are mapped to C struct data types. Such data types may be either invariant or variant. Invariant data types specified in Part 1 of ISO/IEC 18023 are mapped directly to C struct data types. Variant data types specified in Part 1 of ISO/IEC 18023 are mapped to a C struct data type containing an enumerated or selection item data type and a union data type. The enumerated or selection item data type indicates which option within the C union data type defines the structure of the data.

The following data types are defined by this binding. The data types are listed alphabetically.

SE_Absolute_Time_Fields

Abstract data type: Absolute_Time_Fields

typedef struct {

SE_Time_Significance

time_significance;

SE_Time_Value

time_value;

} SE_Absolute_Time_Fields;

SE_Absolute_Time_Interval_Entry

Abstract data type: Absolute_Time_Interval_Entry

typedef struct {

SE_Absolute_Time_Fields

reference_time;

SE_Absolute_Time_Interval_Fields

absolute_interval;

} SE_Absolute_Time_Interval_Entry;

SE_Absolute_Time_Interval_Fields

Abstract data type: Absolute_Time_Interval_Fields

typedef struct {

SE_Time_Significance

time_significance;

SE_Integer

delta_days;

SE_Byte_Unsigned

delta_hours;

SE_Byte_Unsigned

delta_minutes;

SE_Long_Float

delta_seconds;

} SE_Absolute_Time_Interval_Fields;

SE_Address

Abstract data type: Address

typedef struct {

SE_Short_Integer_Positive

delivery_point_count;

SE_String

*delivery_point;

SE_String

city;

SE_String

administrative_area;

SE_String

postal_code;

SE_String

country;

SE_Short_Integer_Positive

email_address_count;

SE_String

*email_address;

} SE_Address;

SE_Aggregate_Feature_Fields

Abstract data type: Aggregate_Feature_Fields

typedef struct {

SE_Boolean

unique_descendants;

SE_Boolean

strict_organizing_principle;

} SE_Aggregate_Feature_Fields;

SE_Aggregate_Geometry_Fields

Abstract data type: Aggregate_Geometry_Fields

typedef struct {

SE_Boolean

unique_descendants;

SE_Boolean

strict_organizing_principle;

} SE_Aggregate_Geometry_Fields;

SE_Alternate_Hierarchy_Parameters

Abstract data type: Alternate_Hierarchy_Parameters

typedef struct {

SE_Integer_Unsigned

hierarchy_data_count;

SE_Hierarchy_Data_Fields

*hierarchy_data_array;

} SE_Alternate_Hierarchy_Parameters;

SE_Alternate_Hierarchy_Related_Features_Fields

Abstract data type: Alternate_Hierarchy_Related_Features_Fields

typedef struct {

SE_Boolean

unique_descendants;

SE_Boolean

strict_organizing_principle;

} SE_Alternate_Hierarchy_Related_Features_Fields;

SE_Alternate_Hierarchy_Related_Geometry_Fields

Abstract data type: Alternate_Hierarchy_Related_Geometry_Fields

typedef struct {

SE_Boolean

unique_descendants;

SE_Boolean

strict_organizing_principle;

} SE_Alternate_Hierarchy_Related_Geometry_Fields;

SE_Animation_Behaviour_Fields

Abstract data type: Animation_Behaviour_Fields

typedef struct {

SE_Long_Float

period;

SE_Short_Integer_Unsigned

count;

SE_Boolean

forward_sequence_mode;

SE_Short_Integer_Positive

beginning_frame;

SE_Short_Integer_Positive

ending_frame;

SE_Boolean

random_beginning_frame;

} SE_Animation_Behaviour_Fields;

SE_Animation_Range

Abstract data type: Animation_Range

typedef struct {

SE_Short_Integer_Unsigned

beginning_frame;

SE_Short_Integer_Unsigned

ending_frame;

} SE_Animation_Range;

SE_Animation_Related_Geometry_Fields

Abstract data type: Animation_Related_Geometry_Fields

typedef struct {

SE_Boolean

unique_descendants;

SE_Boolean

strict_organizing_principle;

} SE_Animation_Related_Geometry_Fields;

SE_Animation_Select_Parameters

Abstract data type: Animation_Select_Parameters

typedef struct {

SE_Integer_Unsigned

ranges_count;

SE_Animation_Range

*animation_ranges_array;

} SE_Animation_Select_Parameters;

SE_Any_Enumerated_Or_Selection_Value

Abstract data type: Any_Enumerated_Or_Selection_Value

typedef struct {

SE_Enumerated_Or_Selection_Type    selected_enumeration;

union _SE_Any_Enumerated_Or_Selection_Value_Union {

SE_Short_Integer_Unsigned

null_type;

SE_Axis_Alignment

axis_alignment;

SE_Camera_Projection_Type

camera_projection_type;

SE_CI_RoleCode

ci_role_code;

SE_Colour_Binding

colour_binding;

SE_Colour_Model

colour_model;

SE_DRM_Class

drm_class;

EDCS_Attribute_Code

edcs_attribute_code;

edcs_attribute_value_type;

EDCS_Boolean

edcs_boolean;

EDCS_Classification_Code

edcs_classification_code;

EDCS_Integer

edcs_enumerant_code;

EDCS_Numeric_Value_Type

edcs_numeric_value_type;

EDCS_Unit_Code

edcs_unit_code;

EDCS_Unit_Scale_Code

edcs_unit_scale_code;

EDCS_Value_Characteristic_Code

edcs_value_characteristic_code;

SE_Feature_Topology_Level

feature_topology_level;

SE_Font_Style

font_style;

SE_Functional_Association_Meaning_Type

functional_association_meaning_type;

SE_Geometric_Centre_Code

geometric_centre_code;

SE_Geometry_Topology_Level

geometry_topology_level;

SE_Grid_Overlap_Operator

grid_overlap_operator;

SE_Hierarchy_Summary_Multiplicity_Code

hierarchy_summary_multiplicity_code;

SE_Image_Component_Type

image_component_type;

SE_Image_Mapping_Method

image_mapping_method;

SE_Image_Projection_Type

image_projection_type;

SE_Image_Scan_Direction

image_scan_direction;

SE_Image_Scan_Direction_Z

image_scan_direction_z;

SE_Image_Signature

image_signature;

SE_Image_Wrap

image_wrap;

SE_Index_Code

index_code;

SE_Interpolation_Type

interpolation_type;

SE_LOD_Data_Type

lod_data_type;

SE_LSR_Transformation_Axis

lsr_transformation_axis;

SE_MD_KeywordTypeCode

md_keyowrdtypecode;

SE_MD_RestrictionCode

md_restrictioncode;

SE_Media_Format

media_format;

SE_Model_Reference_Type

model_reference_type;

SE_Month

month;

SE_Octant

octant;

SE_Ordering_Reason

ordering_reason;

SE_Pixel_Fill_Method

pixel_fill_method;

SE_Point_Light_Display_Type

point_light_display_type;

SE_Predefined_Function

predefined_function;

SE_Present_In

present_in;

SE_Property_Code_Type

property_code_type;

SE_Quadrant

quadrant;

SE_Reference_Surface_Elevation_Select

reference_surface_elevation_select;

SE_Reference_Surface_LOD_Select

reference_surface_lod_select;

SE_Reference_Vector_Type

reference_vector_type;

SE_Season

season;

SE_Shading_Method

shading_method;

SE_Single_Value_Type

single_value_type;

SE_Sound_Format

sound_format;

SE_Spacing_Type

spacing_type;

SE_Spatial_Association_Meaning_Type

spatial_association_meaning_type;

SE_Spatial_Index_Spacing_Unit

spatial_index_spacing_unit;

SE_State_Mismatch_Behaviour

state_mismatch_behaviour;

SE_Symbol_Format

symbol_format;

SE_Time_Configuration

time_configuration;

SE_Time_Data_Type

time_data_type;

SE_Time_Of_Day

time_of_day;

SE_Time_Significance

time_significance;

SE_Underline_Style

underline_style;

SE_Union_Reason

union_reason;

SE_Variable_Code

variable_code;

} value;

} SE_Any_Enumerated_Or_Selection_Value;

SE_Any_Search_Value

Abstract data type: Any_Search_Value

typedef struct {

SE_Search_Value_Type    type_of_value;

union _SE_Any_Search_Value_Union {

SE_Boolean

boolean_value;

SE_Byte

byte_value;

SE_Short_Integer

short_integer_value;

SE_Integer

integer_value;

SE_Byte_Positive

byte_positive_value;

SE_Short_Integer_Positive

short_integer_positive_value;

SE_Integer_Positive

integer_positive;

SE_Byte_Unsigned

byte_unsigned_value;

SE_Short_Integer_Unsigned

short_integer_unsigned_value;

SE_Integer_Unsigned

integer_unsigned_value;

SE_Float

float_value;

SE_Long_Float

long_float_value;

SE_Any_Enumerated_Or_Selection_Value

any_enumerated_or_selection_value;

SE_String

string_value;

} value;

} SE_Any_Search_Value;

SE_Arc_Fields

Abstract data type: Arc_Fields

typedef struct {

SE_Short_Integer_Unsigned

count;

SE_Boolean

suppress_last;

} SE_Arc_Fields;

SE_Axis_Fields

Abstract data type: Axis_Fields

typedef struct {

EDCS_Attribute_Code

axis_type;

SE_Short_Integer_Positive

axis_value_count;

} SE_Axis_Fields;

SE_Base_Positional_Light_Fields

Abstract data type: Base_Positional_Light_Fields

typedef struct {

SE_Boolean

apply_to_children;

SE_Boolean

override_positional_lights;

SE_Boolean

override_infinite_lights;

SE_Boolean

active_light_value;

SE_Float

radius;

SE_Long_Float

constant_attenuation_factor;

SE_Long_Float

linear_attenuation_factor;

SE_Long_Float

quadratic_attenuation_factor;

} SE_Base_Positional_Light_Fields;

SE_Base_Spatial_Association_Data_Fields

Abstract data type: Base_Spatial_Association_Data_Fields

typedef struct {

SE_Spatial_Association_Meaning_Type

meaning;

} SE_Base_Spatial_Association_Data_Fields;

SE_Base_Summary_Item_Fields

Abstract data type: Base_Summary_Item_Fields

typedef struct {

SE_DRM_Class

drm_class;

} SE_Base_Summary_Item_Fields;

SE_Base_Time_Data_Fields

Abstract data type: Base_Time_Data_Fields

typedef struct {

SE_Time_Significance

time_significance;

} SE_Base_Time_Data_Fields;

SE_Blend_Directional_Light_Fields

Abstract data type: Blend_Directional_Light_Fields

typedef struct {

SE_Long_Float

upper_plane_angular_offset;

SE_Long_Float

lower_plane_angular_offset;

} SE_Blend_Directional_Light_Fields;

SE_Browse_Media_Fields

Abstract data type: Browse_Media_Fields

typedef struct {

SE_String

name;

SE_Media_Format

media_format;

SE_URN

media_urn;

SE_String

description;

} SE_Browse_Media_Fields;

SE_Camera_Point_Fields

Abstract data type: Camera_Point_Fields

typedef struct {

SE_Camera_Projection_Type

projection;

SE_Long_Float

camera_near;

SE_Long_Float

camera_far;

SE_Boolean

use_left_right_bottom_top;

SE_Long_Float

left;

SE_Long_Float

bottom;

SE_Long_Float

right;

SE_Long_Float

top;

SE_Long_Float

horizontal_field_of_view;

SE_Long_Float

aspect_ratio;

} SE_Camera_Point_Fields;

SE_CC_3D_Location_Fields

Abstract data type: CC_3D_Location_Fields

typedef struct {

SRM_Euclidean_3D_Coordinate

coordinate;

} SE_CC_3D_Location_Fields;

SE_CD_3D_Location_Fields

Abstract data type: CD_3D_Location_Fields

typedef struct {

SRM_CD_3D_Coordinate

coordinate;

} SE_CD_3D_Location_Fields;

SE_CD_Surface_Location_Fields

Abstract data type: CD_Surface_Location_Fields

typedef struct {

SRM_CD_Surface_Coordinate

coordinate;

} SE_CD_Surface_Location_Fields;

SE_Citation_Fields

Abstract data type: Citation_Fields

typedef struct {

SE_String

title;

SE_String

edition;

SE_String

series_name;

SE_String

issue_identification;

SE_String

other_citation_details;

} SE_Citation_Fields;

SE_Classification_Data_Fields

Abstract data type: Classification_Data_Fields

typedef struct {

EDCS_Classification_Code

tag;

} SE_Classification_Data_Fields;

SE_Classification_Entry

Abstract data type: Classification_Entry

typedef struct {

SE_Classification_Data_Fields

class_data;

SE_Integer_Unsigned

property_value_count;

SE_Property_Value_Fields

*property_value_array;

} SE_Classification_Entry;

SE_Classification_Parameters

Abstract data type: Classification_Parameters

typedef struct {

SE_Integer_Unsigned

classification_count;

SE_Classification_Entry

*classification_array;

} SE_Classification_Parameters;

SE_Classification_Related_Features_Fields

Abstract data type: Classification_Related_Features_Fields

typedef struct {

SE_Boolean

unique_descendants;

SE_Boolean

strict_organizing_principle;

} SE_Classification_Related_Features_Fields;

SE_Classification_Related_Geometry_Fields

Abstract data type: Classification_Related_Geometry_Fields

typedef struct {

SE_Boolean

unique_descendants;

SE_Boolean

strict_organizing_principle;

} SE_Classification_Related_Geometry_Fields;

SE_CM_3D_Location_Fields

Abstract data type: CM_3D_Location_Fields

typedef struct {

SRM_Spherical_3D_Coordinate

coordinate;

} SE_CM_3D_Location_Fields;

SE_CMY_Colour_Control_Link_Fields

Abstract data type: CMY_Colour_Control_Link_Fields

typedef struct {

SE_String

description;

SE_Integer_Unsigned

cyan_expression_index;

SE_Integer_Unsigned

magenta_expression_index;

SE_Integer_Unsigned

yellow_expression_index;

} SE_CMY_Colour_Control_Link_Fields;

SE_CMY_Colour_Fields

Abstract data type: CMY_Colour_Fields

typedef struct {

SE_CMY_Data

cmy_data;

} SE_CMY_Colour_Fields;

SE_CMY_Data

Abstract data type: CMY_Data

typedef struct {

SE_Long_Float

cyan;

SE_Long_Float

magenta;

SE_Long_Float

yellow;

} SE_CMY_Data;

SE_Colour_Fields

Abstract data type: Colour_Fields

typedef struct {

SE_Colour_Mapping

colour_mapping;

} SE_Colour_Fields;

SE_Colour_Index_Control_Link_Fields

Abstract data type: Colour_Index_Control_Link_Fields

typedef struct {

SE_String

description;

SE_Integer_Unsigned

colour_index;

SE_Integer_Unsigned

intensity_level_index;

} SE_Colour_Index_Control_Link_Fields;

SE_Colour_Index_Fields

Abstract data type: Colour_Index_Fields

typedef struct {

SE_Colour_Mapping

colour_mapping;

SE_Integer_Positive

index;

SE_Long_Float

intensity_level;

} SE_Colour_Index_Fields;

SE_Colour_Shininess_Fields

Abstract data type: Colour_Shininess_Fields

typedef struct {

SE_Long_Float

shininess;

} SE_Colour_Shininess_Fields;

SE_Colour_Table_Group_Fields

Abstract data type: Colour_Table_Group_Fields

typedef struct {

SE_Integer_Positive

primary_table_index;

SE_Integer_Positive

table_size;

} SE_Colour_Table_Group_Fields;

SE_Cone_Directional_Light_Fields

Abstract data type: Cone_Directional_Light_Fields

typedef struct {

SE_Boolean

has_plane;

SE_Long_Float

plane_angular_offset;

SE_Boolean

use_full_intensity;

SE_Long_Float

minimum_colour_intensity;

SE_Boolean

invisible_behind;

} SE_Cone_Directional_Light_Fields;

SE_Conformal_Behaviour_Fields

Abstract data type: Conformal_Behaviour_Fields

typedef struct {

SE_Boolean

parallel_gravity;

SE_Float

offset_distance;

} SE_Conformal_Behaviour_Fields;

SE_Contact_Information

Abstract data type: Contact_Information

typedef struct {

SE_Telephone_Information

phone;

SE_Address

address;

SE_CI_OnlineResource

online_resource;

SE_String

hours_of_service;

SE_String

contact_instructions;

} SE_Contact_Information;

SE_Continuous_LOD_Related_Geometry_Fields

Abstract data type: Continuous_LOD_Related_Geometry_Fields

typedef struct {

SE_Boolean

unique_descendants;

SE_Boolean

strict_organizing_principle;

SE_Boolean

terminating_node;

} SE_Continuous_LOD_Related_Geometry_Fields;

SE_Continuous_LOD_Select_Parameters

Abstract data type: Continuous_LOD_Select_Parameters

typedef struct {

SE_Continuous_LOD_Select_Choice

continous_lod_choice;

} SE_Continuous_LOD_Select_Parameters;

SE_Control_Link_Fields

Abstract data type: Control_Link_Fields

typedef struct {

SE_String

description;

} SE_Control_Link_Fields;

SE_Count_Interval_Value

Abstract data type: Count_Interval_Value

typedef struct {

SE_Interval_Type    interval_type;

union _SE_Count_Interval_Value_Union {

EDCS_Count_Interval

open_interval;

EDCS_Count_Interval

ge_lt_interval;

EDCS_Count_Interval

gt_le_interval;

EDCS_Count_Interval

closed_interval;

EDCS_Count

gt_semi_interval;

EDCS_Count

ge_semi_interval;

EDCS_Count

lt_semi_interval;

EDCS_Count

le_semi_interval;

} value;

} SE_Count_Interval_Value;

SE_Cylindrical_Volume_Extent_Entry

Cylindrical_Volume_Extent_Entry

typedef struct {

SE_Cylindrical_Volume_Extent_Fields

cylinder;

SE_Reference_Vector_Fields

reference_vectors[2];

} SE_Cylindrical_Volume_Extent_Entry;

SE_Cylindrical_Volume_Extent_Fields

Abstract data type: Cylindrical_Volume_Extent_Fields

typedef struct {

SE_Long_Float

major_axis_radius;

SE_Long_Float

minor_axis_radius;

SE_Long_Float

cylinder_length;

} SE_Cylindrical_Volume_Extent_Fields;

SE_Data_Quality_Element

Abstract data type: Data_Quality_Element

typedef struct {

SE_String

name_of_measure;

SE_String

measure_identification;

SE_String

measure_description;

SE_String

evaluation_method_type;

SE_String

evaluation_method_description;

SE_String

evaluation_procedure;

SE_String

data_time;

SE_String

result;

} SE_Data_Quality_Element;

SE_Data_Quality_Fields

Abstract data type: Data_Quality_Fields

typedef struct {

SE_Boolean

fictional;

SE_Data_Quality_Element

field_accuracy;

SE_Data_Quality_Element

logical_consistency;

SE_Data_Quality_Element

completeness;

SE_Data_Quality_Element

absolute_horizontal_positional_accuracy;

SE_Data_Quality_Element

relative_horizontal_positional_accuracy;

SE_Data_Quality_Element

absolute_vertical_positional_accuracy;

SE_Data_Quality_Element

relative_vertical_positional_accuracy;

} SE_Data_Quality_Fields;

SE_Data_Table_Data

Abstract data type: Data_Table_Data

typedef struct {

SE_Data_Table_Value_Type  value_type;

SE_Integer_Positive       table_property_description_index;
SE_Integer_Positive       data_count; /* indicates data array size */

union _SE_Data_Table_Data_Union {

EDCS_Long_Float

*single_long_float_values;

SE_Long_Float_Value

*long_float_values;

EDCS_Integer

*single_integer_values;

EDCS_Integer_Value

*integer_values;

EDCS_Count

*single_count_values;

EDCS_Count_Value

*count_values;

EDCS_Count

*index_values;

EDCS_String

*string_values;

EDCS_String

*constrained_string_values;

EDCS_String

*key_values;

EDCS_Integer

*enumeration_values;

EDCS_Boolean

*boolean_values;

SE_Integer_Unsigned

*index_code_values;

} value;

} SE_Data_Table_Data;

SE_Data_Table_Sub_Extent

Abstract data type: Data_Table_Sub_Extent

typedef struct {

SE_Short_Integer_Unsigned

axes_count;

SE_Index_Range

*axes_bounds;

} SE_Data_Table_Extents;

SE_Distance_LOD_Data_Fields

Abstract data type: Distance_LOD_Data_Fields

typedef struct {

SE_Long_Float

minimum_range;

SE_Long_Float

minimum_fade_band;

SE_Long_Float

maximum_range;

SE_Long_Float

maximum_fade_range;

} SE_Distance_LOD_Data_Fields;

SE_DRM_Class_Fields

Abstract data type: DRM_Class_Fields

typedef struct {

SE_DRM_Class     drm_class;

union _SE_DRM_Class_Fields_Union {

SE_Unused_Fields

unused_fields;

SE_Absolute_Time_Fields

absolute_time_fields;

SE_Absolute_Time_Interval_Fields

absolute_time_interval_fields;

SE_Aggregate_Feature_Fields

aggregate_feature_fields;

SE_Aggregate_Geometry_Fields

aggregate_geometry_fields;

SE_Alternate_Hierarchy_Related_Features_Fields

alternate_hierarchy_feature_fields;

SE_Alternate_Hierarchy_Related_Geometry_Fields

alternate_hierarchy_geometry_fields;

SE_Animation_Behaviour_Fields

animation_behaviour_fields;

SE_Animation_Related_Geometry_Fields

animation_related_geometry_fields;

SE_Arc_Fields

arc_fields;

SE_Axis_Fields

axis_fields;

SE_Base_Positional_Light_Fields

base_positional_light_fields;

SE_Base_Spatial_Association_Data_Fields

base_spatial_association_data_fields;

SE_Base_Summary_Item_Fields

base_summary_item_fields;

SE_Base_Time_Data_Fields

base_time_data_fields;

SE_Blend_Directional_Light_Fields

blend_directional_light_fields;

SE_Browse_Media_Fields

browse_media_fields;

SE_Camera_Point_Fields

camera_point_fields;

SE_CC_3D_Location_Fields

cc_3D_location_fields;

SE_CD_3D_Location_Fields

cd_3D_location_fields;

SE_CD_Surface_Location_Fields

cd_surface_location_fields;

SE_Citation_Fields

citation_fields;

SE_Classification_Data_Fields

classification_data_fields;

SE_Classification_Related_Features_Fields

classification_related_features_fields;

SE_Classification_Related_Geometry_Fields

classification_related_geometry_fields;

SE_CM_3D_Location_Fields

cm_3D_location_fields;

SE_CMY_Colour_Fields

cmy_colour_fields;

SE_CMY_Colour_Control_Link_Fields

cmy_colour_control_link_fields;

SE_Colour_Fields

colour_fields;

SE_Colour_Index_Fields

colour_index_fields;

SE_Colour_Index_Control_Link_Fields

colour_index_control_link_fields;

SE_Colour_Shininess_Fields

colour_shininess_fields;

SE_Colour_Table_Group_Fields

colour_table_group_fields;

SE_Cone_Directional_Light_Fields

cone_directional_light_fields;

SE_Conformal_Behaviour_Fields

conformal_behaviour_fields;

SE_Continuous_LOD_Related_Geometry_Fields

continuous_lod_related_geometry_fields;

SE_Control_Link_Fields

control_link_fields;

SE_Cylindrical_Volume_Extent_Fields

cylindrical_volume_extent_fields;

SE_Data_Quality_Fields

data_quality_fields;

SE_Distance_LOD_Data_Fields

distance_lod_data_fields;

SE_DRM_Class_Summary_Item_Fields

drm_class_summary_item_fields;

SE_EC_Augmented_3D_Location_Fields

ec_augmented_3D_location_fields;

SE_EC_Surface_Location_Fields

ec_surface_location_fields;

SE_EDCS_Use_Summary_Item_Fields

edcs_use_summary_item_fields;

SE_Edge_Direction_Fields

edge_direction_fields;

SE_EI_3D_Location_Fields

ei_3D_location_fields;

SE_Ellipse_Fields

ellipse_fields;

SE_Enumeration_Axis_Fields

enumeration_axis_fields;

SE_Environment_Root_Fields

environment_root_fields;

SE_Environmental_Domain_Summary_Fields

environmental_domain_summary_fields;

SE_Face_Direction_Fields

face_direction_fields;

SE_Fade_Range_Fields

fade_range_fields;

SE_Feature_Face_Fields

feature_face_fields;

SE_Feature_Topology_Hierarchy_Fields

feature_topology_hierarchy_fields;

SE_Feature_Volume_Fields

feature_volume_fields;

SE_Flashing_Light_Behaviour_Fields

flashing_light_behaviour_fields;

SE_Function_Fields

function_fields;

SE_Functional_Association_Data_Fields

functional_association_data_fields;

SE_Geometric_Centre_Fields

geometric_centre_fields;

SE_Geometry_Topology_Hierarchy_Fields

geometry_topology_hierarchy_fields;

SE_Grid_Overlap_Fields

grid_overlap_fields;

SE_HAEC_3D_Location_Fields

haec_3D_location_fields;

SE_HEEC_3D_Location_Fields

heec_3D_location_fields;

SE_HEEQ_3D_Location_Fields

heeq_3D_location_fields;

SE_Hierarchy_Data_Fields

hierarchy_data_fields;

SE_Hierarchy_Summary_Item_Fields

hierarchy_summary_item_fields;

SE_HSV_Colour_Fields

hsv_colour_fields;

SE_HSV_Colour_Control_Link_Fields

hsv_colour_control_link_fields;

SE_Identification_Fields

identification_fields;

SE_Image_Fields

image_fields;

SE_Image_Anchor_Fields

image_anchor_fields;

SE_Image_Mapping_Function_Fields

image_mapping_function_fields;

SE_In_Out_Fields

in_out_fields;

SE_Index_LOD_Data_Fields

index_lod_data_fields;

SE_Infinite_Light_Fields

infinite_light_fields;

SE_Inline_Colour_Fields

inline_colour_fields;

SE_Interface_Template_Fields

interface_template_fields;

SE_Interval_Axis_Fields

interval_axis_fields;

SE_Irregular_Axis_Fields

irregular_axis_fields;

SE_Keywords_Fields

keywords_fields;

SE_LCC_Augmented_3D_Location_Fields

lcc_augmented_3D_location_fields;

SE_LCC_Surface_Location_Fields

lcc_surface_location_fields;

SE_LCE_3D_Location_Fields

lce_3D_location_fields;

SE_Legal_Constraints_Fields

legal_constraints_fields;

SE_Light_Rendering_Properties_Fields

light_rendering_properties_fields;

SE_Light_Rendering_Properties_Control_Link_Fields

light_rendering_properties_control_link_fields;

SE_Light_Source_Fields

light_source_fields;

SE_Light_Source_Control_Link_Fields

light_source_control_link_fields;

SE_Line_Fields

line_fields;

SE_Lineage_Fields

lineage_fields;

SE_Linear_Geometry_Fields

linear_geometry_fields;

SE_Literal_Fields

literal_fields;

SE_Lobe_Data_Fields

lobe_data_fields;

SE_Local_4x4_Fields

local_4x4_fields;

SE_LOD_Related_Features_Fields

lod_related_features_fields;

SE_LOD_Related_Geometry_Fields

lod_related_geometry_fields;

SE_LSA_2D_Location_Fields

lsa_2D_location_fields;

SE_LSP_2D_Location_Fields

lsp_2D_location_fields;

SE_LSR_2D_Location_Fields

lsr_2D_location_fields;

SE_LSR_3D_Location_Fields

lsr_3D_location_fields;

SE_LSR_3D_Location_Control_Link_Fields

lsr_3D_location_control_link_fields;

SE_LTSAS_3D_Location_Fields

ltsas_3D_location_fields;

SE_LTSAS_Surface_Location_Fields

ltsas_surface_location_fields;

SE_LTSC_3D_Location_Fields

ltsc_3D_location_fields;

SE_LTSC_Surface_Location_Fields

ltsc_surface_location_fields;

SE_LTSE_3D_Location_Fields

ltse_3D_location_fields;

SE_LTSE_Surface_Location_Fields

ltse_surface_location_fields;

SE_M_Augmented_3D_Location_Fields

m_augmented_3D_location_fields;

SE_M_Surface_Location_Fields

m_surface_location_fields;

SE_Map_Scale_LOD_Data_Fields

map_scale_lod_data_fields;

SE_Mesh_Face_Table_Fields

mesh_face_table_fields;

SE_Model_Fields

model_fields;

SE_Model_Instance_Template_Index_Fields

model_instance_template_index_fields;

SE_Moving_Light_Behaviour_Fields

moving_light_behaviour_fields;

SE_Octant_Data_Fields

octant_data_fields;

SE_Octant_Related_Features_Fields

octant_related_features_fields;

SE_Octant_Related_Geometry_Fields

octant_related_geometry_fields;

SE_OMS_Augmented_3D_Location_Fields

oms_augmented_3D_location_fields;

SE_OMS_Surface_Location_Fields

oms_surface_location_fields;

SE_Overload_Priority_Index_Fields

overload_priority_index_fields;

SE_Parallelepiped_Volume_Extent_Fields

parallelepiped_volume_extent_fields;

SE_PD_3D_Location_Fields

pd_3d_location_fields;

SE_PD_Surface_Location_Fields

pd_surface_location_fields;

SE_Perimeter_Related_Feature_Topology_Fields

perimeter_related_feature_topology_fields;

SE_Perimeter_Related_Features_Fields

perimeter_related_features_fields;

SE_Perimeter_Related_Geometry_Fields

perimeter_related_geometry_fields;

SE_Perimeter_Related_Geometry_Topology_Fields

perimeter_related_geometry_topology_fields;

SE_Polygon_Fields

polygon_fields;

SE_Polygon_Control_Link_Fields

polygon_control_link_fields;

SE_Positional_Light_Fields

positional_light_fields;

SE_Predefined_Function_Fields

predefined_function_fields;

SE_Presentation_Domain_Fields

presentation_domain_fields;

SE_Primitive_Summary_Item_Fields

primitive_summary_item_fields;

SE_Process_Step_Fields

process_step_fields;

SE_Property_Fields

property_fields;

SE_Property_Characteristic_Fields

property_characteristic_fields;

SE_Property_Description_Fields

property_description_fields;

SE_Property_Grid_Fields

property_grid_fields;

SE_Property_Set_Index_Fields

property_set_index_fields;

SE_Property_Set_Index_Control_Link_Fields

property_set_index_control_link_fields;

SE_Property_Set_Table_Fields

property_set_table_fields;

SE_Property_Set_Table_Group_Fields

property_set_table_group_fields;

SE_Property_Table_Reference_Fields

property_table_reference_fields;

SE_Property_Table_Reference_Control_Link_Fields

property_table_reference_control_link_fields;

SE_Property_Value_Fields

property_value_fields;

SE_Proximity_Data_Fields

proximity_data_fields;

SE_PS_Augmented_3D_Location_Fields

ps_augmented_3D_location_fields;

SE_PS_Surface_Location_Fields

ps_surface_location_fields;

SE_Pseudo_Code_Function_Fields

pseudo_code_function_fields;

SE_Pyramid_Directional_Light_Fields

pyramid_directional_light_fields;

SE_Quadrant_Data_Fields

quadrant_data_fields;

SE_Quadrant_Related_Features_Fields

quadrant_related_features_fields;

SE_Quadrant_Related_Geometry_Fields

quadrant_related_geometry_fields;

SE_Reference_Origin_Fields

reference_origin_fields;

SE_Reference_Surface_Fields

reference_surface_fields;

SE_Reference_Vector_Fields

reference_vector_fields;

SE_Reference_Vector_Control_Link_Fields

reference_vector_control_link_fields;

SE_Regular_Axis_Fields

regular_axis_fields;

SE_Relative_Time_Fields

relative_time_fields;

SE_Relative_Time_Interval_Fields

relative_time_interval_fields;

SE_Rendering_Priority_Level_Fields

rendering_priority_level_fields;

SE_Rendering_Properties_Fields

rendering_properties_fields;

SE_Responsible_Party_Fields

responsible_party_fields;

SE_RGB_Colour_Fields

rgb_colour_fields;

SE_RGB_Colour_Control_Link_Fields

rgb_colour_control_link_fields;

SE_Role_Data_Fields

role_data_fields;

SE_Rotating_Light_Behaviour_Fields

rotating_light_behaviour_fields;

SE_Rotation_Fields

rotation_fields;

SE_Rotation_Control_Link_Fields

rotation_control_link_fields;

SE_Scale_Fields

scale_fields;

SE_Scale_Control_Link_Fields

scale_control_link_fields;

SE_Season_Fields

season_fields;

SE_SEC_3D_Location_Fields

sec_3D_location_fields;

SE_Security_Constraints_Fields

security_constraints_fields;

SE_Separating_Plane_Data_Fields

separating_plane_fields;

SE_Separating_Plane_Related_Geometry_Fields

separating_plane_related_geometry_fields;

SE_SEQ_3D_Location_Fields

seq_3D_location_fields;

SE_SMD_3D_Location_Fields

smd_3D_location_fields;

SE_SME_3D_Location_Fields

sme_3D_location_fields;

SE_Sound_Fields

sound_fields;

SE_Sound_Instance_Fields

sound_instance_fields;

SE_Sound_Instance_Control_Link_Fields

sound_instance_control_link_fields;

SE_Source_Fields

source_fields;

SE_Spatial_Association_Data_Fields

spatial_association_data_fields;

SE_Spatial_Index_Data_Fields

spatial_index_data_fields;

SE_Spatial_Index_Related_Feature_Topology_Fields

spatial_index_related_feature_topology_fields;

SE_Spatial_Index_Related_Features_Fields

spatial_index_related_features_fields;

SE_Spatial_Index_Related_Geometry_Fields

spatial_index_related_geometry_fields;

SE_Spatial_Index_Related_Geometry_Topology_Fields

spatial_index_related_geometry_topology_fields;

SE_Spatial_Resolution_LOD_Data_Fields

spatial_resolution_lod_data_fields;

SE_Spherical_Volume_Extent_Fields

spherical_volume_extent_fields;

SE_Spot_Light_Fields

spot_light_fields;

SE_SRF_Summary_Fields

srf_summary_fields;

SE_Stamp_Behaviour_Fields

stamp_behaviour_fields;

SE_State_Control_Link_Fields

state_control_link_fields;

SE_State_Data_Fields

state_data_fields;

SE_State_Related_Features_Fields

state_related_features_fields;

SE_State_Related_Geometry_Fields

state_related_geometry_fields;

SE_Strobing_Light_Behaviour_Fields

strobing_light_behaviour_fields;

SE_Symbol_Fields

symbol_fields;

SE_Table_Property_Description_Fields

table_property_description_fields;

SE_Text_Fields

text_fields;

SE_Texture_Coordinate_Fields

texture_coordinate_fields;

SE_Texture_Coordinate_Control_Link_Fields

texture_coordinate_control_link_fields;

SE_Time_Interval_Fields

time_interval_fields;

SE_Time_Of_Day_Fields

time_of_day_fields;

SE_Time_Point_Fields

time_point_fields;

SE_Time_Related_Features_Fields

time_related_features_fields;

SE_Time_Related_Geometry_Fields

time_related_geometry_fields;

SE_TM_Augmented_3D_Location_Fields

tm_augmented_3D_location_fields;

SE_TM_Surface_Location_Fields

tm_surface_location_fields;

SE_Translation_Fields

translation_fields;

SE_Translation_Control_Link_Fields

translation_control_link_fields;

SE_Translucency_Fields

translucency_fields;

SE_Translucency_Control_Link_Fields

translucency_control_link_fields;

SE_Transmittal_Root_Fields

transmittal_root_fields;

SE_Transmittal_Summary_Fields

transmittal_summary_fields;

SE_Union_Of_Feature_Topology_Fields

union_of_feature_topology_fields;

SE_Union_Of_Features_Fields

union_of_features_fields;

SE_Union_Of_Geometry_Fields

union_of_geometry_fields;

SE_Union_Of_Geometry_Topology_Fields

union_of_geometry_topology_fields;

SE_Union_Of_Primitive_Geometry_Fields

union_of_primitive_geometry_fields;

SE_Variable_Fields

variable_fields;

SE_Volume_Light_Behaviour_Fields

volume_light_behaviour_fields;

SE_Volume_LOD_Data_Fields

volume_lod_data_fields;

SE_World_3x3_Fields

world_3x3_fields;

} fields;

} SE_DRM_Class_Fields;

SE_DRM_Class_Summary_Item_Fields

Abstract data type: DRM_Class_Summary_Item_Fields

typedef struct {

SE_DRM_Class

drm_class;

} SE_DRM_Class_Summary_Item_Fields;

SE_EC_Augmented_3D_Location_Fields

Abstract data type: EC_Augmented_3D_Location_Fields

typedef struct {

SRM_Map_Projection_3D_Coordinate

coordinate;

} SE_EC_Augmented_3D_Location_Fields;

SE_EC_Surface_Location_Fields

Abstract data type: EC_Surface_Location_Fields

typedef struct {

SRM_Map_Projection_Surface_Coordinate

coordinate;

} SE_EC_Surface_Location_Fields;

SE_EDCS_Use_Summary_Item_Fields

Abstract data type: EDCS_Use_Summary_Item_Fields

typedef struct {

SE_String

description;

} SE_EDCS_Use_Summary_Item_Fields;

SE_Edge_Direction_Fields

Abstract data type: Edge_Direction_Fields

typedef struct {

SE_Boolean

forwards;

} SE_Edge_Direction_Fields;

SE_EI_3D_Location_Fields

Abstract data type: EI_3D_Location_Fields

typedef struct {

SRM_EI_3D_Coordinate

coordinate;

} SE_EI_3D_Location_Fields;

SE_Element_Type

Abstract data type: Element_Type

typedef struct {

SE_Element_Type_Code    code_type;

union _SE_Element_Type_Union {

EDCS_Attribute_Code

attribute;

SE_Index_Code

index;

SE_Variable_Code

variable;

} value;

} SE_Element_Type;

SE_Ellipse_Fields

Abstract data type: Ellipse_Fields

typedef struct {

SE_Long_Float

major_axis_length;

SE_Long_Float

minor_axis_length;

} SE_Ellipse_Fields;

SE_Enumeration_Axis_Fields

Abstract data type: Enumeration_Axis_Fields

typedef struct {

EDCS_Attribute_Code

axis_type;

SE_Short_Integer_Positive

axis_value_count;

EDCS_Integer

*axis_value_array;

} SE_Enumeration_Axis_Fields;

SE_Environment_Root_Fields

Abstract data type: Environment_Root_Fields

typedef struct {

SE_SRF_Context_Info

srf_context_info;

} SE_Environment_Root_Fields;

SE_Environmental_Domain_Summary_Fields

Abstract data type: Environmental_Domain_Summary_Fields

typedef struct {

EDCS_Classification_Code

environmental_domain;

} SE_Environmental_Domain_Summary_Fields;

SE_Face_Direction_Fields

Abstract data type: Face_Direction_Fields

typedef struct {

SE_Boolean

front;

} SE_Face_Direction_Fields;

SE_Fade_Range_Fields

Abstract data type: Fade_Range_Fields

typedef struct {

SE_Long_Float

fade_to_off_begin;

SE_Long_Float

fade_to_off_complete;

} SE_Fade_Range_Fields;

SE_Feature_Face_Fields

Abstract data type: Feature_Face_Fields

typedef struct {

SE_Boolean

universal;

} SE_Feature_Face_Fields;

SE_Feature_Topology_Hierarchy_Fields

Abstract data type: Feature_Topology_Hierarchy_Fields

typedef struct {

SE_Feature_Topology_Level

feature_topology_level;

} SE_Feature_Topology_Hierarchy_Fields;

SE_Feature_Volume_Fields

Abstract data type: Feature_Volume_Fields

typedef struct {

SE_Boolean

universal;

} SE_Feature_Volume_Fields;

SE_Flashing_Light_Behaviour_Fields

Abstract data type: Flashing_Light_Behaviour_Fields

typedef struct {

SE_Long_Float

period;

SE_Long_Float

delay;

SE_Long_Float

duration;

} SE_Flashing_Light_Behaviour_Fields;

SE_Function_Fields

Abstract data type: Function_Fields

typedef struct {

EDCS_Attribute_Value_Type

value_type;

} SE_Function_Fields;

SE_Functional_Association_Data_Fields

Abstract data type: Functional_Association_Data_Fields

typedef struct {

SE_Functional_Association_Meaning_Type

meaning;

} SE_Functional_Association_Data_Fields;

SE_General_Hierarchy_Select

Abstract data type: General_Hierarchy_Select

typedef struct {

SE_Hierarchy_Inclusion

alternate_hierarchy;

SE_Hierarchy_Inclusion

animation_related;

SE_Hierarchy_Inclusion

classification_related;

SE_Hierarchy_Inclusion

continuous_lod_related;

SE_Hierarchy_Inclusion

octant_related;

SE_Hierarchy_Inclusion

quadrant_related;

SE_Hierarchy_Inclusion

separating_plane;

SE_Hierarchy_Inclusion

spatial_index_related;

SE_Hierarchy_Inclusion

state_related;

SE_Hierarchy_Inclusion

lod_related;

SE_Hierarchy_Inclusion

lod_distance_related;

SE_Hierarchy_Inclusion

lod_index_related;

SE_Hierarchy_Inclusion

lod_map_scale_related;

SE_Hierarchy_Inclusion

lod_spatial_resolution_related;

SE_Hierarchy_Inclusion

lod_volume_related;

SE_Boolean

time_related;

SE_Hierarchy_Inclusion

time_related_by_month;

SE_Hierarchy_Inclusion

time_related_by_season;

SE_Hierarchy_Inclusion

time_related_by_time_interval;

SE_Hierarchy_Inclusion

time_related_by_time_of_day;

SE_Hierarchy_Inclusion

time_related_by_time_point;

SE_Boolean

perimeter_related;

SE_Boolean

union_of_features;

SE_Boolean

union_of_geometry_hierarchies;

SE_Boolean

union_of_geometry_primitives;

} SE_General_Hierarchy_Select;

SE_Geometric_Centre_Fields

Abstract data type: Geometric_Centre_Fields

typedef struct {

SE_Geometric_Centre_Code

meaning;

} SE_Geometric_Centre_Fields;

SE_Geometry_Topology_Hierarchy_Fields

Abstract data type: Geometry_Topology_Hierarchy_Fields

typedef struct {

SE_Geometry_Topology_Level

geometry_topology_level;

} SE_Geometry_Topology_Hierarchy_Fields;

SE_Grid_Overlap_Fields

Abstract data type: Grid_Overlap_Fields

typedef struct {

SE_Short_Integer_Positive

overlay_group;

SE_Short_Integer_Unsigned

priority;

SE_Grid_Overlap_Operator

operation;

} SE_Grid_Overlap_Fields;

SE_HAEC_3D_Location_Fields

Abstract data type: HAEC_3D_Location_Fields

typedef struct {

SRM_Spherical_3D_Coordinate

coordinate;

} SE_HAEC_3D_Location_Fields;

SE_HEEC_3D_Location_Fields

Abstract data type: HEEC_3D_Location_Fields

typedef struct {

SRM_Spherical_3D_Coordinate

coordinate;

} SE_HEEC_3D_Location_Fields;

SE_HEEQ_3D_Location_Fields

Abstract data type: HEEQ_3D_Location_Fields

typedef struct {

SRM_Spherical_3D_Coordinate

coordinate;

} SE_HEEQ_3D_Location_Fields;

SE_Hierarchy_Data_Fields

Abstract data type: Hierarchy_Data_Fields

typedef struct {

SE_String

alternate_representation_reason;

} SE_Hierarchy_Data_Fields;

SE_Hierarchy_Order_Parameters

Abstract data type: Hierarchy_Order_Parameters

typedef struct {

SE_General_Hierarchy_Order

general_hierarchy_mask;

SE_Alternate_Hierarchy_Parameters

alternate_hierarchy_traversal_order;

SE_Classification_Parameters

classification_traversal_order;

SE_Sibling_Traversal_Order

lod_traversal_order;

SE_Sibling_Traversal_Order

octant_traversal_order;

SE_Sibling_Traversal_Order

quadrant_traversal_order;

SE_Sibling_Traversal_Order

separating_plane_traversal_order;

SE_Sibling_Traversal_Order

spatial_index_general_traversal_order;

SE_State_Data_Fields

state_traversal_order;

SE_Sibling_Traversal_Order

time_traversal_order;

} SE_Hierarchy_Order_Parameters;

SE_Hierarchy_Select_Parameters

Abstract data type: Hierarchy_Select_Parameters

typedef struct {

SE_General_Hierarchy_Select

general_hierarchy_mask;

SE_Alternate_Hierarchy_Parameters

alternate_hierarchy_branches;

SE_Animation_Select_Parameters

animation_branches;

SE_Classification_Parameters

classification_branches;

SE_Continuous_LOD_Select_Parameters

continuous_lod_branches;

SE_LOD_Select_Parameters

lod_branches;

SE_Octant_Select_Parameters

octant_branches;

SE_Quadrant_Select_Parameters

quadrant_branches;

SE_Separating_Plane_Select_Parameters

separating_plane_branches;

SE_Spatial_Index_Parameters

spatial_index_branches;

SE_State_Select_Parameters

state_branches;

SE_Time_Select_Parameters

time_branches;

} SE_Hierarchy_Select_Parameters;

SE_Hierarchy_Summary_Item_Fields

Abstract data type: Hierarchy_Summary_Item_Fields

typedef struct {

SE_DRM_Class

drm_class;

SE_Hierarchy_Summary_Multiplicity_Code

multiplicity_meaning;

SE_Integer_Unsigned

multiplicity;

} SE_Hierarchy_Summary_Item_Fields;

SE_HSV_Colour_Control_Link_Fields

Abstract data type: HSV_Colour_Control_Link_Fields

typedef struct {

SE_String

description;

SE_Integer_Unsigned

hue_expression_index;

SE_Integer_Unsigned

saturation_expression_index;

SE_Integer_Unsigned

value_expression_index;

} SE_HSV_Colour_Control_Link_Fields;

SE_HSV_Colour_Fields

Abstract data type: HSV_Colour_Fields

typedef struct {

SE_HSV_Data

hsv_data;

} SE_HSV_Colour_Fields;

SE_HSV_Data

Abstract data type: HSV_Data

typedef struct {

SE_Long_Float

hue;

SE_Long_Float

saturation;

SE_Long_Float

value;

} SE_HSV_Data;

 

SE_Identification_Fields

Abstract data type: Identification_Fields

typedef struct {

SE_String

abstract;

SE_String

purpose;

SE_Short_Integer_Unsigned

credit_count;

SE_String

*credit;

SE_String

supplemental_information;

} SE_Identification_Fields;

SE_Image_Anchor_Fields

Abstract data type: Image_Anchor_Fields

typedef struct {

SE_SRF_Context_Info

srf_context_info;

} SE_Image_Anchor_Fields;

SE_Image_Data

Abstract data type: Image_Data

typedef struct {

SE_Integer_Unsigned

data_count;

SE_Octet

*data;

} SE_Image_Data;

SE_Image_Fields

Abstract data type: Image_Fields

typedef struct {

SE_String

name;

SE_Colour_Model

colour_model;

SE_Short_Integer_Unsigned

level_count;

SE_Image_Mip_Extents

*mip_extents_array;

SE_Image_Signature

image_signature;

SE_Image_Scan_Direction

scan_direction;

SE_Image_Scan_Direction_Z

scan_direction_z;

SE_Image_Component_Type

component_data_type;

SE_Boolean

data_is_little_endian;

SE_Boolean

data_is_3D;

SE_Short_Integer_Unsigned

bits_of_alpha;

SE_Short_Integer_Unsigned

bits_of_luminance;

SE_Short_Integer_Unsigned

bits_of_colour_coordinate_1;

SE_Short_Integer_Unsigned

bits_of_colour_coordinate_2;

SE_Short_Integer_Unsigned

bits_of_colour_coordinate_3;

SE_Short_Integer_Unsigned

bits_of_bump_map_height;

SE_Short_Integer_Unsigned

bits_of_material_1;

SE_Short_Integer_Unsigned

bits_of_material_2;

SE_Short_Integer_Unsigned

bits_of_material_3;

SE_Short_Integer_Unsigned

bits_of_material_2_percentage;

SE_Short_Integer_Unsigned

bits_of_material_3_percentage;

SE_Short_Integer_Unsigned

bits_of_image_index;

SE_Short_Integer_Unsigned

bits_of_bump_map_u;

SE_Short_Integer_Unsigned

bits_of_bump_map_v;

SE_Float

minimum_value_of_alpha;

SE_Float

maximum_value_of_alpha;

SE_Float

minimum_value_of_luminance;

SE_Float

maximum_value_of_luminance;

SE_Float

minimum_value_of_colour_coordinate_1;

SE_Float

maximum_value_of_colour_coordinate_1;

SE_Float

minimum_value_of_colour_coordinate_2;

SE_Float

maximum_value_of_colour_coordinate_2;

SE_Float

minimum_value_of_colour_coordinate_3;

SE_Float

maximum_value_of_colour_coordinate_3;

SE_Float

minimum_value_of_bump_map_height;

SE_Float

maximum_value_of_bump_map_height;

SE_Float

minimum_value_of_bump_map_u;

SE_Float

maximum_value_of_bump_map_u;

SE_Float

minimum_value_of_bump_map_v;

SE_Float

maximum_value_of_bump_map_v;

} SE_Image_Fields;

SE_Image_Mapping_Function_Fields

Abstract data type: Image_Mapping_Function_Fields

typedef struct {

SE_Image_Mapping_Method

image_mapping_method;

SE_Image_Wrap

image_wrap_s;

SE_Image_Wrap

image_wrap_t;

SE_Image_Projection_Type

image_projection_type;

SE_Long_Float

intensity_level;

SE_Long_Float

gain;

SE_Boolean

image_detail_mapping;

} SE_Image_Mapping_Function_Fields;

SE_Image_Mip_Extents

Abstract data type: Image_Mip_Extents

typedef struct {

SE_Integer_Positive

size_horizontal;

SE_Integer_Positive

size_vertical;

SE_Integer_Positive

size_z;

} SE_Image_Mip_Extents;

SE_Image_Texel_Location_3D

Abstract data type: Image_Texel_Location_3D

typedef struct {

SE_Short_Integer_Unsigned

horizontal;

SE_Short_Integer_Unsigned

vertical;

SE_Short_Integer_Unsigned

z;

} SE_Image_Texel_Location_3D;

SE_In_Out_Fields

Abstract data type: In_Out_Fields

typedef struct {

SE_Boolean

input;

} SE_In_Out_Fields;

SE_Index_LOD_Data_Fields

Abstract data type: Index_LOD_Data_Fields

typedef struct {

SE_Integer_Positive

index;

} SE_Index_LOD_Data_Fields;

SE_Index_Range

Abstract data type: Index_Range

typedef struct {

SE_Integer_Unsigned

first_index;

SE_Integer_Unsigned

last_index;

} SE_Index_Range;

SE_Infinite_Light_Fields

Abstract data type: Infinite_Light_Fields

typedef struct {

SE_Boolean

apply_to_children;

SE_Boolean

override_positional_lights;

SE_Boolean

override_infinite_lights;

SE_Boolean

active_light_value;

} SE_Infinite_Light_Fields;

SE_Inline_Colour_Fields

Abstract data type: Inline_Colour_Fields

typedef struct {

SE_Colour_Mapping

colour_mapping;

} SE_Inline_Colour_Fields;

SE_Integer_Interval_Value

Abstract data type: Integer_Interval_Value

typedef struct {

SE_Interval_Type    interval_type;

union _SE_Integer_Interval_Value_Union {

EDCS_Integer_Interval

open_interval;

EDCS_Integer_Interval

ge_lt_interval;

EDCS_Integer_Interval

gt_le_interval;

EDCS_Integer_Interval

closed_interval;

EDCS_Integer

gt_semi_interval;

EDCS_Integer

ge_semi_interval;

EDCS_Integer

lt_semi_interval;

EDCS_Integer

le_semi_interval;

} value;

} SE_Integer_Interval_Value;

SE_Interface_Template_Fields

Abstract data type: Interface_Template_Fields

typedef struct {

SE_String

description;

} SE_Interface_Template_Fields;

SE_Interval_Axis_Fields

Abstract data type: Interval_Axis_Fields

typedef struct {

EDCS_Attribute_Code

axis_type;

SE_Short_Integer_Positive

axis_value_count;

SE_Interval_Value

*axis_interval_value_array;

EDCS_Unit_Code

value_unit;

EDCS_Unit_Scale_Code

value_scale;

} SE_Interval_Axis_Fields;

SE_Interval_Value

Abstract data type: Interval_Value

typedef struct {

SE_Interval_Value_Type    value_type;

union _SE_Interval_Value_Union {

SE_Long_Float_Interval_Value

real_value;

SE_Integer_Interval_Value

integer_value;

SE_Count_Interval_Value

count_value;

} value;

} SE_Interval_Value;

SE_Irregular_Axis_Fields

Abstract data type: Irregular_Axis_Fields

typedef struct {

EDCS_Attribute_Code

axis_type;

SE_Short_Integer_Positive

axis_value_count;

SE_Single_Value

*axis_value_array;

EDCS_Unit_Code

value_unit;

EDCS_Unit_Scale_Code

value_scale;

SE_Interpolation_Type

interpolation_type;

} SE_Irregular_Axis_Fields;

SE_Keywords_Fields

Abstract data type: Keywords_Fields

typedef struct {

SE_Short_Integer_Positive

keyword_count;

SE_String

*keyword_array;

SE_MD_KeywordTypeCode

type;

} SE_Keywords_Fields;

SE_LCC_Augmented_3D_Location_Fields

Abstract data type: LCC_Augmented_3D_Location_Fields

typedef struct {

SRM_Map_Projection_3D_Coordinate

coordinate;

} SE_LCC_Augmented_3D_Location_Fields;

SE_LCC_Surface_Location_Fields

Abstract data type: LCC_Surface_Location_Fields

typedef struct {

SRM_Map_Projection_Surface_Coordinate

coordinate;

} SE_LCC_Surface_Location_Fields;

SE_LCE_3D_Location_Fields

Abstract data type: LCE_3D_Location_Fields

typedef struct {

SRM_Euclidean_3D_Coordinate

coordinate;

} SE_LCE_3D_Location_Fields;

SE_Legal_Constraints_Fields

Abstract data type: Light_Rendering_Properties_Control_Link_Fields

typedef struct {

SE_Short_Integer_Unsigned

use_limitation_count;

SE_String

*use_limitation;

SE_MD_RestrictionCode

access_constraints;

SE_MD_RestrictionCode

use_constraints;

SE_String

other_constraints;

} SE_Legal_Constraints_Fields;

SE_Light_Rendering_Properties_Control_Link_Fields

Abstract data type: Light_Rendering_Properties_Control_Link_Fields

typedef struct {

SE_String

description;

SE_Integer_Unsigned

active_expression_index;

SE_Integer_Unsigned

candela_value_expression_index;

SE_Integer_Unsigned

lower_candela_value_index;

SE_Integer_Unsigned

upper_candela_value_index;

} SE_Light_Rendering_Properties_Control_Link_Fields;

SE_Light_Rendering_Properties_Fields

Abstract data type: Light_Rendering_Properties_Fields

typedef struct {

SE_Point_Light_Display_Type

display_type;

SE_Long_Float

light_diameter;

SE_Long_Float

light_extinguishing_range;

SE_Boolean

random_area_light;

SE_Boolean

active_light_value;

SE_Long_Float

candela_value;

} SE_Light_Rendering_Properties_Fields;

SE_Light_Source_Control_Link_Fields

Abstract data type: Light_Source_Control_Link_Fields

typedef struct {

SE_String

description;

SE_Integer_Positive

expression_index;

} SE_Light_Source_Control_Link_Fields;

SE_Light_Source_Fields

Abstract data type: Light_Source_Fields

typedef struct {

SE_Boolean

apply_to_children;

SE_Boolean

override_positional_lights;

SE_Boolean

override_infinite_lights;

SE_Boolean

active_light_value;

} SE_Light_Source_Fields;

SE_Line_Fields

Abstract data type: Line_Fields

typedef struct {

SE_Short_Integer_Unsigned

count;

SE_Boolean

suppress_last;

} SE_Line_Fields;

SE_Lineage_Fields

Abstract data type: Lineage_Fields

typedef struct {

SE_String

statement;

} SE_Lineage_Fields;

SE_Linear_Geometry_Fields

Abstract data type: Linear_Geometry_Fields

typedef struct {

SE_Short_Integer_Unsigned

count;

SE_Boolean

suppress_last;

} SE_Linear_Geometry_Fields;

SE_Literal_Fields

Abstract data type: Literal_Fields

typedef struct {

SE_Single_Value

value;

} SE_Literal_Fields;

SE_Lobe_Data_Fields

Abstract data type: Lobe_Data_Fields

typedef struct {

SE_Long_Float

horizontal_width;

SE_Long_Float

vertical_width;

} SE_Lobe_Data_Fields;

SE_Local_4x4_Fields

Abstract data type: Local_4x4_Fields

typedef struct {

SE_Matrix_4x4

matrix;

} SE_Local_4x4_Fields;

SE_Locale

Abstract data type: Locale

typedef struct {

SE_Character

language[2];

SE_Character

country[3];

} SE_Locale;

SE_LOD_Entry

Abstract data type: LOD_Entry

typedef struct {

SE_LOD_Data_Type  lod_entry_type;

union SE_LOD_Entry_Union {

SE_Distance_LOD_Data_Fields

distance;

SE_Index_LOD_Data_Fields

index;

SE_Map_Scale_LOD_Data_Fields

map_scale;

SE_Spatial_Resolution_LOD_Data_Fields

spatial_resolution;

SE_Volume_LOD_Entry

volume;

} fields;

} SE_LOD_Entry;

SE_LOD_Related_Features_Fields

Abstract data type: LOD_Related_Features_Fields

typedef struct {

SE_Boolean

unique_descendants;

SE_Boolean

strict_organizing_principle;

SE_LOD_Data_Type

lod_data_type;

} SE_LOD_Related_Features_Fields;

SE_LOD_Related_Geometry_Fields

Abstract data type: LOD_Related_Geometry_Fields

typedef struct {

SE_Boolean

unique_descendants;

SE_Boolean

strict_organizing_principle;

SE_LOD_Data_Type

lod_data_type;

} SE_LOD_Related_Geometry_Fields;

SE_LOD_Select_Parameters

Abstract data type: LOD_Select_Parameters

typedef struct {

SE_Branch_Range_Matching

matching_rules;

SE_Integer_Unsigned

lod_entry_count;

SE_LOD_Entry

*lod_entry_array;

} SE_LOD_Select_Parameters;

SE_Long_Float_Interval_Value

Abstract data type: Long_Float_Interval_Value

typedef struct {

SE_Interval_Type    interval_type;

union _SE_Long_Float_Interval_Value_Union {

EDCS_Long_Float_Interval

open_interval;

EDCS_Long_Float_Interval

ge_lt_interval;

EDCS_Long_Float_Interval

gt_le_interval;

EDCS_Long_Float_Interval

closed_interval;

EDCS_Long_Float

gt_semi_interval;

EDCS_Long_Float

ge_semi_interval;

EDCS_Long_Float

lt_semi_interval;

EDCS_Long_Float

le_semi_interval;

} value;

} SE_Long_Float_Interval_Value;

SE_Long_Float_Value

Abstract data type: Long_Float_Value

typedef struct {

EDCS_Numeric_Value_Type    numeric_value_type;

union _SE_Long_FLoat_Interval_Value_Union {

EDCS_Long_Float

single_value;

EDCS_Long_Float_Interval

open_interval;

EDCS_Long_Float_Interval

ge_lt_interval;

EDCS_Long_Float_Interval

gt_le_interval;

EDCS_Long_Float_Interval

closed_interval;

EDCS_Long_Float

gt_semi_interval;

EDCS_Long_Float

ge_semi_interval;

EDCS_Long_Float

lt_semi_interval;

EDCS_Long_Float

le_semi_interval;

} value;

} SE_Long_Float_Value;

SE_LSA_2D_Location_Fields

Abstract data type: LSA_2D_Location_Fields

typedef struct {

SRM_LSA_2D_Coordinate

coordinate;

} SE_LSA_2D_Location_Fields;

SE_LSP_2D_Location_Fields

Abstract data type: LSP_2D_Location_Fields

typedef struct {

SRM_LSP_2D_Coordinate

coordinate;

} SE_LSP_2D_Location_Fields;

SE_LSR_2D_Location_Fields

Abstract data type: LSR_2D_Location_Fields

typedef struct {

SRM_Euclidean_2D_Coordinate

coordinate;

} SE_LSR_2D_Location_Fields;

SE_LSR_3D_Location_Control_Link_Fields

Abstract data type: LSR_3D_Location_Control_Link_Fields

typedef struct {

SE_String

description;

SE_Integer_Unsigned

u_expression_index;

SE_Integer_Unsigned

v_expression_index;

SE_Integer_Unsigned

w_expression_index;

} SE_LSR_3D_Location_Control_Link_Fields;

SE_LSR_3D_Location_Fields

Abstract data type: LSR_3D_Location_Fields

typedef struct {

SRM_Euclidean_3D_Coordinate

coordinate;

} SE_LSR_3D_Location_Fields;

SE_LTSAS_3D_Location_Fields

Abstract data type: LTSAS_3D_Location_Fields

typedef struct {

SRM_LTSAS_3D_Coordinate

coordinate;

} SE_LTSAS_3D_Location_Fields;

SE_LTSAS_Surface_Location_Fields

Abstract data type: LTSAS_Surface_Location_Fields

typedef struct {

SRM_LTSAS_Surface_Coordinate

coordinate;

} SE_LTSAS_Surface_Location_Fields;

SE_LTSC_3D_Location_Fields

Abstract data type: LTSC_3D_Location_Fields

typedef struct {

SRM_LTSC_3D_Coordinate

coordinate;

} SE_LTSC_3D_Location_Fields;

SE_LTSC_Surface_Location_Fields

Abstract data type: LTSC_Surface_Location_Fields

typedef struct {

SRM_LTSC_Surface_Coordinate

coordinate;

} SE_LTSC_Surface_Location_Fields;

SE_LTSE_3D_Location_Fields

Abstract data type: LTSE_3D_Location_Fields

typedef struct {

SRM_LTSE_3D_Coordinate

coordinate;

} SE_LTSE_3D_Location_Fields;

SE_LTSE_Surface_Location_Fields

Abstract data type: LTSE_Surface_Location_Fields

typedef struct {

SRM_LTSE_Surface_Coordinate

coordinate;

} SE_LTSE_Surface_Location_Fields;

SE_M_Augmented_3D_Location_Fields

Abstract data type: M_Augmented_3D_Location_Fields

typedef struct {

SRM_Map_Projection_3D_Coordinate

coordinate;

} SE_M_Augmented_3D_Location_Fields;

SE_M_Surface_Location_Fields

Abstract data type: M_Surface_Location_Fields

typedef struct {

SRM_Map_Projection_Surface_Coordinate

coordinate;

} SE_M_Surface_Location_Fields;

SE_Map_Scale_LOD_Data_Fields

Abstract data type: Map_Scale_LOD_Data_Fields

typedef struct {

SE_Long_Float

map_scale;

} SE_Map_Scale_LOD_Data_Fields;

SE_Mesh_Face_Table_Fields

Abstract data type: Mesh_Face_Table_Fields

typedef struct {

SE_Integer_Positive

mesh_face_count;

SE_Integer_Positive

maximum_vertices_per_face;

SE_Boolean

adjacent_face_table_present;

} SE_Mesh_Face_Table_Fields;

SE_Model_Fields

Abstract data type: Model_Fields

typedef struct {

SE_String

name;

SE_SRF_Context_Info

srf_context_info;

SE_Model_Reference_Type

model_reference_type;

SE_Boolean

dynamic_model_processing;

SE_Boolean

has_units;

SE_Boolean

has_moving_parts;

} SE_Model_Fields;

SE_Model_Instance_Template_Index_Fields

Abstract data type: Model_Instance_Template_Index_Fields

typedef struct {

SE_Integer_Positive

index;

} SE_Model_Instance_Template_Index_Fields;

SE_Moving_Light_Behaviour_Fields

Abstract data type: Moving_Light_Behaviour_Fields

typedef struct {

SE_Long_Float

speed;

SE_Long_Float

delay;

} SE_Moving_Light_Behaviour_Fields;

SE_Octant_Data_Fields

Abstract data type: Octant_Data_Fields

typedef struct {

SE_Octant

octant;

} SE_Octant_Data_Fields;

SE_Octant_Related_Features_Fields

Abstract data type: Octant_Related_Features_Fields

typedef struct {

SE_Boolean

unique_descendants;

SE_Boolean

strict_organizing_principle;

} SE_Octant_Related_Features_Fields;

SE_Octant_Related_Geometry_Fields

Abstract data type: Octant_Related_Geometry_Fields

typedef struct {

SE_Boolean

unique_descendants;

SE_Boolean

strict_organizing_principle;

} SE_Octant_Related_Geometry_Fields;

SE_Octant_Select_Parameters

Abstract data type: Octant_Select_Parameters

typedef struct {

SE_Integer_Unsigned

octant_data_count;

SE_Octant_Data_Fields

*octant_data_array;

} SE_Octant_Select_Parameters;

SE_OMS_Augmented_3D_Location_Fields

Abstract data type: OMS_Augmented_3D_Location_Fields

typedef struct {

SRM_Map_Projection_3D_Coordinate

coordinate;

} SE_OMS_Augmented_3D_Location_Fields;

SE_OMS_Surface_Location_Fields

Abstract data type: OMS_Surface_Location_Fields

typedef struct {

SRM_Map_Projection_Surface_Coordinate

coordinate;

} SE_OMS_Surface_Location_Fields;

SE_Overload_Priority_Index_Fields

Abstract data type: Overload_Priority_Index_Fields

typedef struct {

SE_Short_Integer

overload_priority;

} SE_Overload_Priority_Index_Fields;

SE_Packed_Hierarchy

Abstract data type: Packed_Hierarchy

typedef struct {

SE_Packed_Hierarchy_Object_Access

hierarchy_root_object;

SE_Integer_Unsigned

object_count;

SE_Packed_Hierarchy_Object

*object_list;

SE_Integer_Unsigned

reference_list_length;

SE_Packed_Hierarchy_Reference

reference_list;

} SE_Packed_Hierarchy;

SE_Packed_Hierarchy_Object

Abstract data type: Packed_Hierarchy_Object

typedef struct {

SE_Object

this_object;

SE_Boolean

components_included;

SE_Integer_Unsigned

components_count;

SE_Packed_Hierarchy_Reference

*components;

SE_Boolean

aggregates_included;

SE_Integer_Unsigned

aggregates_count;

SE_Packed_Hierarchy_Reference

*aggregates;

SE_DRM_Class_Fields

fields;

SE_Status_Code

status_code;

} SE_Packed_Hierarchy_Object;

SE_Packed_Hierarchy_Reference

Abstract data type: Packed_Hierarchy_Reference

typedef struct {

SE_Object

object;

SE_Object

link_object;

} SE_Packed_Hierarchy_Reference;

SE_Parallelepiped_Volume_Extent_Entry

Abstract data type: Parallelepiped_Volume_Extent_Entry

typedef struct {

SE_Parallelepiped_Volume_Extent_Fields

parallelepiped;

SE_Reference_Vector_Fields

reference_vectors[3];

} SE_Parallelepiped_Volume_Extent_Entry;

SE_Parallelepiped_Volume_Extent_Fields

Abstract data type: Parallelepiped_Volume_Extent_Fields

typedef struct {

SE_Long_Float

edge_length[3];

} SE_Parallelepiped_Volume_Extent_Fields;

SE_PD_3D_Location_Fields

Abstract data type: PD_3D_Location_Fields

typedef struct {

SRM_CD_3D_Coordinate

coordinate;

} SE_PD_3D_Location_Fields;

SE_PD_Surface_Location_Fields

Abstract data type: PD_Surface_Location_Fields

typedef struct {

SRM_CD_Surface_Coordinate

coordinate;

} SE_PD_Surface_Location_Fields;

SE_Perimeter_Related_Feature_Topology_Fields

Abstract data type: Perimeter_Related_Feature_Topology_Fields

typedef struct {

SE_Feature_Topology_Level

feature_topology_level;

} SE_Perimeter_Related_Feature_Topology_Fields;

SE_Perimeter_Related_Features_Fields

Abstract data type: Perimeter_Related_Features_Fields

typedef struct {

SE_Boolean

unique_descendants;

SE_Boolean

strict_organizing_principle;

} SE_Perimeter_Related_Features_Fields;

SE_Perimeter_Related_Geometry_Fields

Abstract data type: Perimeter_Related_Geometry_Fields

typedef struct {

SE_Boolean

unique_descendants;

SE_Boolean

strict_organizing_principle;

} SE_Perimeter_Related_Geometry_Fields;

SE_Perimeter_Related_Geometry_Topology_Fields

Abstract data type: Perimeter_Related_Geometry_Topology_Fields

typedef struct {

SE_Geometry_Topology_Level

geometry_topology_level;

} SE_Perimeter_Related_Geometry_Topology_Fields;

SE_Polygon_Control_Link_Fields

Abstract data type: Polygon_Control_Link_Fields

typedef struct {

SE_String

description;

SE_Integer_Unsigned

hat_test_expression_index;

SE_Integer_Unsigned

collidible_expression_index;

SE_Integer_Unsigned

invisible_expression_index;

SE_Integer_Unsigned

laser_range_finding_expression_index;

} SE_Polygon_Control_Link_Fields;

SE_Polygon_Fields

Abstract data type: Polygon_Fields

typedef struct {

SE_Polygon_Flags

polygon_flags;

} SE_Polygon_Fields;

SE_Positional_Light_Fields

Abstract data type: Positional_Light_Fields

typedef struct {

SE_Boolean

apply_to_children;

SE_Boolean

override_positional_lights;

SE_Boolean

override_infinite_lights;

SE_Boolean

active_light_value;

SE_Float

radius;

SE_Long_Float

constant_attenuation_factor;

SE_Long_Float

linear_attenuation_factor;

SE_Long_Float

quadratic_attenuation_factor;

} SE_Positional_Light_Fields;

SE_Predefined_Function_Fields

Abstract data type: Predefined_Function_Fields

typedef struct {

EDCS_Attribute_Value_Type

value_type;

SE_Predefined_Function

function;

} SE_Predefined_Function_Fields;

SE_Presentation_Domain_Fields

Abstract data type: Presentation_Domain_Fields

typedef struct {

SE_Presentation_Domain

presentation_domain;

} SE_Presentation_Domain_Fields;

SE_Primitive_Summary_Item_Fields

Abstract data type: Primitive_Summary_Item_Fields

typedef struct {

SE_DRM_Class

drm_class;

SE_Integer_Unsigned

multiplicity;

} SE_Primitive_Summary_Item_Fields;

SE_Process_Step_Fields

Abstract data type: Process_Step_Fields

typedef struct {

SE_String

description;

SE_String

rationale;

} SE_Process_Step_Fields;

SE_Property_Characteristic_Fields

Abstract data type: Property_Characteristic_Fields

typedef struct {

EDCS_Value_Characteristic_Code

meaning;

EDCS_Attribute_Value

characteristic_value;

} SE_Property_Characteristic_Fields;

SE_Property_Code

Abstract data type: Property_Code

typedef struct {

SE_Property_Code_Type   code_type;

union _SE_Property_Code_Union {

EDCS_Attribute_Code

attribute;

SE_Variable_Code

variable;

} values;

} SE_Property_Code;

SE_Property_Description_Fields

Abstract data type: Property_Description_Fields

typedef struct {

SE_Property_Code

meaning;

SE_Boolean

apply_property_inheritance;

} SE_Property_Description_Fields;

SE_Property_Fields

Abstract data type: Property_Fields

typedef struct {

SE_Property_Code

meaning;

SE_Boolean

apply_property_inheritance;

} SE_Property_Fields;

SE_Property_Grid_Fields

Abstract data type: Property_Grid_Fields

typedef struct {

SE_Short_Integer_Positive

spatial_axes_count;

SE_Short_Integer

*location_index;

SE_SRF_Context_Info

srf_context_info;

SE_Boolean

data_present;

SE_Boolean

relative_to_hook_point;

} SE_Property_Grid_Fields;

SE_Property_Set_Index_Control_Link_Fields

Abstract data type: Property_Set_Index_Control_Link_Fields

typedef struct {

SE_String

description;

SE_Integer_Unsigned

expression_index;

} SE_Property_Set_Index_Control_Link_Fields;

SE_Property_Set_Index_Fields

Abstract data type: Property_Set_Index_Fields

typedef struct {

SE_Integer_Positive

index;

} SE_Property_Set_Index_Fields;

SE_Property_Set_Table_Fields

Abstract data type: Property_Set_Table_Fields

typedef struct {

SE_String

table_usage;

SE_Boolean

regular;

} SE_Property_Set_Table_Fields;

SE_Property_Set_Table_Group_Fields

Abstract data type: Property_Set_Table_Group_Fields

typedef struct {

SE_Integer_Positive

primary_table_index;

SE_Integer_Positive

table_size;

} SE_Property_Set_Table_Group_Fields;

SE_Property_Table_Reference_Control_Link_Fields

Abstract data type: Property_Table_Reference_Control_Link_Fields

typedef struct {

SE_String

description;

SE_Integer_Unsigned

expression_index;

} SE_Property_Table_Reference_Control_Link_Fields;

SE_Property_Table_Reference_Fields

Abstract data type: Property_Table_Reference_Fields

typedef struct {

EDCS_Attribute_Code

axis_type;

SE_Integer_Unsigned

index_on_axis;

} SE_Property_Table_Reference_Fields;

SE_Property_Value_Fields

Abstract data type: Property_Value_Fields

typedef struct {

SE_Property_Code

meaning;

SE_Boolean

apply_property_inheritance;

EDCS_Attribute_Value

value;

} SE_Property_Value_Fields;

SE_Proximity_Data_Fields

Abstract data type: Proximity_Data_Fields

typedef struct {

SE_Spatial_Association_Meaning_Type

meaning;

SE_Long_Float

distance;

} SE_Proximity_Data_Fields;

SE_PS_Augmented_3D_Location_Fields

Abstract data type: PS_Augmented_3D_Location_Fields

typedef struct {

SRM_Map_Projection_3D_Coordinate

coordinate;

} SE_PS_Augmented_3D_Location_Fields;

SE_PS_Surface_Location_Fields

Abstract data type: PS_Surface_Location_Fields

typedef struct {

SRM_Map_Projection_Surface_Coordinate

coordinate;

} SE_PS_Surface_Location_Fields;

SE_Pseudo_Code_Function_Fields

Abstract data type: Pseudo_Code_Function_Fields

typedef struct {

EDCS_Attribute_Value_Type

value_type;

SE_String

name;

SE_String

pseudo_code;

} SE_Pseudo_Code_Function_Fields;

SE_Pyramid_Directional_Light_Fields

Abstract data type: Pyramid_Directional_Light_Fields

typedef struct {

SE_Boolean

use_full_intensity;

SE_Long_Float

minimum_colour_intensity;

SE_Boolean

invisible_behind;

} SE_Pyramid_Directional_Light_Fields;

SE_Quadrant_Data_Fields

Abstract data type: Quadrant_Data_Fields

typedef struct {

SE_Quadrant

quadrant;

} SE_Quadrant_Data_Fields;

SE_Quadrant_Related_Features_Fields

Abstract data type: Quadrant_Related_Features_Fields

typedef struct {

SE_Boolean

unique_descendants;

SE_Boolean

strict_organizing_principle

} SE_Quadrant_Related_Features_Fields;

SE_Quadrant_Related_Geometry_Fields

Abstract data type: Quadrant_Related_Geometry_Fields

typedef struct {

SE_Boolean

unique_descendants;

SE_Boolean

strict_organizing_principle

} SE_Quadrant_Related_Geometry_Fields;

SE_Quadrant_Select_Parameters

Abstract data type: Quadrant_Select_Parameters

typedef struct {

SE_Integer_Unsigned

quadrant_data_count;

SE_Quadrant_Data_Fields

*quadrant_data_array;

} SE_Quadrant_Select_Parameters;

SE_Reference_Origin_Fields

Abstract data type: Reference_Origin_Fields

typedef struct {

SE_SRF_Context_Info

srf_context_info;

} SE_Reference_Origin_Fields;

SE_Reference_Surface_Fields

Abstract data type: Reference_Surface_Fields

typedef struct {

EDCS_Classification_Code

classification;

SE_Reference_Surface_Elevation_Select

multiplicity_rule;

SE_Reference_Surface_LOD_Select

lod_rule;

} SE_Reference_Surface_Fields;

SE_Reference_Vector_Control_Link_Fields

Abstract data type: Reference_Vector_Control_Link_Fields

typedef struct {

SE_String

description;

SE_Integer_Unsigned

v0_expression_index;

SE_Integer_Unsigned

v1_expression_index;

SE_Integer_Unsigned

v2_expression_index;

} SE_Reference_Vector_Control_Link_Fields;

SE_Reference_Vector_Fields

Abstract data type: Reference_Vector_Fields

typedef struct {

SE_Reference_Vector_Type

vector_type;

} SE_Reference_Vector_Fields;

SE_Regular_Axis_Fields

Abstract data type: Regular_Axis_Fields

typedef struct {

EDCS_Attribute_Code

axis_type;

SE_Short_Integer_Positive

axis_value_count;

EDCS_Unit_Code

value_unit;

EDCS_Unit_Scale_Code

value_scale;

SE_Interpolation_Type

interpolation_type;

SE_Single_Value

first_value;

SE_Single_Value

spacing;

SE_Spacing_Type

spacing_type;

SE_Axis_Alignment

axis_alignment;

} SE_Regular_Axis_Fields;

SE_Relative_Time_Fields

Abstract data type: Relative_Time_Fields

typedef struct {

SE_Time_Significance

time_significance;

SE_Integer

delta_days;

SE_Byte_Unsigned

delta_hours;

SE_Byte_Unsigned

delta_minutes;

SE_Long_Float

delta_seconds;

} SE_Relative_Time_Fields;

SE_Relative_Time_Interval_Fields

Abstract data type: Relative_Time_Interval_Fields

typedef struct {

SE_Time_Significance

time_significance;

SE_Integer

delta_start_days;

SE_Integer

delta_stop_days;

SE_Byte_Unsigned

delta_start_hours;

SE_Byte_Unsigned

delta_stop_hours;

SE_Byte_Unsigned

delta_start_minutes;

SE_Byte_Unsigned

delta_stop_minutes;

SE_Long_Float

delta_start_seconds;

SE_Long_Float

delta_stop_seconds;

} SE_Relative_Time_Interval_Fields;

SE_Relative_To_Absolute_Time_Interval_Entry

Abstract data type: Relative_To_Absolute_Time_Interval_Entry

typedef struct {

SE_Absolute_Time_Fields

reference_time;

SE_Relative_Time_Interval_Fields

relative_interval;

} SE_Relative_To_Absolute_Time_Interval_Entry;

SE_Relative_To_Absolute_Time_Entry

Abstract data type: Relative_To_Absolute_Time_Entry

typedef struct {

SE_Absolute_Time_Fields

reference_time;

SE_Absolute_Time_Fields

relative_time;

} SE_Relative_To_Absolute_Time_Entry;

SE_Remaining_Objects_List

Abstract data type: Remaining_Objects_List

typedef struct {

SE_Integer_Unsigned

object_count; /* applies to next four fields */

SE_Object

*remaining_objects_list;

SE_Object

*remaining_link_objects_list;

SE_Status_Code

*object_status_list;

SE_Status_Code

*link_object_status_list;

} SE_Remaining_Objects_List;

SE_Remaining_Packed_Hierarchies_List

Abstract data type: Remaining_Packed_Hierarchies_List

typedef struct {

SE_Integer_Unsigned

hierarchy_count;

SE_Packed_Hierarchy

*hierarchy_list;

} SE_Remaining_Packed_Hierarchies_List;

SE_Rendering_Priority_Level_Fields

Abstract data type: Rendering_Priority_Level_Fields

typedef struct {

SE_Short_Integer_Positive

rendering_group;

SE_Short_Integer

rendering_priority;

} SE_Rendering_Priority_Level_Fields;

SE_Rendering_Properties_Fields

Abstract data type: Rendering_Properties_Fields

typedef struct {

SE_Pixel_Fill_Method

fill_method;

SE_Shading_Method

shading_method;

SE_Colour_Binding

colour_binding;

SE_Display_Style

style;

SE_Display_Side

side;

} SE_Rendering_Properties_Fields;

SE_Responsible_Party_Fields

Abstract data type: Responsible_Party_Fields

typedef struct {

SE_String

individual_name;

SE_String

organization_name;

SE_String

position_name;

SE_Contact_Information

contact_information;

} SE_Responsible_Party_Fields;

SE_RGB_Colour_Control_Link_Fields

Abstract data type: RGB_Colour_Control_Link_Fields

typedef struct {

SE_String

description;

SE_Integer_Unsigned

red_expression_index;

SE_Integer_Unsigned

green_expression_index;

SE_Integer_Unsigned

blue_expression_index;

} SE_RGB_Colour_Control_Link_Fields;

SE_RGB_Colour_Fields

Abstract data type: RGB_Colour_Fields

typedef struct {

SE_RGB_Data

rgb_data;

} SE_RGB_Colour_Fields;

SE_RGB_Data

Abstract data type: RGB_Data

typedef struct {

SE_Long_Float

red;

SE_Long_Float

green;

SE_Long_Float

blue;

} SE_RGB_Data

SE_Role_Data_Fields

Abstract data type: RGB_Data

typedef struct {

SE_CI_RoleCode

role;

} SE_Role_Data_Fields;

SE_Rotating_Light_Behaviour_Fields

Abstract data type: Rotating_Light_Behaviour_Fields

typedef struct {

SE_Long_Float

period;

} SE_Rotating_Light_Behaviour_Fields;

SE_Rotation_Control_Link_Fields

Abstract data type: Rotation_Control_Link_Fields

typedef struct {

SE_String

description;

SE_Integer_Positive

expression_index;

SE_Integer_Unsigned

lower_expression_index;

SE_Integer_Unsigned

upper_expression_index;

} SE_Rotation_Control_Link_Fields;

SE_Rotation_Data

Abstract data type: Rotation_Data

typedef struct {

SE_Long_Float

counterclockwise_limit;

SE_Long_Float

clockwise_limit;

} SE_Rotation_Data;

SE_Rotation_Fields

Abstract data type: Rotation_Fields

typedef struct {

SE_LSR_Transformation_Axis

axis;

SE_Long_Float

angle;

} SE_Rotation_Fields;

SE_Scale_Control_Link_Fields

Abstract data type: Scale_Control_Link_Fields

typedef struct {

SE_String

description;

SE_Integer_Positive

expression_index;

SE_Integer_Unsigned

lower_expression_index;

SE_Integer_Unsigned

upper_expression_index;

} SE_Scale_Control_Link_Fields;

SE_Scale_Fields

Abstract data type: Scale_Fields

typedef struct {

SE_LSR_Transformation_Axis

axis;

SE_Long_Float

scale_factor;

} SE_Scale_Fields;

SE_Search_Bounds

Abstract data type: Search_Bounds

typedef struct {

SRM_Coordinate

minimum_point;

SRM_Coordinate

maximum_point;

} SE_Search_Bounds;

SE_Search_Rule

Abstract data type: Search_Rule

typedef struct {

SE_Search_Rule_Type             rule_type;

union _SE_Search_Rule_Union {

SE_Unused_Fields

unused;

SE_Search_Rule_Predicate

predicate;

SE_DRM_Class

drm_class;

SE_Search_Rule_Field

field;

SE_Search_Rule_Field_Range

field_range;

SE_Search_Rule_Field_Array

field_array;

SE_Search_Rule_Component

component;

SE_Search_Rule_Component_Field

component_field;

SE_Search_Rule_Component_Field_Range

component_field_range;

SE_Search_Rule_Component_Field_Array

component_field_array;

SE_DRM_Class

associate;

SE_Short_Integer_Unsigned

max_search_depth;

} values;

} SE_Search_Rule;

SE_Search_Rule_Component

Abstract data type: Search_Rule_Component

typedef struct {

SE_DRM_Class

drm_class;

SE_DRM_Class

component_drm_class;

} SE_Search_Rule_Component;

SE_Search_Rule_Component_Field

Abstract data type: Search_Rule_Component_Field

typedef struct {

SE_DRM_Class

drm_class;

SE_DRM_Class

component_drm_class;

SE_Short_Integer_Unsigned

field_ordinal;

SE_Any_Search_Value

value;

} SE_Search_Rule_Component_Field;

SE_Search_Rule_Component_Field_Array

Abstract data type: Search_Rule_Component_Field_Array

typedef struct {

SE_DRM_Class

drm_class;

SE_DRM_Class

component_drm_class;

SE_Short_Integer_Unsigned

field_ordinal;

SE_Short_Integer_Positive

array_size;

SE_Any_Search_Value

*value_array;

} SE_Search_Rule_Component_Field_Array;

SE_Search_Rule_Component_Field_Range

Abstract data type: Search_Rule_Component_Field_Range

typedef struct {

SE_DRM_Class

drm_class;

SE_DRM_Class

component_drm_class;

SE_Short_Integer_Unsigned

field_ordinal;

SE_Any_Search_Value

value;

SE_Any_Search_Value

second_value;

} SE_Search_Rule_Component_Field_Range;

SE_Search_Rule_Field

Abstract data type: Search_Rule_Field

typedef struct {

SE_DRM_Class

drm_class;

SE_Any_Search_Value

value;

SE_Short_Integer_Unsigned

field_ordinal;

} SE_Search_Rule_Field;

SE_Search_Rule_Field_Array

Abstract data type: Search_Rule_Field_Array

typedef struct {

SE_DRM_Class

drm_class;

SE_Short_Integer_Positive

array_size;

SE_Any_Search_Value

*value_array;

SE_Short_Integer_Unsigned

field_ordinal;

} SE_Search_Rule_Field_Array;

SE_Search_Rule_Field_Range

Abstract data type: Search_Rule_Field_Range

typedef struct {

SE_DRM_Class

drm_class;

SE_Any_Search_Value

value;

SE_Any_Search_Value

second_value;

SE_Short_Integer_Unsigned

field_ordinal;

} SE_Search_Rule_Field_Range;

SE_Search_Rule_Predicate

Abstract data type: Search_Rule_Predicate

typedef struct {

SE_Test_Data

test_data;

SE_Predicate

*user_function;

} SE_Search_Rule_Predicate;

SE_Season_Fields

Abstract data type: Season_Fields

typedef struct {

SE_Time_Significance

time_significance;

SE_Season

season;

} SE_Season_Fields;

SE_SEC_3D_Location_Fields

Abstract data type: SEC_3D_Location_Fields

typedef struct {

SRM_Spherical_3D_Coordinate

coordinate;

} SE_SEC_3D_Location_Fields;

SE_Security_Constraints_Fields

Abstract data type: Security_Constraints_Fields

typedef struct {

SE_Short_Integer_Unsigned

use_limitation_count;

SE_String

*use_limitation;

SE_MD_ClassificationCode

classification;

SE_String

user_note;

SE_String

classification_system;

SE_String

handling_description;

} SE_Security_Constraints_Fields;

SE_Separating_Plane_Data_Fields

Abstract data type: Separating_Plane_Data_Fields

typedef struct {

SE_Boolean

positive;

} SE_Separating_Plane_Data_Fields;

SE_Separating_Plane_Related_Geometry_Fields

Abstract data type: Separating_Plane_Related_Geometry_Fields

typedef struct {

SE_Boolean

unique_descendants;

SE_Boolean

strict_organizing_principle;

} SE_Separating_Plane_Related_Geometry_Fields;

SE_Separating_Plane_Select_Parameters

Abstract data type: Separating_Plane_Select_Parameters

typedef struct {

SE_Boolean

traverse_positive_branches;

SE_Boolean

traverse_negative_branches;

} SE_Separating_Plane_Select_Parameters;

SE_SEQ_3D_Location_Fields

Abstract data type: SEQ_3D_Location_Fields

typedef struct {

SRM_Spherical_3D_Coordinate

coordinate;

} SE_SEQ_3D_Location_Fields;

SE_Single_Value

Abstract data type: Search_Rule

typedef struct {

SE_Single_Value_Type             value_type;

union _SE_Single_Value_Union {

EDCS_Long_Float

long_float_value;

EDCS_Integer

integer_value;

EDCS_Count

count_value;

EDCS_Count

index_value;

EDCS_String

string_value;

EDCS_String

constrained_string_value;

EDCS_String

key_value;

EDCS_Integer

enumeration_value;

EDCS_Boolean

boolean_value;

} values;

} SE_Single_Value;

SE_SMD_3D_Location_Fields

Abstract data type: SMD_Location_3D_Fields

typedef struct {

SRM_Spherical_3D_Coordinate

coordinate;

} SE_SMD_3D_Location_Fields;

SE_SME_3D_Location_Fields

Abstract data type: SME_Location_3D_Fields

typedef struct {

SRM_Spherical_3D_Coordinate

coordinate;

} SE_SME_3D_Location_Fields;

SE_Sound_Fields

Abstract data type: Sound_Fields

typedef struct {

SE_String

name;

SE_Sound_Format

sound_format;

SE_URN

sound_urn;

SE_Float

duration;

SE_Float

sampling_rate;

SE_Byte_Positive

bits_per_sample;

SE_Byte_Positive

channel_count;

SE_String

method;

} SE_Sound_Fields;

SE_Sound_Instance_Control_Link_Fields

Abstract data type: Sound_Instance_Control_Link_Fields

typedef struct {

SE_String

description;

SE_Integer_Positive

active_sound_value_expression_index;

} SE_Sound_Instance_Control_Link_Fields;

SE_Sound_Instance_Fields

Abstract data type: Sound_Instance_Fields

typedef struct {

SE_Boolean

active_sound_value;

} SE_Sound_Instance_Fields;

SE_Source_Fields

Abstract data type: Source_Fields

typedef struct {

SE_String

description;

SE_Integer_Positive

scale;

SE_String

contribution;

} SE_Source_Fields;

SE_Spatial_Association_Data_Fields

Abstract data type: Spatial_Association_Data_Fields

typedef struct {

SE_Spatial_Association_Meaning_Type

meaning;

} SE_Spatial_Association_Data_Fields;

SE_Spatial_Index_Data_Fields

Abstract data type: Spatial_Index_Data_Fields

typedef struct {

SE_Integer_Positive

row_index;

SE_Integer_Positive

column_index;

} SE_Spatial_Index_Data_Fields;

SE_Spatial_Index_Parameters

Abstract data type: Spatial_Index_Parameters

typedef struct {

SE_Integer_Unsigned

spatial_index_data_count;

SE_Spatial_Index_Data_Fields

*spatial_index_data_array;

} SE_Spatial_Index_Parameters;

SE_Spatial_Index_Related_Feature_Topology_Fields

Abstract data type: Spatial_Index_Related_Feature_Topology_Fields

typedef struct {

SE_Feature_Topology_Level

feature_topology_level;

SE_Boolean

sparse;

SE_Integer_Positive

column_count;

SE_Integer_Positive

row_count;

SE_Long_Float

column_width;

SE_Long_Float

row_width;

SE_Spatial_Index_Spacing_Unit

spacing_unit;

} SE_Spatial_Index_Related_Feature_Topology_Fields;

SE_Spatial_Index_Related_Features_Fields

Abstract data type: Spatial_Index_Related_Features_Fields

typedef struct {

SE_Boolean

unique_descendants;

SE_Boolean

strict_organizing_principle;

SE_Boolean

sparse;

SE_Integer_Positive

column_count;

SE_Integer_Positive

row_count;

SE_Long_Float

column_width;

SE_Long_Float

row_width;

SE_Spatial_Index_Spacing_Unit

spacing_unit;

} SE_Spatial_Index_Related_Features_Fields;

SE_Spatial_Index_Related_Geometry_Fields

Abstract data type: Spatial_Index_Related_Geometry_Fields

typedef struct {

SE_Boolean

unique_descendants;

SE_Boolean

strict_organizing_principle;

SE_Boolean

sparse;

SE_Integer_Unsigned

column_count;

SE_Integer_Unsigned

row_count;

SE_Long_Float

column_width;

SE_Long_Float

row_width;

SE_Spatial_Index_Spacing_Unit

spacing_unit;

} SE_Spatial_Index_Related_Geometry_Fields;

SE_Spatial_Index_Related_Geometry_Topology_Fields

Abstract data type: Spatial_Index_Related_Geometry_Topology_Fields

typedef struct {

SE_Geometry_Topology_Level

geometry_topology_level;

SE_Boolean

sparse;

SE_Integer_Positive

column_count;

SE_Integer_Positive

row_count;

SE_Long_Float

column_width;

SE_Long_Float

row_width;

SE_Spatial_Index_Spacing_Unit

spacing_unit;

} SE_Spatial_Index_Related_Geometry_Topology_Fields;

SE_Spatial_Resolution_LOD_Data_Fields

Abstract data type: Spatial_Resolution_LOD_Data_Fields

typedef struct {

SE_Long_Float

spatial_resolution;

SE_Spatial_Index_Spacing_Unit

unit;

} SE_Spatial_Resolution_LOD_Data_Fields;

SE_Spherical_Volume_Extent_Fields

Abstract data type: Spherical_Volume_Extent_Fields

typedef struct {

SE_Long_Float

radius;

} SE_Spherical_Volume_Extent_Fields;

SE_Spot_Light_Fields

Abstract data type: Spot_Light_Fields

typedef struct {

SE_Boolean

apply_to_children;

SE_Boolean

override_positional_lights;

SE_Boolean

override_infinite_lights;

SE_Boolean

active_light_value;

SE_Float

radius;

SE_Long_Float

constant_attenuation_factor;

SE_Long_Float

linear_attenuation_factor;

SE_Long_Float

quadratic_attenuation_factor;

SE_Long_Float

horizontal_drop_off_rate;

SE_Long_Float

vertical_drop_off_rate;

} SE_Spot_Light_Fields;

SE_SRF_Context_Info

Abstract data type: SRF_Context_Info

typedef struct {

EDCS_Unit_Code

angular_unit;

EDCS_Unit_Code

linear_unit;

EDCS_Unit_Scale_Code

linear_scale;

SE_Boolean

use_dss_code;

SRM_DSS_Code

dss_code;

SRM_SRF_Parameters_Info

srf_parameters_info;

} SE_SRF_Context_Info;

SE_SRF_Summary_Fields

Abstract data type: SRF_Summary_Fields

typedef struct {

SE_SRF_Context_Info

srf_context_info;

} SE_SRF_Summary_Fields;

SE_Stamp_Behaviour_Fields

Abstract data type: Stamp_Behaviour_Fields

typedef struct {

SE_Rotation_Data

u_axis_limit;

SE_Rotation_Data

v_axis_limit;

SE_Rotation_Data

w_axis_limit;

} SE_Stamp_Behaviour_Fields;

SE_State_Control_Link_Fields

Abstract data type: State_Control_Link_Fields

typedef struct {

SE_String

description;

SE_Integer_Positive

expression_index;

SE_State_Mismatch_Behaviour

mismatch_behaviour;

} SE_State_Control_Link_Fields;

SE_State_Data_Fields

Abstract data type: State_Data_Fields

typedef struct {

EDCS_Attribute_Value

state_value;

} SE_State_Data_Fields;

SE_State_Entry

Abstract data type: State_Entry

typedef struct {

EDCS_Attribute_Code

state_tag;

SE_State_Data_Fields

state_data;

} SE_State_Entry;

SE_State_Related_Features_Fields

Abstract data type: State_Related_Features_Fields

typedef struct {

SE_Boolean

unique_descendants;

SE_Boolean

strict_organizing_principle;

EDCS_Attribute_Code

state_tag;

EDCS_Attribute_Value

active_state_value;

} SE_State_Related_Features_Fields;

SE_State_Related_Geometry_Fields

Abstract data type: State_Related_Geometry_Fields

typedef struct {

SE_Boolean

unique_descendants;

SE_Boolean

strict_organizing_principle;

EDCS_Attribute_Code

state_tag;

EDCS_Attribute_Value

active_state_value;

} SE_State_Related_Geometry_Fields;

SE_State_Select_Parameters

Abstract data type: State_Select_Parameters

typedef struct {

SE_Unmatched_State_Behaviour

default_choice;

SE_Branch_Range_Matching

matching_rules;

SE_Integer_Unsigned

state_entry_count;

SE_State_Entry

*state_entry;

} SE_State_Select_Parameters;

SE_String

Abstract data type: String

typedef struct {

SE_Locale

locale;

SE_Integer_Unsigned

length;

SE_Character

*characters;

} SE_String;

SE_Strobing_Light_Behaviour_Fields

Abstract data type: Strobing_Light_Behaviour_Fields

typedef struct {

SE_Long_Float

period;

SE_Long_Float

delay;

} SE_Strobing_Light_Behaviour_Fields;

SE_Symbol_Fields

Abstract data type: Symbol_Fields

typedef struct {

SE_String

name;

SE_Symbol_Format

symbol_format;

SE_URN

symbol_urn;

} SE_Symbol_Fields;

SE_Table_Property_Description_Fields

Abstract data type: Table_Property_Description_Fields

typedef struct {

SE_Element_Type

meaning;

EDCS_Unit_Code

value_unit;

EDCS_Unit_Scale_Code

value_scale;

SE_Data_Table_Data_Value_Type

value_type;

EDCS_Classification_Code

component_data_table_ecc;

} SE_Table_Property_Description_Fields;

 

SE_Telephone_Information

Abstract data type: Telephone_Information

typedef struct {

SE_Short_Integer_Unsigned

voice_count;

SE_String

*voice;

SE_Short_Integer_Unsigned

facsimile_count;

SE_String

*facsimile;

SE_Short_Integer_Unsigned

tdd_tty_count;

SE_String

*tdd_tty;

} SE_Telephone_Information;

SE_Text_Fields

Abstract data type: Text_Fields

typedef struct {

SE_String

text_string;

SE_Text_Font

font;

} SE_Text_Fields;

SE_Text_Font

Abstract data type: Text_Font

typedef struct {

SE_String

font_family;

SE_Font_Style

font_style;

SE_Float

font_size;

SE_Underline_Style

underline_style;

} SE_Text_Font;

SE_Texture_Coordinate_Control_Link_Fields

Abstract data type: Texture_Coordinate_Control_Link_Fields

typedef struct {

SE_String

description;

SE_Integer_Unsigned

s_expression_index;

SE_Integer_Unsigned

t_expression_index;

} SE_Texture_Coordinate_Control_Link_Fields;

SE_Texture_Coordinate_Fields

Abstract data type: Texture_Coordinate_Fields

typedef struct {

SE_Long_Float

s;

SE_Long_Float

t;

} SE_Texture_Coordinate_Fields;

SE_Time_Day_Of_Year_Value

Abstract data type: Time_Day_Of_Year_Value

typedef struct {

SE_Short_Integer_Unsigned

day_of_year;

} SE_Time_Day_Of_Year_Value;

SE_Time_Entry

Abstract data type: Time_Entry

typedef struct {

SE_Time_Data_Type   time_entry_type;

union _SE_Time_Entry_Union {

SE_Season_Fields

season;

SE_Time_Interval_Entry

time_interval;

SE_Time_Of_Day_Fields

time_of_day;

SE_Time_Point_Entry

time_point;

} time_data;

} SE_Time_Entry;

SE_Time_Interval_Entry

Abstract data type: Time_Interval_Entry

typedef struct {

SE_Time_Measurement_Type   time_type;

union _SE_Time_Interval_Entry_Union {

SE_Absolute_Time_Interval_Entry

absolute_time;

SE_Relative_Time_Interval_Fields

relative_to_simulation;

SE_Relative_To_Absolute_Time_Interval_Entry

relative_to_absolute;

} time_interval_data;

} SE_Time_Interval_Entry;

SE_Time_Interval_Fields

Abstract data type: Time_Interval_Fields

typedef struct {

SE_Time_Significance

time_significance;

} SE_Time_Interval_Fields;

SE_Time_M_Value

Abstract data type: Time_M_Value

typedef struct {

SE_Month

month;

} SE_Time_M_Value;

SE_Time_MD_H_Value

Abstract data type: Time_MD_H_Value

typedef struct {

SE_Month

month;

SE_Short_Integer_Positive

day;

SE_Byte_Unsigned

hour;

} SE_Time_MD_H_Value;

SE_Time_MD_HM_Value

Abstract data type: Time_MD_HM_Value

typedef struct {

SE_Month

month;

SE_Short_Integer_Positive

day;

SE_Byte_Unsigned

hour;

SE_Byte_Unsigned

minutes;

} SE_Time_MD_HM_Value;

SE_Time_MD_HMS_Value

Abstract data type: Time_MD_HMS_Value

typedef struct {

SE_Month

month;

SE_Short_Integer_Positive

day;

SE_Byte_Unsigned

hour;

SE_Byte_Unsigned

minutes;

SE_Long_Float

seconds;

} SE_Time_MD_HMS_Value;

SE_Time_Of_Day_Fields

Abstract data type: Time_Of_Day_Fields

typedef struct {

SE_Time_Significance

time_significance;

SE_Time_Of_Day

time_of_day;

} SE_Time_Of_Day_Fields;

SE_Time_Point_Entry

Abstract data type: Time_Point_Entry

typedef struct {

SE_Time_Measurement_Type   time_type;

union _SE_Time_Point_Entry_Union {

SE_Absolute_Time_Fields

absolute_time;

SE_Relative_Time_Fields

relative_to_start;

SE_Relative_To_Absolute_Time_Entry

relative_to_reference;

} time_point_data;

} SE_Time_Point_Entry;

SE_Time_Point_Fields

Abstract data type: Time_Point_Fields

typedef struct {

SE_Time_Significance

time_significance;

} SE_Time_Point_Fields;

SE_Time_Related_Features_Fields

Abstract data type: Time_Related_Features_Fields

typedef struct {

SE_Boolean

unique_descendants;

SE_Boolean

strict_organizing_principle;

SE_Time_Data_Type

time_data_type;

} SE_Time_Related_Features_Fields;

SE_Time_Related_Geometry_Fields

Abstract data type: Time_Related_Geometry_Fields

typedef struct {

SE_Boolean

unique_descendants;

SE_Boolean

strict_organizing_principle;

SE_Time_Data_Type

time_data_type;

} SE_Time_Related_Geometry_Fields;

SE_Time_Select_Parameters

Abstract data type: Time_Select_Parameters

typedef struct {

SE_Branch_Range_Matching

matching_rules;

SE_Integer_Unsigned

time_entry_count;

SE_Time_Entry

*time_entry_array;

} SE_Time_Select_Parameters;

SE_Time_Value

Abstract data type: Time_Value

typedef struct {

SE_Time_Configuration   time_configuration;

union _SE_Time_Value_Union {

SE_Time_YMD_HMS_Value

ymd_hms;

SE_Time_YMD_HM_Value

ymd_hm;

SE_Time_YMD_H_Value

ymd_h;

SE_Time_YMD_Value

ymd;

SE_Time_YD_HMS_Value

yd_hms;

SE_Time_YD_HM_Value

yd_hm;

SE_Time_YD_H_Value

yd_h;

SE_Time_YD_Value

yd;

SE_Time_MD_HMS_Value

md_hms;

SE_Time_MD_HM_Value

md_hm;

SE_Time_MD_H_Value

md_h;

SE_Time_Y_Value

y;

SE_Time_M_Value

m;

SE_Time_Day_Of_Year_Value

day_of_year;

} time_point_data;

} SE_Time_Value;

SE_Time_Y_Value

Abstract data type: Time_Y_Value

typedef struct {

SE_Integer

year;

} SE_Time_Y_Value;

SE_Time_YD_Value

Abstract data type: Time_YD_Value

typedef struct {

SE_Integer

year;

SE_Short_Integer_Unsigned

day_of_year;

} SE_Time_YD_Value;

SE_Time_YD_H_Value

Abstract data type: Time_YD_H_Value

typedef struct {

SE_Integer

year;

SE_Short_Integer_Unsigned

day_of_year;

SE_Byte_Unsigned

hour;

} SE_Time_YD_H_Value;

SE_Time_YD_HM_Value

Abstract data type: Time_YD_HM_Value

typedef struct {

SE_Integer

year;

SE_Short_Integer_Unsigned

day_of_year;

SE_Byte_Unsigned

hour;

SE_Byte_Unsigned

minutes;

} SE_Time_YD_HM_Value;

SE_Time_YD_HMS_Value

Abstract data type: Time_YD_HMS_Value

typedef struct {

SE_Integer

year;

SE_Short_Integer_Unsigned

day_of_year;

SE_Byte_Unsigned

hour;

SE_Byte_Unsigned

minutes;

SE_Long_Float

seconds;

} SE_Time_YD_HMS_Value;

SE_Time_YMD_Value

Abstract data type: Time_YMD_Value

typedef struct {

SE_Integer

year;

SE_Month

month;

SE_Short_Integer_Positive

day;

} SE_Time_YMD_Value;

SE_Time_YMD_H_Value

Abstract data type: Time_YMD_H_Value

typedef struct {

SE_Integer

year;

SE_Month

month;

SE_Short_Integer_Positive

day;

SE_Byte_Unsigned

hour;

} SE_Time_YMD_H_Value;

SE_Time_YMD_HM_Value

Abstract data type: Time_YMD_HM_Value

typedef struct {

SE_Integer

year;

SE_Month

month;

SE_Short_Integer_Positive

day;

SE_Byte_Unsigned

hour;

SE_Byte_Unsigned

minutes;

} SE_Time_YMD_HM_Value;

SE_Time_YMD_HMS_Value

Abstract data type: Time_YMD_HMS_Value

typedef struct {

SE_Integer

year;

SE_Month

month;

SE_Short_Integer_Positive

day;

SE_Byte_Unsigned

hour;

SE_Byte_Unsigned

minutes;

SE_Long_Float

seconds;

} SE_Time_YMD_HMS_Value;

SE_TM_Augmented_3D_Location_Fields

Abstract data type: TM_Augmented_3D_Location_Fields

typedef struct {

SRM_Map_Projection_3D_Coordinate

coordinate;

} SE_TM_Augmented_3D_Location_Fields;

SE_TM_Surface_Location_Fields

Abstract data type: TM_Surface_Location_Fields

typedef struct {

SRM_Map_Projection_Surface_Coordinate

coordinate;

} SE_TM_Surface_Location_Fields;

SE_Translation_Control_Link_Fields

Abstract data type: Translation_Control_Link_Fields

typedef struct {

SE_String

description;

SE_Integer_Positive

expression_index;

SE_Integer_Unsigned

lower_expression_index;

SE_Integer_Unsigned

upper_expression_index;

} SE_Translation_Control_Link_Fields;

SE_Translation_Fields

Abstract data type: Translation_Fields

typedef struct {

SE_LSR_Transformation_Axis

axis;

SE_Long_Float

translation_amount;

} SE_Translation_Fields;

SE_Translucency_Control_Link_Fields

Abstract data type: Translucency_Control_Link_Fields

typedef struct {

SE_String

description;

SE_Integer_Positive

expression_index;

} SE_Translucency_Control_Link_Fields;

SE_Translucency_Fields

Abstract data type: Translucency_Fields

typedef struct {

SE_Long_Float

translucency_value;

} SE_Translucency_Fields;

SE_Transmittal_Root_Fields

Abstract data type: Transmittal_Root_Fields

typedef struct {

SE_String

name;

SE_Short_Integer_Positive

major_DRM_version;

SE_Byte_Unsigned

minor_DRM_version;

SE_Character

interim_DRM_version;

SE_Short_Integer_Positive

major_EDCS_version;

SE_Byte_Unsigned

minor_EDCS_version;

SE_Character

interim_EDCS_version;

SE_Short_Integer_Positive

major_SRM_version;

SE_Byte_Unsigned

minor_SRM_version;

SE_Character

interim_SRM_version;

} SE_Transmittal_Root_Fields;

SE_Transmittal_Summary_Fields

Abstract data type: Transmittal_Summary_Fields

typedef struct {

SE_Present_In

features_present;

SE_Present_In

geometry_present;

SE_Present_In

geometry_topology_present;

SE_Present_In

data_tables_present;

SE_Present_In

priority_values_present;

SE_Present_In

mobility_values_present;

SE_Present_In

thermal_values_present;

SE_Present_In

terrain_lods_present;

SE_Present_In

two_D_features_present;

SE_Boolean

models_present;

SE_Boolean

images_present;

SE_Boolean

sounds_present;

SE_Boolean

symbols_present;

SE_Boolean

colours_present;

SE_Colour_Model

colour_model;

SE_Boolean

EDCS_usage_list_is_complete;

} SE_Transmittal_Summary_Fields;

SE_Union_Of_Feature_Topology_Fields

Abstract data type: Union_Of_Feature_Topology_Fields

typedef struct {

SE_Feature_Topology_Level

feature_topology_level;

} SE_Union_Of_Feature_Topology_Fields;

SE_Union_Of_Features_Fields

Abstract data type: Union_Of_Features_Fields

typedef struct {

SE_Boolean

unique_descendants;

SE_Boolean

strict_organizing_principle;

SE_Union_Reason

union_reason;

SE_Ordering_Reason

ordering_reason;

} SE_Union_Of_Features_Fields;

SE_Union_Of_Geometry_Fields

Abstract data type: Union_Of_Geometry_Fields

typedef struct {

SE_Boolean

unique_descendants;

SE_Boolean

strict_organizing_principle;

SE_Union_Reason

union_reason;

SE_Ordering_Reason

ordering_reason;

} SE_Union_Of_Geometry_Fields;

SE_Union_Of_Geometry_Hierarchy_Fields

Abstract data type: Union_Of_Geometry_Hierarchy_Fields

typedef struct {

SE_Boolean

unique_descendants;

SE_Boolean

strict_organizing_principle;

SE_Union_Reason

union_reason;

SE_Ordering_Reason

ordering_reason;

} SE_Union_Of_Geometry_Hierarchy_Fields;

SE_Union_Of_Geometry_Topology_Fields

Abstract data type: Union_Of_Geometry_Topology_Fields

typedef struct {

SE_Geometry_Topology_Level

geometry_topology_level;

} SE_Union_Of_Geometry_Topology_Fields;

SE_Union_Of_Primitive_Geometry_Fields

Abstract data type: Union_Of_Primitive_Geometry_Fields

typedef struct {

SE_Boolean

unique_descendants;

SE_Boolean

strict_organizing_principle;

SE_Union_Reason

union_reason;

SE_Ordering_Reason

ordering_reason;

} SE_Union_Of_Primitive_Geometry_Fields;

SE_Unused_Fields

Abstract data type: Unused_Fields

typedef struct {

SE_Octet

unused;

} SE_Unused_Fields;

SE_URL

Abstract data type: URL

typedef struct {

SE_Integer_Unsigned

length;

SE_Character

*characters;

} SE_URL;

SE_URN

Abstract data type: URN

typedef struct {

SE_Integer_Unsigned

length;

SE_Character

*characters;

} SE_URN;

SE_Variable_Fields

Abstract data type: Variable_Fields

typedef struct {

SE_String

name;

SE_Property_Code

meaning;

EDCS_Unit_Code

value_unit;

EDCS_Unit_Scale_Code

value_scale;

EDCS_Attribute_Value_Type

value_type;

SE_String

description;

} SE_Variable_Fields;

SE_Volume_Extent_Entry

Abstract data type: Volume_Extent_Entry

typedef struct {

SE_Volumetric_Shape        volume_type;

union _SE_Volume_Extent_Entry_Union {

SE_Cylindrical_Volume_Extent_Entry

cylinder;

SE_Parallelepiped_Volume_Extent_Entry

parallelepiped;

SE_Spherical_Volume_Extent_Fields

sphere;

} volume_extent_data;

} SE_Volume_Extent_Entry;

SE_Volume_Light_Behaviour_Fields

Abstract data type: Volume_Light_Behaviour_Fields

typedef struct {

SE_Boolean

use_full_intensity;

SE_Long_Float

minimum_colour_intensity;

} SE_Volume_Light_Behaviour_Fields;

SE_Volume_LOD_Data_Fields

Abstract data type: Volume_LOD_Data_Fields

typedef struct {

SE_Boolean

outside;

} SE_Volume_LOD_Data_Fields;

SE_Volume_LOD_Entry

Abstract data type: Volume_LOD_Entry

typedef struct {

SRM_Coordinate

coordinate;

SE_Volume_Extent_Entry

volume_extent;

SE_Volume_LOD_Data_Fields

volume_lod;

} SE_Volume_LOD_Entry;

SE_World_3x3_Fields

Abstract data type: World_3x3_Fields

typedef struct {

SE_Matrix_3x3

world_3x3;

} SE_World_3x3_Fields;

5.5 Private data types

Private data types are defined such that an implementation may efficiently implement the data type as dictated by the characteristics of its own requirements. Such data types have a standard name but an internal organization defined by the implementation. The following data types define the public names for these data types.

SE_Iterator

Abstract data type: Iterator

typedef void *SE_Iterator;

SE_Object

Abstract data type: Object

typedef void *SE_Object;

SE_Packed_Hierarchy_Object_Access

Abstract data type: Packed_Hierarchy_Object_Access

typedef void *SE_Packed_Hierarchy_Object_Access;

SE_Search_Boundary

Abstract data type: Search_Boundary

typedef void *SE_Search_Boundary;

SE_Search_Filter

Abstract data type: Search_Filter

typedef void *SE_Search_Filter;

SE_Store

Abstract data type: Store

typedef void *SE_Store;

SE_Test_Data

Abstract data type: Test_Data

typedef void *SE_Test_Data;

SE_Transmittal

Abstract data type: Transmittal

typedef void *SE_Transmittal;

SE_User_Data

Abstract data type: User_Data

typedef void *SE_User_Data;

5.6 Function data types

Function data types define signatures for call back functions. The following are the call back function signatures defined in this binding.

SE_Predicate

Abstract data type: Predicate

typedef SE_Boolean SE_Predicate (

SE_Object,

SE_Object,

SE_Test_Data

);

SE_Status_Logger

Abstract data type: Status_Logger

typedef void SE_Status_Logger (

SE_API_Function,

SE_Status_Code,

SE_String,

SE_String

);

5.7 Data types from ISO 19115

The data types specified in ISO 19115 do not have a standardized binding to the C language. Therefore, the following specifications bind those data types from ISO 19115 that are listed in Part 1 of ISO/IEC 18023. These data types are intended for used in conjunction with the other data types specified in this part of ISO/IEC 18024 and, where necessary, use those data types for use in specifying record data type fields. For this reason, all data types derived from those of  ISO 19115 that are bound also have the SE_ prefix.

SE_CI_OnLineFunctionCode

Abstract data type: CI_OnLineFunctionCode

typedef SE_Short_Integer SE_CI_OnLineFunctionCode;

#define SE_CIOLFCOD_DOWNLOAD

((CI_OnLineFunctionCode)(1))

#define SE_CIOLFCOD_INFORMATION

((CI_OnLineFunctionCode)(2))

#define SE_CIOLFCOD_OFFLINE_ACCESS

((CI_OnLineFunctionCode)(3))

#define SE_CIOLFCOD_ORDER

((CI_OnLineFunctionCode)(4))

#define SE_CIOLFCOD_SEARCH

((CI_OnLineFunctionCode)(5))

SE_CI_OnlineResource

Abstract data type: CI_OnlineResource

typedef struct {

SE_URL

linkage;

SE_String

protocol;

SE_String

application_profile;

SE_String

name;

SE_String

description;

SE_CI_OnLineFunctionCode

function;

} SE_CI_OnlineResource;

SE_CI_RoleCode

Abstract data type: CI_RoleCode

typedef SE_Short_Integer SE_CI_RoleCode;

#define SE_ROLECOD_RESOURCE_PROVIDER

((SE_CI_RoleCode)(1))

#define SE_ROLECOD_CUSTODIAN

((SE_CI_RoleCode)(2))

#define SE_ROLECOD_OWNER

((SE_CI_RoleCode)(3))

#define SE_ROLECOD_USER

((SE_CI_RoleCode)(4))

#define SE_ROLECOD_DISTRIBUTOR

((SE_CI_RoleCode)(5))

#define SE_ROLECOD_ORIGINATOR

((SE_CI_RoleCode)(6))

#define SE_ROLECOD_POINT_OF_CONTACT

((SE_CI_RoleCode)(7))

#define SE_ROLECOD_PRINCIPAL_INVESTIGATOR

((SE_CI_RoleCode)(8))

#define SE_ROLECOD_PROCESSOR

((SE_CI_RoleCode)(9))

#define SE_ROLECOD_PUBLISHER

((SE_CI_RoleCode)(10))

#define SE_ROLECOD_AUTHOR

((SE_CI_RoleCode)(11))

SE_MD_ClassificationCode

Abstract data type: MD_ClassificationCode

typedef SE_Short_Integer SE_MD_ClassificationCode;

#define SE_MD_CLSCOD_UNCLASSIFIED

((SE_MD_ClassificationCode)(1))

#define SE_MD_CLSCOD_RESTRICTED

((SE_MD_ClassificationCode)(2))

#define SE_MD_CLSCOD_CONFIDENTIAL

((SE_MD_ClassificationCode)(3))

#define SE_MD_CLSCOD_SECRET

((SE_MD_ClassificationCode)(4))

#define SE_MD_CLSCOD_TOP_SECRET

((SE_MD_ClassificationCode)(5))

SE_MD_KeywordTypeCode

Abstract data type: MD_KeywordTypeCode

typedef SE_Short_Integer   SE_MD_KeywordTypeCode;

#define SE_MD_KEYTYPCOD_DISCIPLINE

((SE_MD_KeywordTypeCode)(1))

#define SE_MD_KEYTYPCOD_PLACE

((SE_MD_KeywordTypeCode)(2))

#define SE_MD_KEYTYPCOD_STRATUM

((SE_MD_KeywordTypeCode)(3))

#define SE_MD_KEYTYPCOD_TEMPORAL

((SE_MD_KeywordTypeCode)(4))

#define SE_MD_KEYTYPCOD_THEME

((SE_MD_KeywordTypeCode)(5))

SE_MD_RestrictionCode

Abstract data type: MD_RestrictionCode

typedef SE_Short_Integer   SE_MD_RestrictionCode;

#define SE_MD_RESTRICTCOD_COPYRIGHT

((SE_MD_RestrictionCode)(1))

#define SE_MD_RESTRICTCOD_PATENT

((SE_MD_RestrictionCode)(2))

#define SE_MD_RESTRICTCOD_PATENT_PENDING

((SE_MD_RestrictionCode)(3))

#define SE_MD_RESTRICTCOD_TRADEMARK

((SE_MD_RestrictionCode)(4))

#define SE_MD_RESTRICTCOD_LICENSE

((SE_MD_RestrictionCode)(5))

#define SE_MD_RESTRICTCOD_INTELLECTUAL_PROPERTY_RIGHTS

((SE_MD_RestrictionCode)(6))

#define SE_MD_RESTRICTCOD_RESTRICTED

((SE_MD_RestrictionCode)(7))

#define SE_MD_RESTRICTCOD_OTHER_RESTRICTIONS

((SE_MD_RestrictionCode)(8))

} SE_MD_SecurityConstraints;

http://www.iso.ch/iso/en/ittf/PubliclyAvailableStandards/ISO_IEC_18024-4_Ed1.html