Part 4:  C

Annex A

(informative)

Data types in compilation order and external functions

A.1 Topics and introduction

A.1.1 Topics

Table A.1 contains the topics in this annex:

Table A.1 — Topics

Annex A  Data types in compilation order and external functions

A.1 Topics and introduction

A.1.1 Topics

A.1.2 Introduction

A.1.3 Header files

A.2 Type definitions in compilation order

A.3 External functions

A.1.2 Introduction

The following represents one possible ordering of the constructs in this part of ISO/IEC 18024 that will compile correctly. Other orderings are possible and may be used by conforming implementations.

For the purpose of showing a possible compilation ordering, all private types are specified as data type “void *” within structures. Implementations are allowed to choose any definition of the private types provided that non-structure types are enclosed within a structure.

A.1.3 Header files

The following two header files are necessary for successful compilation of the constructs in this binding:

#include "edcs.h"
#include "srm.h"

The include statements may be modified as necessary to point to the files.

A.2 Type definitions in compilation order

typedef unsigned char SE_Octet;
typedef char SE_Byte;
typedef unsigned char SE_Byte_Unsigned;
typedef unsigned char SE_Byte_Positive;
typedef short SE_Short_Integer;
typedef unsigned short SE_Short_Integer_Unsigned;
typedef unsigned short SE_Short_Integer_Positive;
typedef long SE_Integer;
typedef unsigned long SE_Integer_Unsigned;
typedef unsigned long SE_Integer_Positive;
typedef float SE_Float;
typedef double SE_Long_Float;
typedef wchar_t SE_Character;
typedef enum {
  SE_AM_READ_ONLY,
  SE_AM_UPDATE,
  SE_AM_CREATE
} SE_Access_Mode;
typedef enum {
  SE_FALSE,
  SE_TRUE
} SE_Boolean;
typedef enum {
  SE_BRRNGMAT_EXACT,
  SE_BRRNGMAT_FULL_CONTAINMENT,
  SE_BRRNGMAT_INTERSECTION
} SE_Branch_Range_Matching;
typedef enum {
  SE_COLRB_NORMAL,
  SE_COLRB_PARENT_OVERRIDE
} SE_Colour_Binding;
typedef enum {
  SE_CLOD_ALL,
  SE_CLOD_LEAST_DETAILED,
  SE_CLOD_MOST_DETAILED
} SE_Continuous_LOD_Select_Choice;
typedef enum {
  SE_HIERINC_EXCLUDE_ALL,
  SE_HIERINC_INCLUDE_ALL,
  SE_HIERINC_EVALUATE_RULES
} SE_Hierarchy_Inclusion;
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;
typedef enum {
  SE_IMAGSCANDIRZ_Z_NONE,
  SE_IMAGSCANDIRZ_Z_BACK,
  SE_IMAGSCANDIRZ_Z_FRONT
} SE_Image_Scan_Direction_Z;
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;
typedef enum {
  SE_ITRBEH_RESOLVE,
  SE_ITRBEH_REPORT,
  SE_ITRBEH_IGNORE
} SE_ITR_Behaviour;
typedef enum {
  SE_LSRAXIS_U,
  SE_LSRAXIS_V,
  SE_LSRAXIS_W,
  SE_LSRAXIS_ALL,
  SE_LSRAXIS_AXIS_REFERENCE_VECTOR
} SE_LSR_Transformation_Axis;
typedef enum {
  SE_MODREFTYP_COMPONENT,
  SE_MODREFTYP_ROOT,
  SE_MODREFTYP_ROOT_AND_COMPONENT
} SE_Model_Reference_Type;
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;
typedef enum {
  SE_OBJINCL_FULLY_INCLUDED,
  SE_OBJINCL_PARTIALLY_INCLUDED
} SE_Object_Inclusion;
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;
typedef enum {
  SE_PTLTDISPTYP_RASTER,
  SE_PTLTDISPTYP_CALLIGRAPHIC
} SE_Point_Light_Display_Type;
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;
typedef enum {
  SE_QUADRANT_LEFT_FRONT,
  SE_QUADRANT_LEFT_BACK,
  SE_QUADRANT_RIGHT_FRONT,
  SE_QUADRANT_RIGHT_BACK
} SE_Quadrant;
typedef enum {
  SE_RSELEVSEL_CLOSEST_TO_ORM_CENTRE,
  SE_RSELEVSEL_CLOSEST_TO_DSS,
  SE_RSELEVSEL_FARTHEST_FROM_ORM_CENTRE
} SE_Reference_Surface_Elevation_Select;
typedef enum {
  SE_RSLODSEL_MOST_DETAILED,
  SE_RSLODSEL_LEAST_DETAILED
} SE_Reference_Surface_LOD_Select;
typedef enum {
  SE_RETCOD_FAILURE,
  SE_RETCOD_SUCCESS
} SE_Return_Code;
typedef enum {
  SE_SEARCHBNDSCLS_FULLY_CLOSED,
  SE_SEARCHBNDSCLS_PARTIALLY_CLOSED
} SE_Search_Bounds_Closure;
typedef enum {
  SE_SEARCHDIM_TWO_DIMENSIONAL_OR_SURFACE,
  SE_SEARCHDIM_THREE_DIMENSIONAL,
  SE_SEARCHDIM_ALL_DIMENSIONS
} SE_Search_Dimension;
typedef enum {
  SE_SIBTRAV_ASCENDING,
  SE_SIBTRAV_DESCENDING,
  SE_SIBTRAV_UNSPECIFIED
} SE_Sibling_Traversal_Order;
typedef enum {
  SE_STMISMBEH_DEFAULT,
  SE_STMISMBEH_LAST,
  SE_STMISMBEH_NONE
} SE_State_Mismatch_Behaviour;
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))
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))
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))
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))
typedef SE_Short_Integer SE_Data_Table_Data_Value_Type;
#define SE_DTDATAVALTYP_SINGLE_FLOAT        ((SE_Data_Table_Data_Value_Type)(1))
#define SE_DTDATAVALTYP_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))
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))

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))
typedef SE_Short_Integer   SE_Encoding;
#define SE_ENCODING_STF  ((SE_Element_Type_Code)(1))
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))

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))
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))
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))
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))
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))
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))
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))
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))
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))
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))
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))
typedef SE_Short_Integer   SE_Image_Wrap;
#define SE_IMAGWRAP_CLAMP    ((SE_Image_Wrap)(1))
#define SE_IMAGWRAP_REPEAT   ((SE_Image_Wrap)(2))
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))
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)(12))
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))
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))
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))
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))
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))
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))
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))
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))
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))
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))
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_INTEGER           ((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))
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))
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))
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))
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))
typedef SE_Short_Integer   SE_Spacing_Type;
#define SE_SPACTYP_ARITHMETIC  ((SE_Spacing_Type)(1))
#define SE_SPACTYP_GEOMETRIC   ((SE_Spacing_Type)(2))
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))
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))
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))
typedef SE_Short_Integer   SE_Symbol_Format;
#define SE_SYMBFMT_CGM  ((SE_Symbol_Format)(1))
#define SE_SYMBFMT_SVG  ((SE_Symbol_Format)(2))
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))
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))
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))
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))
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))
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))
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))
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))
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))
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))
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))
typedef SE_Short_Integer   SE_CI_OnLineFunctionCode;
#define SE_CIOLFCOD_DOWNLOAD         ((SE_CI_OnLineFunctionCode)(1))
#define SE_CIOLFCOD_INFORMATION      ((SE_CI_OnLineFunctionCode)(2))
#define SE_CIOLFCOD_OFFLINE_ACCESS   ((SE_CI_OnLineFunctionCode)(3))
#define SE_CIOLFCOD_ORDER            ((SE_CI_OnLineFunctionCode)(4))
#define SE_CIOLFCOD_SEARCH           ((SE_CI_OnLineFunctionCode)(5))
typedef SE_Short_Integer   SE_CI_RoleCode;
#define SE_ROLCOD_RESOURCE_PROVIDER       ((SE_CI_RoleCode)(1))
#define SE_ROLCOD_CUSTODIAN               ((SE_CI_RoleCode)(2))
#define SE_ROLCOD_OWNER                   ((SE_CI_RoleCode)(3))
#define SE_ROLCOD_USER                    ((SE_CI_RoleCode)(4))
#define SE_ROLCOD_DISTRIBUTOR             ((SE_CI_RoleCode)(5))
#define SE_ROLCOD_ORIGINATOR              ((SE_CI_RoleCode)(6))
#define SE_ROLCOD_POINT_OF_CONTACT        ((SE_CI_RoleCode)(7))
#define SE_ROLCOD_PRINCIPAL_INVESTIGATOR  ((SE_CI_RoleCode)(8))
#define SE_ROLCOD_PROCESSOR               ((SE_CI_RoleCode)(9))
#define SE_ROLCOD_PUBLISHER               ((SE_CI_RoleCode)(10))
#define SE_ROLCOD_AUTHOR                  ((SE_CI_RoleCode)(11))
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))
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))
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))
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;
typedef union {
  SE_Integer_Unsigned  set;
  struct {
    SE_Integer_Unsigned Front : 1;
    SE_Integer_Unsigned Back  : 1;
  } member;
} SE_Display_Side;
typedef union {
  SE_Integer_Unsigned  set;
  struct {
    SE_Integer_Unsigned Solid     : 1;
    SE_Integer_Unsigned Wireframe : 1;
  } member;
} SE_Display_Style;
typedef union {
  SE_Integer_Unsigned  set;
  struct {
    SE_Integer_Unsigned AlternateHierarchy         : 1;
    SE_Integer_Unsigned ClassificationRelated      : 1;
    SE_Integer_Unsigned LevelOfDetailRelated       : 1;
    SE_Integer_Unsigned OctTreeRelated             : 1;
    SE_Integer_Unsigned QuadTreeRelated            : 1;
    SE_Integer_Unsigned SeparatingPlane            : 1;
    SE_Integer_Unsigned SpatialIndexRelatedGeneral : 1;
    SE_Integer_Unsigned StateRelated               : 1;
    SE_Integer_Unsigned TimeRelated                : 1;
  } member;
} SE_General_Hierarchy_Order;
typedef union {
  SE_Integer_Unsigned  set;
  struct {
    SE_Integer_Unsigned BackdropGround                : 1;
    SE_Integer_Unsigned BackdropSky                   : 1;
    SE_Integer_Unsigned ClutterEnhanced               : 1;
    SE_Integer_Unsigned Collidible                    : 1;
    SE_Integer_Unsigned Concave                       : 1;
    SE_Integer_Unsigned Cut                           : 1;
    SE_Integer_Unsigned CutImagery                    : 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;
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;
typedef void *SE_Iterator;
typedef void *SE_Object;
typedef void *SE_Packed_Hierarchy_Object_Access;
typedef void *SE_Search_Boundary;
typedef void *SE_Search_Filter;
typedef void *SE_Store;
typedef void *SE_Test_Data;
typedef void *SE_Transmittal;
typedef void *SE_User_Data;
typedef SE_Long_Float SE_Matrix_3x3[3][3];
typedef SE_Long_Float SE_Matrix_4x4[4][4];
typedef struct {
  SE_Short_Integer_Unsigned  beginning_frame;
  SE_Short_Integer_Unsigned  ending_frame;
} SE_Animation_Range;
typedef struct {
  SE_Character  language[2];
  SE_Character  country[3];
} SE_Locale;
typedef struct {
  SE_Locale            locale;
  SE_Integer_Unsigned  length;
  SE_Character         *characters;
} SE_String;
typedef struct {
  SE_Integer_Unsigned  length;
  SE_Character         *characters;
} SE_URL;
typedef struct {
  SE_Integer_Unsigned  length;
  SE_Character         *characters;
} SE_URN;
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;
typedef struct {
  SE_Property_Code      meaning;
  SE_Boolean            apply_property_inheritance;
  EDCS_Attribute_Value  value;
} SE_Property_Value_Fields;
typedef struct {
  EDCS_Classification_Code  tag;
} SE_Classification_Data_Fields;
typedef struct {
  SE_Classification_Data_Fields  class_data;
  SE_Integer_Unsigned            property_value_count;
  SE_Property_Value_Fields       *property_value_array;
} SE_Classification_Entry;
typedef struct {
  SE_String  alternate_representation_reason;
} SE_Hierarchy_Data_Fields;
typedef struct {
  SE_Integer_Positive  size_horizontal;
  SE_Integer_Positive  size_vertical;
  SE_Integer_Positive  size_z;
} SE_Image_Mip_Extents;
typedef struct {
  SE_Integer_Unsigned  first_index;
  SE_Integer_Unsigned  last_index;
} SE_Index_Range;
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;
typedef struct {
  EDCS_Numeric_Value_Type  numeric_value_type;
  union _SE_Long_FLoat_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;
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;
typedef struct {
  SE_Interval_Type  interval_type;
  union _SE_Count_Interval_Value_Union {
    EDCS_Count_Interval  open_value;
    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;
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;
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;
typedef struct {
  SE_Integer_Positive  index;
} SE_Index_LOD_Data_Fields;
typedef struct {
  SE_Long_Float  map_scale;
} SE_Map_Scale_LOD_Data_Fields;
typedef struct {
  SE_Long_Float                  spatial_resolution;
  SE_Spatial_Index_Spacing_Unit  unit;
} SE_Spatial_Resolution_LOD_Data_Fields;
typedef struct {
  SE_Octant  octant;
} SE_Octant_Data_Fields;
typedef struct {
  SE_Quadrant  quadrant;
} SE_Quadrant_Data_Fields;
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;
typedef struct {
  SE_Integer_Positive  row_index;
  SE_Integer_Positive  column_index;
} SE_Spatial_Index_Data_Fields;
typedef struct {
  EDCS_Attribute_Value  state_value;
} SE_State_Data_Fields;
typedef struct {
  EDCS_Attribute_Code   state_tag;
  SE_State_Data_Fields  state_data;
} SE_State_Entry;
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;
typedef struct {
  SE_Data_Table_Data_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;
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;
typedef SE_Boolean SE_Predicate (
  SE_Object,
  SE_Object,
  SE_Test_Data
);
typedef void SE_Status_Logger (
  SE_API_Function,
  SE_Status_Code,
  SE_String,
  SE_String
);
typedef struct {
  SE_Octet  unused;
} SE_Unused_Fields;
typedef struct {
  SE_Short_Integer_Unsigned  day_of_year;
} SE_Time_Day_Of_Year_Value;
typedef struct {
  SE_Month  month;
} SE_Time_M_Value;
typedef struct {
  SE_Month                   month;
  SE_Short_Integer_Positive  day;
  SE_Byte_Unsigned           hour;
} SE_Time_MD_H_Value;
typedef struct {
  SE_Month                   month;
  SE_Short_Integer_Positive  day;
  SE_Byte_Unsigned           hour;
  SE_Byte_Unsigned           minutes;
} SE_Time_MD_HM_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;
typedef struct {
  SE_Integer  year;
} SE_Time_Y_Value;
typedef struct {
  SE_Integer                 year;
  SE_Short_Integer_Unsigned  day_of_year;
} SE_Time_YD_Value;
typedef struct {
  SE_Integer                 year;
  SE_Short_Integer_Unsigned  day_of_year;
  SE_Byte_Unsigned           hour;
} SE_Time_YD_H_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;
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;
typedef struct {
  SE_Integer                 year;
  SE_Month                   month;
  SE_Short_Integer_Positive  day;
} SE_Time_YMD_Value;
typedef struct {
  SE_Integer                 year;
  SE_Month                   month;
  SE_Short_Integer_Positive  day;
  SE_Byte_Unsigned           hour;
} SE_Time_YMD_H_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;
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;
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;
typedef struct {
  SE_Time_Significance  time_significance;
  SE_Time_Value         time_value;
} SE_Absolute_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_Absolute_Time_Interval_Fields;
typedef struct {
  SE_Absolute_Time_Fields           reference_time;
  SE_Absolute_Time_Interval_Fields  absolute_interval;
} SE_Absolute_Time_Interval_Entry;
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;
typedef struct {
  SE_Boolean  unique_descendants;
  SE_Boolean  strict_organizing_principle;
} SE_Aggregate_Feature_Fields;
typedef struct {
  SE_Boolean  unique_descendants;
  SE_Boolean  strict_organizing_principle;
} SE_Aggregate_Geometry_Fields;
typedef struct {
  SE_Integer_Unsigned       hierarchy_data_count;
  SE_Hierarchy_Data_Fields  *hierarchy_data_array;
} SE_Alternate_Hierarchy_Parameters;
typedef struct {
  SE_Boolean  unique_descendants;
  SE_Boolean  strict_organizing_principle;
} SE_Alternate_Hierarchy_Related_Features_Fields;
typedef struct {
  SE_Boolean  unique_descendants;
  SE_Boolean  strict_organizing_principle;
} SE_Alternate_Hierarchy_Related_Geometry_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;
typedef struct {
  SE_Boolean  unique_descendants;
  SE_Boolean  strict_organizing_principle;
} SE_Animation_Related_Geometry_Fields;
typedef struct {
  SE_Integer_Unsigned  ranges_count;
  SE_Animation_Range   *animation_ranges_array;
} SE_Animation_Select_Parameters;
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_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;
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;
typedef struct {
  SE_Short_Integer_Unsigned  count;
  SE_Boolean                 suppress_last;
} SE_Arc_Fields;
typedef struct {
  EDCS_Attribute_Code        axis_type;
  SE_Short_Integer_Positive  axis_value_count;
} SE_Axis_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;
typedef struct {
  SE_Spatial_Association_Meaning_Type  meaning;
} SE_Base_Spatial_Association_Data_Fields;
typedef struct {
  SE_DRM_Class  drm_class;
} SE_Base_Summary_Item_Fields;
typedef struct {
  SE_Time_Significance  time_significance;
} SE_Base_Time_Data_Fields;
typedef struct {
  SE_Long_Float  upper_plane_angular_offset;
  SE_Long_Float  lower_plane_angular_offset;
} SE_Blend_Directional_Light_Fields;
typedef struct {
  SE_String        name;
  SE_Media_Format  media_format;
  SE_URN           media_urn;
  SE_String        description;
} SE_Browse_Media_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;
typedef struct {
  SRM_Euclidean_3D_Coordinate  coordinate;
} SE_CC_3D_Location_Fields;
typedef struct {
  SRM_CD_3D_Coordinate  coordinate;
} SE_CD_3D_Location_Fields;
typedef struct {
  SRM_CD_Surface_Coordinate  coordinate;
} SE_CD_Surface_Location_Fields;
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;
typedef struct {
  SE_String  title;
  SE_String  edition;
  SE_String  series_name;
  SE_String  issue_identification;
  SE_String  other_citation_details;
} SE_Citation_Fields;
typedef struct {
  SE_Integer_Unsigned      classification_count;
  SE_Classification_Entry  *classification_array;
} SE_Classification_Parameters;
typedef struct {
  SE_Boolean  unique_descendants;
  SE_Boolean  strict_organizing_principle;
} SE_Classification_Related_Features_Fields;
typedef struct {
  SE_Boolean  unique_descendants;
  SE_Boolean  strict_organizing_principle;
} SE_Classification_Related_Geometry_Fields;
typedef struct {
  SRM_Spherical_3D_Coordinate  coordinate;
} SE_CM_3D_Location_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;
typedef struct {
  SE_Long_Float  cyan;
  SE_Long_Float  magenta;
  SE_Long_Float  yellow;
} SE_CMY_Data;
typedef struct {
  SE_CMY_Data  cmy_data;
} SE_CMY_Colour_Fields;
typedef struct {
  SE_Colour_Mapping  colour_mapping;
} SE_Colour_Fields;
typedef struct {
  SE_String            description;
  SE_Integer_Unsigned  colour_index;
  SE_Integer_Unsigned  intensity_level_index;
} SE_Colour_Index_Control_Link_Fields;
typedef struct {
  SE_Colour_Mapping    colour_mapping;
  SE_Integer_Positive  index;
  SE_Long_Float        intensity_level;
} SE_Colour_Index_Fields;
typedef struct {
  SE_Long_Float  shininess;
} SE_Colour_Shininess_Fields;
typedef struct {
  SE_Integer_Positive  primary_table_index;
  SE_Integer_Positive  table_size;
} SE_Colour_Table_Group_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;
typedef struct {
  SE_Boolean  parallel_gravity;
  SE_Float    offset_distance;
} SE_Conformal_Behaviour_Fields;
typedef struct {
  SE_Telephone_Information  voice_phone;
  SE_Address                address;
  SE_CI_OnlineResource      online_resource;
  SE_String                 hours_of_service;
  SE_String                 contact_instructions;
} SE_Contact_Information;
typedef struct {
  SE_Boolean  unique_descendants;
  SE_Boolean  strict_organizing_principle;
  SE_Boolean  terminating_node;
} SE_Continuous_LOD_Related_Geometry_Fields;
typedef struct {
  SE_Continuous_LOD_Select_Choice  continous_lod_choice;
} SE_Continuous_LOD_Select_Parameters;
typedef struct {
  SE_String  description;
} SE_Control_Link_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;
typedef struct {
  SRM_Vector_3D             unit_vector;
  SE_Reference_Vector_Type  vector_type;
} SE_Reference_Vector_Fields;
typedef struct {
  SE_Cylindrical_Volume_Extent_Fields  cylinder;
  SE_Reference_Vector_Fields           reference_vectors[2];
} SE_Cylindrical_Volume_Extent_Entry;
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;
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;
typedef struct {
  SE_Short_Integer_Unsigned axes_count;
  SE_Index_Range            *axes_bounds;
} SE_Data_Table_Sub_Extent;
typedef struct {
  SE_DRM_Class  drm_class;
} SE_DRM_Class_Summary_Item_Fields;
typedef struct {
  SRM_Map_Projection_3D_Coordinate  coordinate;
} SE_EC_Augmented_3D_Location_Fields;
typedef struct {
  SRM_Map_Projection_Surface_Coordinate  coordinate;
} SE_EC_Surface_Location_Fields;
typedef struct {
  SE_String  description;
} SE_EDCS_Use_Summary_Item_Fields;
typedef struct {
  SE_Boolean  forwards;
} SE_Edge_Direction_Fields;
typedef struct {
  SRM_EI_3D_Coordinate  coordinate;
} SE_EI_3D_Location_Fields;
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;
typedef struct {
  SE_Long_Float  major_axis_length;
  SE_Long_Float  minor_axis_length;
} SE_Ellipse_Fields;
typedef struct {
  EDCS_Attribute_Code         axis_type;
  SE_Short_Integer_Positive   axis_value_count;
  EDCS_Integer                *axis_value_array;
} SE_Enumeration_Axis_Fields;
typedef struct {
  SE_SRF_Context_Info  srf_context_info;
} SE_Environment_Root_Fields;
typedef struct {
  EDCS_Classification_Code  environmental_domain;
} SE_Environmental_Domain_Summary_Fields;
typedef struct {
  SE_Boolean  front;
} SE_Face_Direction_Fields;
typedef struct {
  SE_Long_Float  fade_to_off_begin;
  SE_Long_Float  fade_to_off_complete;
} SE_Fade_Range_Fields;
typedef struct {
  SE_Boolean  universal;
} SE_Feature_Face_Fields;
typedef struct {
  SE_Feature_Topology_Level  feature_topology_level;
} SE_Feature_Topology_Hierarchy_Fields;
typedef struct {
  SE_Boolean  universal;
} SE_Feature_Volume_Fields;
typedef struct {
  SE_Long_Float  period;
  SE_Long_Float  delay;
  SE_Long_Float  duration;
} SE_Flashing_Light_Behaviour_Fields;
typedef struct {
  EDCS_Attribute_Value_Type  value_type;
} SE_Function_Fields;
typedef struct {
  SE_Functional_Association_Meaning_Type  meaning;
} SE_Functional_Association_Data_Fields;
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;
typedef struct {
  SE_Geometric_Centre_Code  meaning;
} SE_Geometric_Centre_Fields;
typedef struct {
  SE_Geometry_Topology_Level  geometry_topology_level;
} SE_Geometry_Topology_Hierarchy_Fields;
typedef struct {
  SE_Short_Integer_Positive  overlay_group;
  SE_Short_Integer_Unsigned  priority;
  SE_Grid_Overlap_Operator   operation;
} SE_Grid_Overlap_Fields;
typedef struct {
  SRM_Spherical_3D_Coordinate  coordinate;
} SE_HAEC_3D_Location_Fields;
typedef struct {
  SRM_Spherical_3D_Coordinate  coordinate;
} SE_HEEC_3D_Location_Fields;
typedef struct {
  SRM_Spherical_3D_Coordinate  coordinate;
} SE_HEEQ_3D_Location_Fields;
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;
typedef struct {
  SE_DRM_Class                            drm_class;
  SE_Hierarchy_Summary_Multiplicity_Code  multiplicity_meaning;
  SE_Integer_Unsigned                     multiplicity;
} SE_Hierarchy_Summary_Item_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;
typedef struct {
  SE_Long_Float  hue;
  SE_Long_Float  saturation;
  SE_Long_Float  value;
} SE_HSV_Data;
typedef struct {
  SE_HSV_Data  hsv_data;
} SE_HSV_Colour_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;
typedef struct {
  SE_SRF_Context_Info  srf_context_info;
} SE_Image_Anchor_Fields;
typedef struct {
  SE_Integer_Unsigned  data_count;
  SE_Octet             *data;
} SE_Image_Data;
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;
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;
typedef struct {
  SE_Short_Integer_Unsigned  horizontal;
  SE_Short_Integer_Unsigned  vertical;
  SE_Short_Integer_Unsigned  z;
} SE_Image_Texel_Location_3D;
typedef struct {
  SE_Boolean  input;
} SE_In_Out_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;
typedef struct {
  SE_Colour_Mapping  colour_mapping;
} SE_Inline_Colour_Fields;
typedef struct {
  SE_String  description;
} SE_Interface_Template_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;
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;
typedef struct {
  SE_Short_Integer_Positive  keyword_count;
  SE_String                  *keyword_array;
  SE_MD_KeywordTypeCode      type;
} SE_Keywords_Fields;
typedef struct {
  SRM_Map_Projection_3D_Coordinate  coordinate;
} SE_LCC_Augmented_3D_Location_Fields;
typedef struct {
  SRM_Map_Projection_Surface_Coordinate  coordinate;
} SE_LCC_Surface_Location_Fields;
typedef struct {
  SRM_Euclidean_3D_Coordinate  coordinate;
} SE_LCE_3D_Location_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;
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;
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;
typedef struct {
  SE_String            description;
  SE_Integer_Positive  expression_index;
} SE_Light_Source_Control_Link_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;
typedef struct {
  SE_Short_Integer_Unsigned  count;
  SE_Boolean                 suppress_last;
} SE_Line_Fields;
typedef struct {
  SE_String  statement;
} SE_Lineage_Fields;
typedef struct {
  SE_Short_Integer_Unsigned  count;
  SE_Boolean                 suppress_last;
} SE_Linear_Geometry_Fields;
typedef struct {
  SE_Single_Value  value;
} SE_Literal_Fields;
typedef struct {
  SE_Long_Float  horizontal_width;
  SE_Long_Float  vertical_width;
} SE_Lobe_Data_Fields;
typedef struct {
  SE_Matrix_4x4  matrix;
} SE_Local_4x4_Fields;
typedef struct {
  SE_Boolean        unique_descendants;
  SE_Boolean        strict_organizing_principle;
  SE_LOD_Data_Type  lod_data_type;
} SE_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_Geometry_Fields;
typedef struct {
  SRM_LSA_2D_Coordinate  coordinate;
} SE_LSA_2D_Location_Fields;
typedef struct {
  SRM_LSP_2D_Coordinate  coordinate;
} SE_LSP_2D_Location_Fields;
typedef struct {
  SRM_Euclidean_2D_Coordinate  coordinate;
} SE_LSR_2D_Location_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;
typedef struct {
  SRM_Euclidean_3D_Coordinate  coordinate;
} SE_LSR_3D_Location_Fields;
typedef struct {
  SRM_LTSAS_3D_Coordinate  coordinate;
} SE_LTSAS_3D_Location_Fields;
typedef struct {
  SRM_LTSAS_Surface_Coordinate  coordinate;
} SE_LTSAS_Surface_Location_Fields;
typedef struct {
  SRM_LTSC_3D_Coordinate  coordinate;
} SE_LTSC_3D_Location_Fields;
typedef struct {
  SRM_LTSC_Surface_Coordinate  coordinate;
} SE_LTSC_Surface_Location_Fields;
typedef struct {
  SRM_LTSE_3D_Coordinate  coordinate;
} SE_LTSE_3D_Location_Fields;
typedef struct {
  SRM_LTSE_Surface_Coordinate  coordinate;
} SE_LTSE_Surface_Location_Fields;
typedef struct {
  SRM_Map_Projection_3D_Coordinate  coordinate;
} SE_M_Augmented_3D_Location_Fields;
typedef struct {
  SRM_Map_Projection_Surface_Coordinate  coordinate;
} SE_M_Surface_Location_Fields;
typedef struct {
  SE_Integer_Positive  mesh_face_count;
  SE_Integer_Positive  max_vertices_per_face;
  SE_Boolean           adjacent_face_table_present;
} SE_Mesh_Face_Table_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;
typedef struct {
  SE_Integer_Positive  index;
} SE_Model_Instance_Template_Index_Fields;
typedef struct {
  SE_Long_Float  speed;
  SE_Long_Float  delay;
} SE_Moving_Light_Behaviour_Fields;
typedef struct {
  SE_Boolean  unique_descendants;
  SE_Boolean  strict_organizing_principle;
} SE_Octant_Related_Features_Fields;
typedef struct {
  SE_Boolean  unique_descendants;
  SE_Boolean  strict_organizing_principle;
} SE_Octant_Related_Geometry_Fields;
typedef struct {
  SE_Integer_Unsigned    octant_data_count;
  SE_Octant_Data_Fields  *octant_data_array;
} SE_Octant_Select_Parameters;
typedef struct {
  SRM_Map_Projection_3D_Coordinate  coordinate;
} SE_OMS_Augmented_3D_Location_Fields;
typedef struct {
  SRM_Map_Projection_Surface_Coordinate  coordinate;
} SE_OMS_Surface_Location_Fields;
typedef struct {
  SE_Short_Integer  overload_priority;
} SE_Overload_Priority_Index_Fields;
typedef struct {
  SE_Long_Float  edge_length[3];
} SE_Parallelepiped_Volume_Extent_Fields;
typedef struct {
  SE_Parallelepiped_Volume_Extent_Fields  parallelepiped;
  SE_Reference_Vector_Fields              reference_vectors[3];
} SE_Parallelepiped_Volume_Extent_Entry;
typedef struct {
  SRM_CD_3D_Coordinate  coordinate;
} SE_PD_3D_Location_Fields;
typedef struct {
  SRM_CD_Surface_Coordinate  coordinate;
} SE_PD_Surface_Location_Fields;
typedef struct {
  SE_Feature_Topology_Level  feature_topology_level;
} SE_Perimeter_Related_Feature_Topology_Fields;
typedef struct {
  SE_Boolean  unique_descendants;
  SE_Boolean  strict_organizing_principle;
} SE_Perimeter_Related_Features_Fields;
typedef struct {
  SE_Boolean  unique_descendants;
  SE_Boolean  strict_organizing_principle;
} SE_Perimeter_Related_Geometry_Fields;
typedef struct {
  SE_Geometry_Topology_Level  geometry_topology_level;
} SE_Perimeter_Related_Geometry_Topology_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;
typedef struct {
  SE_Polygon_Flags  polygon_flags;
} SE_Polygon_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;
typedef struct {
  EDCS_Attribute_Value_Type  value_type;
  SE_Predefined_Function     function;
} SE_Predefined_Function_Fields;
typedef struct {
  SE_Presentation_Domain  presentation_domain;
} SE_Presentation_Domain_Fields;
typedef struct {
  SE_DRM_Class         drm_class;
  SE_Integer_Unsigned  multiplicity;
} SE_Primitive_Summary_Item_Fields;
typedef struct {
  SE_String  description;
  SE_String  rationale;
} SE_Process_Step_Fields;
typedef struct {
  EDCS_Value_Characteristic_Code  meaning;
  EDCS_Attribute_Value            characteristic_value;
} SE_Property_Characteristic_Fields;
typedef struct {
  SE_Property_Code  meaning;
  SE_Boolean        apply_property_inheritance;
} SE_Property_Description_Fields;
typedef struct {
  SE_Property_Code  meaning;
  SE_Boolean        apply_property_inheritance;
} SE_Property_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;
typedef struct {
  SE_String            description;
  SE_Integer_Unsigned  expression_index;
} SE_Property_Set_Index_Control_Link_Fields;
typedef struct {
  SE_Integer_Positive  index;
} SE_Property_Set_Index_Fields;
typedef struct {
  SE_String   table_usage;
  SE_Boolean  regular;
} SE_Property_Set_Table_Fields;
typedef struct {
  SE_Integer_Positive  primary_table_index;
  SE_Integer_Positive  table_size;
} SE_Property_Set_Table_Group_Fields;
typedef struct {
  SE_String            description;
  SE_Integer_Unsigned  expression_index;
} SE_Property_Table_Reference_Control_Link_Fields;
typedef struct {
  EDCS_Attribute_Code  axis_type;
  SE_Integer_Unsigned  index_on_axis;
} SE_Property_Table_Reference_Fields;
typedef struct {
  SE_Spatial_Association_Meaning_Type  meaning;
  SE_Long_Float                        distance;
} SE_Proximity_Data_Fields;
typedef struct {
  SRM_Map_Projection_3D_Coordinate  coordinate;
} SE_PS_Augmented_3D_Location_Fields;
typedef struct {
  SRM_Map_Projection_Surface_Coordinate  coordinate;
} SE_PS_Surface_Location_Fields;
typedef struct {
  EDCS_Attribute_Value_Type  value_type;
  SE_String                  name;
  SE_String                  pseudo_code;
} SE_Pseudo_Code_Function_Fields;
typedef struct {
  SE_Boolean     use_full_intensity;
  SE_Long_Float  minimum_colour_intensity;
  SE_Boolean     invisible_behind;
} SE_Pyramid_Directional_Light_Fields;
typedef struct {
  SE_Boolean  unique_descendants;
  SE_Boolean  strict_organizing_principle;
} SE_Quadrant_Related_Features_Fields;
typedef struct {
  SE_Boolean  unique_descendants;
  SE_Boolean  strict_organizing_principle;
} SE_Quadrant_Related_Geometry_Fields;
typedef struct {
  SE_Integer_Unsigned      quadrant_data_count;
  SE_Quadrant_Data_Fields  *quadrant_data_array;
} SE_Quadrant_Select_Parameters;
typedef struct {
  SE_SRF_Context_Info  srf_context_info;
} SE_Reference_Origin_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;
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;
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;
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;
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;
typedef struct {
  SE_Absolute_Time_Fields           reference_time;
  SE_Relative_Time_Interval_Fields  relative_interval;
} SE_Relative_To_Absolute_Time_Interval_Entry;
typedef struct {
  SE_Absolute_Time_Fields  reference_time;
  SE_Absolute_Time_Fields  relative_time;
} SE_Relative_To_Absolute_Time_Entry;
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;
typedef struct {
  SE_Short_Integer_Positive  rendering_group;
  SE_Short_Integer           rendering_priority;
} SE_Rendering_Priority_Level_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;
typedef struct {
  SE_String               individual_name;
  SE_String               organization_name;
  SE_String               position_name;
  SE_Contact_Information  contact_information;
} SE_Responsible_Party_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;
typedef struct {
  SE_Long_Float  red;
  SE_Long_Float  green;
  SE_Long_Float  blue;
} SE_RGB_Data;
typedef struct {
  SE_RGB_Data  rgb_data;
} SE_RGB_Colour_Fields;
typedef struct {
  SE_CI_RoleCode  role;
} SE_Role_Data_Fields;
typedef struct {
  SE_Long_Float  period;
} SE_Rotating_Light_Behaviour_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;
typedef struct {
  SE_Long_Float  counterclockwise_limit;
  SE_Long_Float  clockwise_limit;
} SE_Rotation_Data;
typedef struct {
  SE_LSR_Transformation_Axis  axis;
  SE_Long_Float               angle;
} SE_Rotation_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;
typedef struct {
  SE_LSR_Transformation_Axis  axis;
  SE_Long_Float               scale_amount;
} SE_Scale_Fields;
typedef struct {
  SRM_Coordinate  minimum_point;
  SRM_Coordinate  maximum_point;
} SE_Search_Bounds;
typedef struct {
  SE_DRM_Class  drm_class;
  SE_DRM_Class  component_drm_class;
} SE_Search_Rule_Component;
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;
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;
} SE_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_Any_Search_Value        value;
  SE_Any_Search_Value        second_value;
} SE_Search_Rule_Component_Field_Range;
typedef struct {
  SE_DRM_Class               drm_class;
  SE_Any_Search_Value        value;
  SE_Short_Integer_Unsigned  field_ordinal;
} SE_Search_Rule_Field;
typedef struct {
  SE_DRM_Class               drm_class;
  SE_Short_Integer_Positive  array_size;
  SE_Any_Search_Value        *value;
  SE_Short_Integer_Unsigned  field_ordinal;
} SE_Search_Rule_Field_Array;
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;
typedef struct {
  SE_Test_Data  test_data;
  SE_Predicate  *user_function;
} SE_Search_Rule_Predicate;
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;
typedef struct {
  SE_Time_Significance  time_significance;
  SE_Season             season;
} SE_Season_Fields;
typedef struct {
  SRM_Spherical_3D_Coordinate  coordinate;
} SE_SEC_3D_Location_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;
typedef struct {
  SE_Boolean  positive;
} SE_Separating_Plane_Data_Fields;
typedef struct {
  SE_Boolean  unique_descendants;
  SE_Boolean  strict_organizing_principle;
} SE_Separating_Plane_Related_Geometry_Fields;
typedef struct {
  SE_Boolean  traverse_positive_branches;
  SE_Boolean  traverse_negative_branches;
} SE_Separating_Plane_Select_Parameters;
typedef struct {
  SRM_Spherical_3D_Coordinate  coordinate;
} SE_SEQ_3D_Location_Fields;
typedef struct {
  SRM_Spherical_3D_Coordinate  coordinate;
} SE_SMD_3D_Location_Fields;
typedef struct {
  SRM_Spherical_3D_Coordinate  coordinate;
} SE_SME_3D_Location_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;
typedef struct {
  SE_String            description;
  SE_Integer_Positive  active_sound_value_expression_index;
} SE_Sound_Instance_Control_Link_Fields;
typedef struct {
  SE_Boolean  active_sound_value;
} SE_Sound_Instance_Fields;
typedef struct {
  SE_String            description;
  SE_Integer_Positive  scale;
  SE_String            contribution;
} SE_Source_Fields;
typedef struct {
  SE_Spatial_Association_Meaning_Type  meaning;
} SE_Spatial_Association_Data_Fields;
typedef struct {
  SE_Integer_Unsigned            spatial_index_data_count;
  SE_Spatial_Index_Data_Fields   *spatial_index_data_array;
} SE_Spatial_Index_Parameters;
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;
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;
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;
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;
typedef struct {
  SE_Long_Float  radius;
} SE_Spherical_Volume_Extent_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;
typedef struct {
  SE_SRF_Context_Info  srf_context_info;
} SE_SRF_Summary_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;
typedef struct {
  SE_String                    description;
  SE_Integer_Positive          expression_index;
  SE_State_Mismatch_Behaviour  mismatch_behaviour;
} SE_State_Control_Link_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;
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;
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;
typedef struct {
  SE_Long_Float  period;
  SE_Long_Float  delay;
} SE_Strobing_Light_Behaviour_Fields;
typedef struct {
  SE_String         name;
  SE_Symbol_Format  symbol_format;
  SE_URN            symbol_urn;
} SE_Symbol_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;
typedef struct {
  SE_String           font_family;
  SE_Font_Style       font_style;
  SE_Float            font_size;
  SE_Underline_Style  underline_style;
} SE_Text_Font;
typedef struct {
  SE_String     text_string;
  SE_Text_Font  font;
} SE_Text_Fields;
typedef struct {
  SE_String            description;
  SE_Integer_Unsigned  s_expression_index;
  SE_Integer_Unsigned  t_expression_index;
} SE_Texture_Coordinate_Control_Link_Fields;
typedef struct {
  SE_Long_Float  s;
  SE_Long_Float  t;
} SE_Texture_Coordinate_Fields;
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;
typedef struct {
  SE_Time_Significance  time_significance;
} SE_Time_Interval_Fields;
typedef struct {
  SE_Time_Significance  time_significance;
  SE_Time_Of_Day        time_of_day;
} SE_Time_Of_Day_Fields;
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;
typedef struct {
  SE_Time_Significance  time_significance;
} SE_Time_Point_Fields;
typedef struct {
  SE_Boolean         unique_descendants;
  SE_Boolean         strict_organizing_principle;
  SE_Time_Data_Type  time_data_type;
} SE_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_Geometry_Fields;
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;
typedef struct {
  SE_Branch_Range_Matching  matching_rules;
  SE_Integer_Unsigned       time_entry_count;
  SE_Time_Entry             *time_entry_array;
} SE_Time_Select_Parameters;
typedef struct {
  SRM_Map_Projection_3D_Coordinate  coordinate;
} SE_TM_Augmented_3D_Location_Fields;
typedef struct {
  SRM_Map_Projection_Surface_Coordinate  coordinate;
} SE_TM_Surface_Location_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;
typedef struct {
  SE_LSR_Transformation_Axis  axis;
  SE_Long_Float               translation_amount;
} SE_Translation_Fields;
typedef struct {
  SE_String            description;
  SE_Integer_Positive  expression_index;
} SE_Translucency_Control_Link_Fields;
typedef struct {
  SE_Long_Float  translucency_value;
} SE_Translucency_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;
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;
typedef struct {
  SE_Feature_Topology_Level  feature_topology_level;
} SE_Union_Of_Feature_Topology_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;
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;
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;
typedef struct {
  SE_Geometry_Topology_Level  geometry_topology_level;
} SE_Union_Of_Geometry_Topology_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;
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;
typedef struct {
  SE_Volumetric_Shape  volume_type;
  union _SE_Volume_Extent_Entry_Union {
    SE_Cylindrical_Volume_Extent_Entry     cylinder;
    SE_Parallelepiped_Volume_Extent_Entry  parallelepided;
    SE_Spherical_Volume_Extent_Fields      sphere;
  } volume_extent_data;
} SE_Volume_Extent_Entry;
typedef struct {
  SE_Boolean  outside;
} SE_Volume_LOD_Data_Fields;
typedef struct {
  SRM_Coordinate             coordinate;
  SE_Volume_Extent_Entry     volume_extent;
  SE_Volume_LOD_Data_Fields  volume_lod;
} SE_Volume_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;
typedef struct {
  SE_Branch_Range_Matching  matching_rules;
  SE_Integer_Unsigned       lod_entry_count;
  SE_LOD_Entry              *lod_entry_array;
} SE_LOD_Select_Parameters;
typedef struct {
  SE_Boolean     use_full_intensity;
  SE_Long_Float  minimum_colour_intensity;
} SE_Volume_Light_Behaviour_Fields;
typedef struct {
  SE_Matrix_3x3  world_3x3;
} SE_World_3x3_Fields;
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;
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;
typedef struct {
  SE_Object  object;
  SE_Object  link_object;
} SE_Packed_Hierarchy_Reference;
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;
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;
typedef struct {
  SE_Integer_Unsigned  hierarchy_count;
  SE_Packed_Hierarchy  *hierarchy_list;
} SE_Remaining_Packed_Hierarchies_List;

A.3 External functions

SE_Return_Code SE_AddAssociateRelationship (
  SE_Object  from_object,
  SE_Object  to_object,
  SE_Object  link_object,
  SE_Boolean make_two_way
);
SE_Return_Code SE_AddComponentRelationship (
  SE_Object component_object,
  SE_Object aggregate_object,
  SE_Object link_object
);
SE_Return_Code SE_CloneObject (
  const SE_Object object,
        SE_Object *duplicate_object
);
SE_Return_Code SE_CloseTransmittal (
  SE_Transmittal   transmittal
);
SE_Return_Code SE_CreateObject (
  const SE_Transmittal transmittal,
        SE_DRM_Class   new_object_type,
        SE_Object      *new_object
);
SE_Return_Code SE_CreateSearchFilter (
  const SE_Search_Rule    *rules,
        SE_Search_Filter  *search_filter
);
SE_Return_Code SE_CreateSpatialSearchBoundary (
  const SE_Search_Bounds         *search_bounds,
        SE_Search_Bounds_Closure search_bounds_closure,
        SE_Search_Type           search_quality,
        SE_Object_Inclusion      inclusion,
        SE_Search_Dimension      search_dimension,
        SE_Search_Boundary       *search_boundary
);
SE_Return_Code SE_CreateStore (
        SE_Store *store
);
SE_Return_Code SE_DetermineSpatialInclusion (
  const SE_Object                *object,
  const SE_Search_Bounds         *search_bounds,
        SE_Search_Bounds_Closure search_bounds_closure,
        SE_Search_Type           search_quality,
        SE_Search_Dimension      search_dimension,
        SE_Boolean               *fully_included,
        SE_Boolean               *partly_included,
        SE_Boolean               *includes_search_bounds
);
SE_Return_Code SE_FreeIterator (
  SE_Iterator to_free_iterator
);
SE_Return_Code SE_FreeObject (
  SE_Object to_free_object
);
SE_Return_Code SE_FreePackedHierarchy (
  SE_Packed_Hierarchy to_free_hierarchy
);
SE_Return_Code SE_FreeRemainingObjectsList (
  SE_Remaining_Objects_List *to_free_list
);
SE_Return_Code SE_FreeRemainingPackedHierarchiesList (
  SE_Remaining_Packed_Hierarchies_List *to_free_hierarchies_list
);
SE_Return_Code SE_FreeSearchFilter (
  SE_Search_Filter to_free_filter
);
SE_Return_Code SE_FreeSpatialSearchBoundary (
  SE_Search_Boundary to_free_boundary
);
SE_Return_Code SE_FreeStore (
  SE_Store store
);
SE_Return_Code SE_FreeTransmittal (
  SE_Transmittal to_free_transmittal
);
SE_Return_Code SE_GetAggregate (
  const SE_Object        component_object,
        SE_DRM_Class     drm_class,
        SE_ITR_Behaviour itr_traversal,
        SE_Store         store,
        SE_Object        *aggregate_object,
        SE_Object        *link_class_object
);
SE_Return_Code SE_GetAssociate (
  const SE_Object        associating_object,
        SE_DRM_Class     drm_class,
        SE_ITR_Behaviour itr_traversal,
        SE_Store         store,
        SE_Object        *associate_object,
        SE_Object        *link_object
);
SE_Return_Code SE_GetColourModel (
  const SE_Transmittal  transmittal,
        SE_Colour_Model *colour_model
);
SE_Return_Code SE_GetComponent (
  const SE_Object        aggregate_object,
        SE_DRM_Class     drm_class,
        SE_Boolean       directly_attach_table_components,
        SE_Boolean       process_inheritance,
        SE_ITR_Behaviour itr_traversal,
        SE_Store         store,
        SE_Object        *component_object,
        SE_Object        *link_class_object
);
SE_Return_Code SE_GetContextTransformation (
  const SE_Object     object,
        SE_Matrix_4x4 *matrix
);
SE_Return_Code SE_GetDataTableData (
  const SE_Object                data_table_object,
  const SE_Data_Table_Sub_Extent *extents,
        SE_Integer_Positive      element_count,
  const SE_Integer_Positive      *element_indices,
        SE_Store                 store,
        SE_Data_Table_Data       **data
);
SE_Return_Code SE_GetDRMClass (
  const SE_Object    object,
        SE_DRM_Class *object_class
);
SE_Return_Code SE_GetEncoding (
  const SE_Object   object,
        SE_Encoding *encoding
);
SE_Return_Code SE_GetFields (
  const SE_Object            object,
         SE_Store            store,
         SE_DRM_Class_Fields **fields
);
SE_Return_Code SE_GetImageData (
  const SE_Object                  image_object,
  const SE_Image_Texel_Location_3D *start_texel,
  const SE_Image_Texel_Location_3D *stop_texel,
        SE_Short_Integer_Unsigned  mip_level,
        SE_Store                   store,
        SE_Image_Data              **image_data
);
SE_Return_Code SE_GetIterationLengthRemaining (
  const SE_Iterator         iterator,
        SE_Integer_Unsigned *count
);
SE_Return_Code SE_GetLastFunctionStatus (
        SE_Store       store,
        SE_Status_Code *last_function_status,
        SE_String      **status_description
);
SE_Return_Code SE_GetMeshFaceTableData (
    const SE_Object           mesh_face_table_object,
          SE_Boolean          get_adjacent_face_table_data,
          SE_Integer_Positive start_face,
          SE_Integer_Positive number_faces,
          SE_Store            store,
          SE_Integer_Unsigned **mesh_face_table_data,
          SE_Integer_Unsigned **adjacent_face_table_data
);
SE_Return_Code SE_GetNextObject (
  const SE_Iterator iterator,
        SE_Object   *next_object,
        SE_Object   *link_object
);
SE_Return_Code SE_GetNthAssociate (
  const SE_Object           from_object,
        SE_DRM_Class        desired_associate_class,
        SE_Integer_Positive n,
        SE_Object           *associate_object,
        SE_Object           *link_object
);
SE_Return_Code SE_GetNthComponent (
  const SE_Object           aggregate_object,
        SE_DRM_Class        desired_component_class,
        SE_Integer_Positive n,
        SE_Object           *component_object,
        SE_Object           *link_object
);
SE_Return_Code SE_GetNumberOfPathsToTransmittalRoot (
  const SE_Object           object,
        SE_Integer_Unsigned *number_of_paths
);
SE_Return_Code SE_GetObjectFromIDString (
  const SE_Transmittal transmittal,
  const SE_String      *id,
        SE_Object      *object
);
SE_Return_Code SE_GetObjectIDString (
  const SE_Object object,
        SE_Store  store,
        SE_String **id
);
SE_Return_Code SE_GetObjectReferenceCount (
  const SE_Object                 object,
        SE_Short_Integer_Unsigned *reference_count
);
SE_Return_Code SE_GetPackedHierarchy (
  const SE_Object           root_object,
        SE_Boolean          directly_attach_table_components,
        SE_Boolean          process_inheritance,
        SE_Integer_Unsigned hierarchy_depth,
        SE_ITR_Behaviour    itr_traversal,
        SE_Store            store,
        SE_Packed_Hierarchy **hierarchy
);
SE_Return_Code SE_GetPublishedLabels (
  const SE_Object           object,
        SE_Store            store,
        SE_Integer_Unsigned *label_count,
        SE_String           **label_list
);
SE_Return_Code SE_GetPublishedObjectList (
  const SE_Transmittal      transmittal,
        SE_Store            store,
        SE_Integer_Unsigned *published_object_count,
        SE_Object           **published_object_list
);
SE_Return_Code SE_GetReferencedTransmittalList (
  const SE_Transmittal transmittal,
        SE_Store            store,
        SE_Integer_Unsigned *transmittal_name_count,
        SE_URN              **transmittal_name_list
);
SE_Return_Code SE_GetRelationCounts (
  const SE_Object           object,
        SE_ITR_Behaviour    itr_traversal,
        SE_Integer_Unsigned *component_count,
        SE_Integer_Unsigned *aggregate_count,
        SE_Integer_Unsigned *associate_count
 );
SE_Return_Code SE_GetRemainingObjectsList (
  const SE_Iterator               iterator,
        SE_Store                  store,
        SE_Remaining_Objects_List **remaining_objects
);
SE_Return_Code SE_GetRemainingPackedHierarchies (
  const SE_Iterator                          iterator,
        SE_Integer_Unsigned                  hierarchy_depth,
        SE_Store                             store,
        SE_Remaining_Packed_Hierarchies_List **remaining_hierarchies
);
SE_Return_Code SE_GetRootObject (
  const SE_Transmittal transmittal,
        SE_Object      *root_object
);
SE_Return_Code SE_GetSRFContextInfo (
  const SE_Object           object,
        SE_SRF_Context_Info *srf_context_info
);
SE_Return_Code SE_GetTransmittalFromObject (
  const SE_Object      object,
        SE_Transmittal *transmittal
);
SE_Return_Code SE_GetTransmittalLocation (
  const SE_Transmittal transmittal,
        SE_Store       store,
        SE_URL         **location
);
SE_Return_Code SE_GetTransmittalName (
  const SE_Transmittal transmittal,
        SE_Store       store,
        SE_URN         **name
);
SE_Return_Code SE_GetTransmittalVersionInformation (
  const SE_Transmittal            transmittal,
        SE_Short_Integer_Unsigned *major_DRM_version,
        SE_Byte_Unsigned          *minor_DRM_version,
        SE_Character              *interim_DRM_version,
        SE_Short_Integer_Unsigned *major_EDCS_version,
        SE_Byte_Unsigned          *minor_EDCS_version,
        SE_Character              *interim_EDCS_version,
        SE_Short_Integer_Unsigned *major_SRM_version,
        SE_Byte_Unsigned          *minor_SRM_version,
        SE_Character              *interim_SRM_version
);
SE_Return_Code SE_GetUniqueTransmittalID (
  const SE_Transmittal transmittal,
        SE_Store       store,
        SE_String      **identifier
);
SE_Return_Code SE_GetUnresolvedObjectFromPublishedLabel (
  const SE_URN      *transmittal_name,
  const SE_String   *object_label,
        SE_Encoding encoding,
        SE_Object   *object
);
SE_Return_Code SE_GetUserData (
  const SE_Object    object,
        SE_User_Data *user_data
);
SE_Return_Code SE_InitializeAggregateIterator (
  const SE_Object        start_object,
  const SE_Search_Filter filter,
        SE_ITR_Behaviour itr_traversal,
        SE_Iterator      *iterator
);
SE_Return_Code SE_InitializeAssociateIterator (
  const SE_Object        start_object,
  const SE_Search_Filter filter,
        SE_ITR_Behaviour itr_traversal,
        SE_Iterator      *iterator
);
SE_Return_Code SE_InitializeComponentIterator (
  const SE_Object                      start_object,
  const SE_Search_Boundary             boundary,
  const SE_Search_Filter               filter,
        SE_Boolean                     directly_attach_table_components,
        SE_Boolean                     process_inheritence,
        SE_Boolean                     transform_locations,
        SE_Boolean                     follow_model_instances,
        SE_Boolean                     evaluate_static_control_links,
  const SE_Hierarchy_Select_Parameters *select_parameters,
  const SE_Hierarchy_Order_Parameters  *traversal_order_parameters,
        SE_Traversal_Order             general_traversal_pattern,
        SE_ITR_Behaviour               itr_traversal,
        SE_Iterator                    *iterator
);
SE_Return_Code SE_InitializeInheritedComponentIterator (
  const SE_Object        start_object,
  const SE_Search_Filter filter,
        SE_Boolean       directly_attach_table_components,
        SE_ITR_Behaviour itr_traversal,
        SE_Iterator      *iterator
);
SE_Return_Code SE_IsIteratorComplete (
  const SE_Iterator iterator,
        SE_Boolean  *result
 );
SE_Return_Code SE_ObjectIsPublished (
  const SE_Object  object,
        SE_Boolean *result
);
SE_Return_Code SE_ObjectIsResolved (
  const SE_Object object,
        SE_Boolean *result
);
SE_Return_Code SE_ObjectsAreSame (
  const SE_Object  object_1,
  const SE_Object  object_2,
        SE_Boolean *result
);
SE_Return_Code SE_OpenTransmittalByLocation (
  const SE_URL         *location,
        SE_Encoding    encoding,
        SE_Access_Mode access_mode,
        SE_Transmittal *transmittal
);
SE_Return_Code SE_OpenTransmittalByName (
  const SE_URN         *transmittal_name,
  const SE_Encoding    encoding,
        SE_Access_Mode access_mode,
        SE_Transmittal *transmittal
);
SE_Return_Code SE_PublishObject (
  const SE_Object object,
  const SE_String *label
);
SE_Return_Code SE_PutDataTableData (
        SE_Object                data_table_object,
  const SE_Data_Table_Sub_Extent *extents,
        SE_Integer_Positive      element_count,
  const SE_Integer_Positive      *element_indices,
  const SE_Data_Table_Data       *data_table_data
);
SE_Return_Code SE_PutFields (
        SE_Object           existing_object,
  const SE_DRM_Class_Fields *new_fields
);
SE_Return_Code SE_PutImageData (
        SE_Object                 image_object,
        SE_Integer_Unsigned       start_texel_horizontal,
        SE_Integer_Unsigned       start_texel_vertical,
        SE_Integer_Unsigned       start_texel_z,
        SE_Integer_Unsigned       stop_texel_horizontal,
        SE_Integer_Unsigned       stop_texel_vertical,
        SE_Integer_Unsigned       stop_texel_z,
        SE_Short_Integer_Unsigned mip_level,
  const SE_Image_Data             *image_data
);
SE_Return_Code SE_PutMeshFaceTableData (
        SE_Object           mesh_face_table_object,
        SE_Boolean          put_adjacent_face_table_data,
        SE_Integer_Positive start_face,
        SE_Integer_Positive number_faces,
  const SE_Integer_Unsigned *mesh_face_table_data,
  const SE_Integer_Unsigned *adjacent_face_table_data
);
SE_Return_Code SE_RemoveAssociateRelationship (
  SE_Object  from_object,
  SE_Object  to_object,
  SE_Object  link_object,
  SE_Boolean remove_two_way
);
SE_Return_Code SE_RemoveComponentRelationship (
  SE_Object aggregate_object,
  SE_Object component_object,
  SE_Object link_object
);
SE_Return_Code SE_RemoveFromTransmittal (
  const SE_Object      old_object,
  const SE_Transmittal transmittal
);
SE_Return_Code SE_ResolveObject (
  SE_Object object
);
SE_Return_Code SE_ResolveTransmittalName (
  const SE_URN   *transmittal_name,
        SE_Store store,
        SE_URL   **location
);
SE_Return_Code SE_SetColourModel (
        SE_Colour_Model colour_model
);
SE_Return_Code SE_SetFirstErrorMessage (
  const SE_String *message
);
SE_Return_Code SE_SetGeneralCallback (
  SE_Status_Logger *user_defined_function
);
SE_Return_Code SE_SetGeneralCallbackForOneFunction (
  SE_Status_Logger *user_defined_function,
  SE_API_Function  function_to_catch
);
SE_Return_Code SE_SetRootObject (
  const SE_Transmittal transmittal,
  const SE_Object      new_root_object,
        SE_Object      *old_root_object
);
SE_Return_Code SE_SetSecondErrorMessage (
  const SE_String *message
);
SE_Return_Code SE_SetSpecificCallback (
  SE_Status_Logger *user_defined_function,
  SE_API_Function  function_to_catch,
  SE_Status_Code   status_code_to_catch
);
SE_Return_Code SE_SetSRFContextInfo (
  const SE_SRF_Context_Info *new_srf_context_info
);
SE_Return_Code SE_SetTransmittalName (
  const SE_Transmittal transmittal,
  const SE_URN         *new_transmittal_name
);
SE_Return_Code SE_SetUserData (
  const SE_User_Data user_data,
        SE_Object    object
 );
SE_Return_Code SE_TransmittalsAreSame (
  const SE_Transmittal transmittal_a,
  const SE_Transmittal transmittal_b,
        SE_Boolean     *result
);
SE_Return_Code SE_UnpublishObject (
  const SE_Object object,
  const SE_String *label
);
void SE_UseDefaultColourModel (
  void
);
void SE_UseDefaultSRFContextInfo (
  void
);

http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_IEC_18024-4_Ed1.html