41 #if !defined( _GLS_GLO_FILE_H_ ) 
   42 #    define _GLS_GLO_FILE_H_ 
   51 #    if( defined( GLS_EXPORT_GENERATED ) || defined( GLS_IMPORT_GENERATED ) ) \ 
   52         && defined( _MSC_VER ) 
   53 #        if defined( GLS_EXPORT_GENERATED ) 
   54 #            define GLSGEN_GlsGloFile_EXPORT __declspec( dllexport ) 
   56 #            define GLSGEN_GlsGloFile_EXPORT __declspec( dllimport ) 
   59 #        define GLSGEN_GlsGloFile_EXPORT 
   66 class GlsGloFileAttribute;
 
   69 float          SwapFloatToNet( 
float val );
 
   70 double         SwapDoubleToNet( 
double val );
 
   71 unsigned int   SwapLongToNet( 
unsigned int val );
 
   72 unsigned int   SwapSignedLongToNet( 
int val );
 
   73 unsigned short SwapShortToNet( 
unsigned short val );
 
   74 short          SwapSignedShortToNet( 
short val );
 
   87     static const unsigned int NUM_OBJECTS_OFFSET = 16;
 
   96         GLS_GLO_INSTANCE_NAME = 1,
 
   98         GLS_GLO_ROTATION_POINT,
 
   99         GLS_GLO_ACTION_CALLBACK,
 
  101         GLS_GLO_ATTRIBUTE_NAME,
 
  102         GLS_GLO_TEXTURE_INDEX,
 
  103         GLS_GLO_TEXTURE_REPEAT,
 
  104         GLS_GLO_TEXTURE_MAP_MODE,
 
  105         GLS_GLO_TEXTURE_MIN_FILTER,
 
  106         GLS_GLO_TEXTURE_MAG_FILTER,
 
  107         GLS_GLO_TEXTURE_BLEND_COLOR,
 
  108         GLS_GLO_TEXTURE_ROTATION,
 
  109         GLS_GLO_TEXTURE_SCALE_H,
 
  110         GLS_GLO_TEXTURE_SCALE_V,
 
  111         GLS_GLO_TEXTURE_OFFSET_X,
 
  112         GLS_GLO_TEXTURE_OFFSET_Y,
 
  113         GLS_GLO_POLYGON_MODE,
 
  115         GLS_GLO_POLYGON_OFFSET,
 
  117         GLS_GLO_COLOR_MATERIAL_MODE,
 
  119         GLS_GLO_LINE_STIPPLE_PATTERN,
 
  120         GLS_GLO_LINE_STIPPLE_MULTIPLIER,
 
  122         GLS_GLO_CULLBACKFACE,
 
  130         GLS_GLO_LIGHTING_ENABLED,
 
  131         GLS_GLO_MATERIAL_INDEX,
 
  132         GLS_GLO_MATERIAL_INDICES,
 
  134         GLS_GLO_COMPONENT_ABSOLUTE_PLACEMENT,
 
  135         GLS_GLO_COMPONENT_EDITOR_TRANSFORM,
 
  136         GLS_GLO_TEXTURE_POINTS,
 
  139         GLS_GLO_COMPONENT_USE_PARENT_LIGHTING,
 
  142         GLS_GLO_NEED_CALCULATE,
 
  143         GLS_GLO_NEED_PREDRAW,
 
  144         GLS_GLO_NUMBER_OF_VERTICES,
 
  147         GLS_GLO_TEXTURE_COORDINATES,
 
  150         GLS_GLO_CYLINDER_COLOR,
 
  151         GLS_GLO_CYLINDER_SEGMENTS,
 
  152         GLS_GLO_CYLINDER_FACES,
 
  153         GLS_GLO_CYLINDER_FACE_START,
 
  154         GLS_GLO_CYLINDER_FACE_END,
 
  155         GLS_GLO_CYLINDER_TOP_SIZE,
 
  156         GLS_GLO_CYLINDER_BOTTOM_SIZE,
 
  157         GLS_GLO_CYLINDER_TOP_FACE,
 
  158         GLS_GLO_CYLINDER_BOTTOM_FACE,
 
  159         GLS_GLO_CYLINDER_RADII,
 
  162         GLS_GLO_EYEPOINT_FOV,
 
  163         GLS_GLO_EYEPOINT_ORTHOGRAPHIC,
 
  164         GLS_GLO_EYEPOINT_ORTHO_SIZE,
 
  165         GLS_GLO_EYEPOINT_FOV_IS_HORIZONTAL,
 
  166         GLS_GLO_EYEPOINT_ASPECT,
 
  167         GLS_GLO_EYEPOINT_NEAR_CLIP,
 
  168         GLS_GLO_EYEPOINT_FAR_CLIP,
 
  169         GLS_GLO_EYEPOINT_MAINTAIN_ASPECT,
 
  170         GLS_GLO_EYEPOINT_VIEW_VECTORS,
 
  171         GLS_GLO_EYEPOINT_OTHER_FOV,
 
  172         GLS_GLO_EYEPOINT_OTHER_ORTHO_SIZE,
 
  173         GLS_GLO_EYEPOINT_HORIZONTAL_CONSTRAINT,
 
  174         GLS_GLO_EYEPOINT_VERTICAL_CONSTRAINT,
 
  177         GLS_GLO_LIGHT_SOURCE_AMBIENT,
 
  178         GLS_GLO_LIGHT_SOURCE_DIFFUSE,
 
  179         GLS_GLO_LIGHT_SOURCE_SPECULAR,
 
  180         GLS_GLO_LIGHT_SOURCE_SPOT_CUTOFF,
 
  181         GLS_GLO_LIGHT_SOURCE_SPOT_EXPONENT,
 
  182         GLS_GLO_LIGHT_SOURCE_CONSTANT_ATTENUATION,
 
  183         GLS_GLO_LIGHT_SOURCE_LINEAR_ATTENUATION,
 
  184         GLS_GLO_LIGHT_SOURCE_QUADRATIC_ATTENUATION,
 
  185         GLS_GLO_LIGHT_SOURCE_LIGHT_TYPE,
 
  188         GLS_GLO_SPHERE_MAPPING,
 
  189         GLS_GLO_SPHERE_COLOR,
 
  190         GLS_GLO_SPHERE_STACKS,
 
  191         GLS_GLO_SPHERE_SLICES,
 
  192         GLS_GLO_SPHERE_SLICE_START,
 
  193         GLS_GLO_SPHERE_SLICE_END,
 
  194         GLS_GLO_SPHERE_STACK_START,
 
  195         GLS_GLO_SPHERE_STACK_END,
 
  196         GLS_GLO_SPHERE_RADII,
 
  200         GLS_GLO_TEXT_CELL_HEIGHT,
 
  201         GLS_GLO_TEXT_CELL_WIDTH,
 
  202         GLS_GLO_TEXT_CONSTRAIN_CELL_RATIO,
 
  203         GLS_GLO_TEXT_CONTROL_CELL_SIZE,
 
  206         GLS_GLO_TEXT_LINESPACING,
 
  207         GLS_GLO_TEXT_LOCK_CELL_SIZE,
 
  208         GLS_GLO_TEXT_JUSTIFY,
 
  211         GLS_GLO_TEXT_UPPERCASE,
 
  213         GLS_GLO_TEXT_HALO_COLOR,
 
  214         GLS_GLO_TEXT_SHADOW_COLOR,
 
  215         GLS_GLO_TEXT_SHADOW_DISTANCE,
 
  216         GLS_GLO_TEXT_BASELINE,
 
  217         GLS_GLO_TEXT_BG_COLOR,
 
  218         GLS_GLO_TEXT_TEXT_COLOR,
 
  219         GLS_GLO_TEXT_CHAR_SCALING,
 
  220         GLS_GLO_TEXT_CHAR_SPACING,
 
  221         GLS_GLO_TEXT_FAUX_BOLD,
 
  222         GLS_GLO_TEXT_INVERSE,
 
  223         GLS_GLO_TEXT_STRIKE_THRU,
 
  224         GLS_GLO_TEXT_UNDERLINE,
 
  227         GLS_GLO_TRIMESH_FIRST_VALUE,
 
  228         GLS_GLO_TRIMESH_USE_DISPLAY_LIST,
 
  229         GLS_GLO_TRIMESH_FACES,
 
  232         GLS_GLO_3DCABLE_FIRST_VALUE,
 
  233         GLS_GLO_3DCABLE_FLEXIBILITY,
 
  234         GLS_GLO_3DCABLE_NUMBEROFSEGMENTS,
 
  235         GLS_GLO_3DCABLE_NUMBEROFSIDES,
 
  236         GLS_GLO_3DCABLE_RADIUS,
 
  237         GLS_GLO_3DCABLE_LENGTH,
 
  238         GLS_GLO_3DCABLE_GRAVITY,
 
  239         GLS_GLO_3DCABLE_SECTIONSLACKPCT,
 
  240         GLS_GLO_3DCABLE_SECTIONFLOORDIST,
 
  241         GLS_GLO_3DCABLE_COLLISIONSTYLE,
 
  242         GLS_GLO_3DCABLE_FILLCOLOR,
 
  243         GLS_GLO_3DCABLE_LINECOLOR,
 
  246         GLS_GLO_GLSBUTTON_CHANGE_CALLBACK,
 
  247         GLS_GLO_GLSBUTTON_TOGGLE,
 
  248         GLS_GLO_GLSBUTTON_WHICH_OBJ_POS_UP,
 
  249         GLS_GLO_GLSBUTTON_WHICH_OBJ_POS_DOWN,
 
  250         GLS_GLO_GLSBUTTON_STATE,
 
  251         GLS_GLO_GLSBUTTON_EMIT_STATE_CHANGE_EVENT,
 
  254         GLS_GLO_ANGULAR_SCALE_FIRST_VALUE,
 
  255         GLS_GLO_ANGULAR_SCALE_RADII,
 
  256         GLS_GLO_ANGULAR_SCALE_DECONFLICT_TICKS,
 
  257         GLS_GLO_ANGULAR_SCALE_HALO_ENABLED,
 
  258         GLS_GLO_ANGULAR_SCALE_HALO_WIDTH,
 
  259         GLS_GLO_ANGULAR_SCALE_HALO_COLOR,
 
  260         GLS_GLO_ANGULAR_SCALE_USE_SCALABLE_LINES,
 
  261         GLS_GLO_ANGULAR_SCALE_RADIUS,
 
  262         GLS_GLO_ANGULAR_SCALE_DATA,
 
  265         GLS_GLO_CLIPPING_GROUP_STATE,
 
  266         GLS_GLO_CLIPPING_GROUP_CLIPPING_ACTIVE,
 
  267         GLS_GLO_CLIPPING_GROUP_BOTTOM_LEFT_CORNER,
 
  268         GLS_GLO_CLIPPING_GROUP_TOP_RIGHT_CORNER,
 
  269         GLS_GLO_CLIPPING_GROUP_SHOW_OUTLINE,
 
  272         GLS_GLO_DYNAMICPATH_FIRST_VALUE,
 
  273         GLS_GLO_DYNAMICPATH_AFFECTS_LOCATION_X,
 
  274         GLS_GLO_DYNAMICPATH_AFFECTS_LOCATION_Y,
 
  275         GLS_GLO_DYNAMICPATH_AFFECTS_LOCATION_Z,
 
  276         GLS_GLO_DYNAMICPATH_AFFECTS_ROTATION_X,
 
  277         GLS_GLO_DYNAMICPATH_AFFECTS_ROTATION_Y,
 
  278         GLS_GLO_DYNAMICPATH_AFFECTS_ROTATION_Z,
 
  279         GLS_GLO_DYNAMICPATH_AFFECTS_SCALE_X,
 
  280         GLS_GLO_DYNAMICPATH_AFFECTS_SCALE_Y,
 
  281         GLS_GLO_DYNAMICPATH_AFFECTS_SCALE_Z,
 
  282         GLS_GLO_DYNAMICPATH_USE_SHORT_ROTATION_PATHS,
 
  283         GLS_GLO_DYNAMICPATH_STATE_COUNT,
 
  284         GLS_GLO_DYNAMICPATH_STATE,
 
  287         GLS_GLO_MUTEX_GROUP_STATE,
 
  288         GLS_GLO_MUTEX_GROUP_CALC_INVISIBLE_STATES,
 
  289         GLS_GLO_MUTEX_GROUP_PICK_INVISIBLE_STATES,
 
  290         GLS_GLO_MUTEX_GROUP_PREDRAW_INVISIBLE_STATES,
 
  291         GLS_GLO_MUTEX_GROUP_INPUT_DEVICE_BEHAVIOR,
 
  294         GLS_GLO_GLSMULTIVIEW_FIRST_VALUE,
 
  295         GLS_GLO_GLSMULTIVIEW_VIEW_DATA,
 
  296         GLS_GLO_GLSMULTIVIEW_VIEW_DRAWING_STATE,
 
  299         GLS_GLO_LINEAR_SCALE_FIRST_VALUE,
 
  300         GLS_GLO_LINEAR_SCALE_RADII,
 
  301         GLS_GLO_LINEAR_SCALE_DECONFLICT_TICKS,
 
  302         GLS_GLO_LINEAR_SCALE_HALO_ENABLED,
 
  303         GLS_GLO_LINEAR_SCALE_HALO_WIDTH,
 
  304         GLS_GLO_LINEAR_SCALE_HALO_COLOR,
 
  305         GLS_GLO_LINEAR_SCALE_TICK_ANCHOR,
 
  306         GLS_GLO_LINEAR_SCALE_USE_SCALABLE_LINES,
 
  307         GLS_GLO_LINEAR_SCALE_DATA,
 
  310         GLS_GLO_GLSKNOB_CHANGE_CALLBACK,
 
  311         GLS_GLO_GLSKNOB_ANGLERANGE,
 
  312         GLS_GLO_GLSKNOB_CONTINUOUS,
 
  313         GLS_GLO_GLSKNOB_POSITIONVAL,
 
  314         GLS_GLO_GLSKNOB_DETENTPOSITIONS,
 
  315         GLS_GLO_GLSKNOB_WHICHOBJECT,
 
  316         GLS_GLO_GLSKNOB_STARTANGLE,
 
  317         GLS_GLO_GLSKNOB_EMITDETENTVALEVENT,
 
  318         GLS_GLO_GLSKNOB_EMITPOSITIONVALEVENT,
 
  319         GLS_GLO_GLSKNOB_EMITLIMITEVENT,
 
  320         GLS_GLO_GLSKNOB_EMITRELEASEEVENT,
 
  321         GLS_GLO_GLSKNOB_SHOWDETENTSONLY,
 
  322         GLS_GLO_GLSKNOB_CLICKSELECTSDETENT,
 
  325         GLS_GLO_ELLIPSE_FIRST_VALUE,
 
  326         GLS_GLO_ELLIPSE_RADII,
 
  327         GLS_GLO_ELLIPSE_THICKNESS,
 
  328         GLS_GLO_ELLIPSE_SOLID,
 
  329         GLS_GLO_ELLIPSE_INTERVAL,
 
  330         GLS_GLO_ELLIPSE_START_ANGLE,
 
  331         GLS_GLO_ELLIPSE_END_ANGLE,
 
  332         GLS_GLO_ELLIPSE_COLOR,
 
  335         GLS_GLO_GLSSWITCH_INITIAL_DETENT_VAL,
 
  336         GLS_GLO_GLSSWITCH_WHICH_OBJECT_BACKGROUND,
 
  337         GLS_GLO_GLSSWITCH_FIRST_DETENT_SNAPBACK,
 
  338         GLS_GLO_GLSSWITCH_LAST_DETENT_SNAPBACK,
 
  339         GLS_GLO_GLSSWITCH_EMIT_DETENT_VAL_EVENT,
 
  340         GLS_GLO_GLSSWITCH_EMIT_LIMIT_EVENT,
 
  341         GLS_GLO_GLSSWITCH_EMIT_RELEASE_EVENT,
 
  344         GLS_GLO_GLSTHUMBWHEEL_INITIAL_VAL,
 
  345         GLS_GLO_GLSTHUMBWHEEL_EMIT_DETENT_VAL_EVENT,
 
  346         GLS_GLO_GLSTHUMBWHEEL_EMIT_LIMIT_EVENT,
 
  347         GLS_GLO_GLSTHUMBWHEEL_EMIT_RELEASE_EVENT,
 
  348         GLS_GLO_GLSTHUMBWHEEL_NUMBER_OF_DETENTS,
 
  349         GLS_GLO_GLSTHUMBWHEEL_CONTINUOUS_DRAG,
 
  350         GLS_GLO_GLSTHUMBWHEEL_DETENT_VAL,
 
  351         GLS_GLO_GLSTHUMBWHEEL_WHICH_OBJECT_THUMBWHEEL,
 
  352         GLS_GLO_GLSTHUMBWHEEL_WHICH_OBJECT_ODOMETER,
 
  353         GLS_GLO_GLSTHUMBWHEEL_SOUND_INDEX,
 
  356         GLS_GLO_TEXT_GRID_SIZE,
 
  357         GLS_GLO_TEXT_GRID_LEFT_TO_RIGHT,
 
  360         GLS_GLO_SCHEMATICTEEINTERCONNECT_FIRST_VALUE,
 
  361         GLS_GLO_SCHEMATICTEEINTERCONNECT_LEFT_LINE_THICKNESS,
 
  362         GLS_GLO_SCHEMATICTEEINTERCONNECT_RIGHT_LINE_THICKNESS,
 
  363         GLS_GLO_SCHEMATICTEEINTERCONNECT_BASE_LINE_THICKNESS,
 
  364         GLS_GLO_SCHEMATICTEEINTERCONNECT_LEFT_INTERCONNECT_TEXTURE_INDEX,
 
  365         GLS_GLO_SCHEMATICTEEINTERCONNECT_RIGHT_INTERCONNECT_TEXTURE_INDEX,
 
  366         GLS_GLO_SCHEMATICTEEINTERCONNECT_BASE_INTERCONNECT_TEXTURE_INDEX,
 
  367         GLS_GLO_SCHEMATICTEEINTERCONNECT_LEFT_INTERCONNECT_TEXTURE_REPEAT_LENGTH,
 
  368         GLS_GLO_SCHEMATICTEEINTERCONNECT_RIGHT_INTERCONNECT_TEXTURE_REPEAT_LENGTH,
 
  369         GLS_GLO_SCHEMATICTEEINTERCONNECT_BASE_INTERCONNECT_TEXTURE_REPEAT_LENGTH,
 
  370         GLS_GLO_SCHEMATICTEEINTERCONNECT_LEFT_FLOW_TEXTURE_INDEX,
 
  371         GLS_GLO_SCHEMATICTEEINTERCONNECT_RIGHT_FLOW_TEXTURE_INDEX,
 
  372         GLS_GLO_SCHEMATICTEEINTERCONNECT_BASE_FLOW_TEXTURE_INDEX,
 
  373         GLS_GLO_SCHEMATICTEEINTERCONNECT_LEFT_FLOW_TEXTURE_REPEAT_LENGTH,
 
  374         GLS_GLO_SCHEMATICTEEINTERCONNECT_RIGHT_FLOW_TEXTURE_REPEAT_LENGTH,
 
  375         GLS_GLO_SCHEMATICTEEINTERCONNECT_BASE_FLOW_TEXTURE_REPEAT_LENGTH,
 
  376         GLS_GLO_SCHEMATICTEEINTERCONNECT_LEFT_SHOW_FLOW,
 
  377         GLS_GLO_SCHEMATICTEEINTERCONNECT_RIGHT_SHOW_FLOW,
 
  378         GLS_GLO_SCHEMATICTEEINTERCONNECT_BASE_SHOW_FLOW,
 
  379         GLS_GLO_SCHEMATICTEEINTERCONNECT_LEFT_FLOW_RATE,
 
  380         GLS_GLO_SCHEMATICTEEINTERCONNECT_RIGHT_FLOW_RATE,
 
  381         GLS_GLO_SCHEMATICTEEINTERCONNECT_BASE_FLOW_RATE,
 
  382         GLS_GLO_SCHEMATICTEEINTERCONNECT_LEFT_SHOW_FLOW_BLINK,
 
  383         GLS_GLO_SCHEMATICTEEINTERCONNECT_RIGHT_SHOW_FLOW_BLINK,
 
  384         GLS_GLO_SCHEMATICTEEINTERCONNECT_BASE_SHOW_FLOW_BLINK,
 
  385         GLS_GLO_SCHEMATICTEEINTERCONNECT_LEFT_FLOW_BLINK_RATE,
 
  386         GLS_GLO_SCHEMATICTEEINTERCONNECT_RIGHT_FLOW_BLINK_RATE,
 
  387         GLS_GLO_SCHEMATICTEEINTERCONNECT_BASE_FLOW_BLINK_RATE,
 
  388         GLS_GLO_SCHEMATICTEEINTERCONNECT_LEFT_FLOW_BLINK_START_COLOR,
 
  389         GLS_GLO_SCHEMATICTEEINTERCONNECT_RIGHT_FLOW_BLINK_START_COLOR,
 
  390         GLS_GLO_SCHEMATICTEEINTERCONNECT_BASE_FLOW_BLINK_START_COLOR,
 
  391         GLS_GLO_SCHEMATICTEEINTERCONNECT_LEFT_FLOW_BLINK_END_COLOR,
 
  392         GLS_GLO_SCHEMATICTEEINTERCONNECT_RIGHT_FLOW_BLINK_END_COLOR,
 
  393         GLS_GLO_SCHEMATICTEEINTERCONNECT_BASE_FLOW_BLINK_END_COLOR,
 
  394         GLS_GLO_SCHEMATICTEEINTERCONNECT_USE_DISPLAY_LIST,
 
  395         GLS_GLO_SCHEMATICTEEINTERCONNECT_TOP_VISIBLE,
 
  396         GLS_GLO_SCHEMATICTEEINTERCONNECT_TOP_LINE_THICKNESS,
 
  397         GLS_GLO_SCHEMATICTEEINTERCONNECT_TOP_INTERCONNECT_TEXTURE_INDEX,
 
  398         GLS_GLO_SCHEMATICTEEINTERCONNECT_TOP_INTERCONNECT_TEXTURE_REPEAT_LENGTH,
 
  399         GLS_GLO_SCHEMATICTEEINTERCONNECT_TOP_FLOW_TEXTURE_INDEX,
 
  400         GLS_GLO_SCHEMATICTEEINTERCONNECT_TOP_FLOW_TEXTURE_REPEAT_LENGTH,
 
  401         GLS_GLO_SCHEMATICTEEINTERCONNECT_TOP_SHOW_FLOW,
 
  402         GLS_GLO_SCHEMATICTEEINTERCONNECT_TOP_FLOW_RATE,
 
  403         GLS_GLO_SCHEMATICTEEINTERCONNECT_TOP_SHOW_FLOW_BLINK,
 
  404         GLS_GLO_SCHEMATICTEEINTERCONNECT_TOP_FLOW_BLINK_RATE,
 
  405         GLS_GLO_SCHEMATICTEEINTERCONNECT_TOP_FLOW_BLINK_START_COLOR,
 
  406         GLS_GLO_SCHEMATICTEEINTERCONNECT_TOP_FLOW_BLINK_END_COLOR,
 
  409         GLS_GLO_SCHEMATICPOLYLINEINTERCONNECT_FIRST_VALUE,
 
  410         GLS_GLO_SCHEMATICPOLYLINEINTERCONNECT_ORIENTATION,
 
  411         GLS_GLO_SCHEMATICPOLYLINEINTERCONNECT_LINE_THICKNESS,
 
  412         GLS_GLO_SCHEMATICPOLYLINEINTERCONNECT_ROUNDED_CORNERS,
 
  413         GLS_GLO_SCHEMATICPOLYLINEINTERCONNECT_CORNER_RADIUS,
 
  414         GLS_GLO_SCHEMATICPOLYLINEINTERCONNECT_FORCE_EXACT_CORNER_RADIUS,
 
  415         GLS_GLO_SCHEMATICPOLYLINEINTERCONNECT_CORNER_SEGMENTS,
 
  416         GLS_GLO_SCHEMATICPOLYLINEINTERCONNECT_INTERCONNECT_TEXTURE_REPEAT_LENGTH,
 
  417         GLS_GLO_SCHEMATICPOLYLINEINTERCONNECT_FLOW_TEXTURE_INDEX,
 
  418         GLS_GLO_SCHEMATICPOLYLINEINTERCONNECT_FLOW_TEXTURE_REPEAT_LENGTH,
 
  419         GLS_GLO_SCHEMATICPOLYLINEINTERCONNECT_SHOW_FLOW,
 
  420         GLS_GLO_SCHEMATICPOLYLINEINTERCONNECT_FLOW_RATE,
 
  421         GLS_GLO_SCHEMATICPOLYLINEINTERCONNECT_SHOW_FLOW_BLINK,
 
  422         GLS_GLO_SCHEMATICPOLYLINEINTERCONNECT_FLOW_BLINK_RATE,
 
  423         GLS_GLO_SCHEMATICPOLYLINEINTERCONNECT_FLOW_BLINK_START_COLOR,
 
  424         GLS_GLO_SCHEMATICPOLYLINEINTERCONNECT_FLOW_BLINK_END_COLOR,
 
  425         GLS_GLO_SCHEMATICPOLYLINEINTERCONNECT_USE_DISPLAY_LIST,
 
  428         GLS_GLO_POLY_LINE_FIRST_VALUE,
 
  429         GLS_GLO_POLY_LINE_THICKNESS,
 
  430         GLS_GLO_POLY_LINE_HALO,
 
  431         GLS_GLO_POLY_LINE_HALO_COLOR,
 
  432         GLS_GLO_POLY_LINE_HALO_THICKNESS,
 
  433         GLS_GLO_POLY_LINE_NORMAL,
 
  436         GLS_GLO_PATHMANAGER_FIRST_VALUE,
 
  437         GLS_GLO_PATHMANAGER_PATHOBJPAIR_COUNT,
 
  438         GLS_GLO_PATHMANAGER_PATHOBJPAIR,
 
  441         GLS_GLO_GLSODOMETER_VALUE,
 
  442         GLS_GLO_GLSODOMETER_MIN_VALUE,
 
  443         GLS_GLO_GLSODOMETER_MAX_VALUE,
 
  444         GLS_GLO_GLSODOMETER_BASE_SYSTEM,
 
  445         GLS_GLO_GLSODOMETER_BEHAVIOR_TYPE,
 
  446         GLS_GLO_GLSODOMETER_GEOMETRY_TYPE,
 
  447         GLS_GLO_GLSODOMETER_TEXTURE_SCALE,
 
  448         GLS_GLO_GLSODOMETER_DEGREES_PER_DIGIT,
 
  449         GLS_GLO_GLSODOMETER_ORDER_OF_MAGNITUDE,
 
  450         GLS_GLO_GLSODOMETER_ROLLOVER_THRESHOLD,
 
  453         GLS_GLO_GLSNURBCURVE_FIRST_VALUE,
 
  454         GLS_GLO_GLSNURBCURVE_EMITEVENT,
 
  457         GLS_GLO_NINE_PATCH_FIRST_VALUE,
 
  458         GLS_GLO_NINE_PATCH_CENTER_VISIBLE,
 
  459         GLS_GLO_NINE_PATCH_EDGES,
 
  460         GLS_GLO_NINE_PATCH_TEXTURE_EDGES,
 
  461         GLS_GLO_NINE_PATCH_RADII,
 
  462         GLS_GLO_NINE_PATCH_TEXTURE_POINTS,
 
  463         GLS_GLO_NINE_PATCH_COLOR,
 
  466         GLS_GLO_SERIAL_MORPH_MESH_KEYFRAME_INDEX,
 
  469         GLS_GLO_GEOMETRY_RESOURCE_MESH_DATA,
 
  470         GLS_GLO_GEOMETRY_RESOURCE_MESH_TRANSFORM,
 
  471         GLS_GLO_GEOMETRY_RESOURCE_MESH_REFERENCE,
 
  472         GLS_GLO_GEOMETRY_RESOURCE_MESH_INDEX_BUF_EFFECTS,
 
  475         GLS_GLO_LOD_GROUP_DISTANCE_RANGE,
 
  476         GLS_GLO_LOD_GROUP_LOD_POSITIONS,
 
  479         GLS_GLO_TEXT_BOX_VERTICAL_ALIGNMENT,
 
  480         GLS_GLO_TEXT_BOX_LEFT_TO_RIGHT,
 
  483         GLS_GLO_CTL_TEXT_BOX_VERTICAL_ALIGNMENT,
 
  484         GLS_GLO_CTL_TEXT_BOX_ELLIPSIZE_MODE,
 
  485         GLS_GLO_CTL_TEXT_BOX_HORIZONTAL_SCALE,
 
  486         GLS_GLO_CTL_TEXT_BOX_VERTICAL_SCALE,
 
  487         GLS_GLO_CTL_TEXT_BOX_TEXT_DIRECTION,
 
  490         GLS_GLO_LINEAR_FLOAT_CONTROLLER_KEYARRAY,
 
  493         GLS_GLO_MOVINGEYE_EMIT_EVENT,
 
  494         GLS_GLO_MOVINGEYE_LOOK_AT_OBJECT,
 
  495         GLS_GLO_MOVINGEYE_MAX_SPEED,
 
  496         GLS_GLO_MOVINGEYE_MOVEMENT,
 
  497         GLS_GLO_MOVINGEYE_ROUTE,
 
  498         GLS_GLO_MOVINGEYE_DISABLE_HISTORY,
 
  501         GLS_GLO_MIMIC_GROUP_MIMIC_ACTIVE,
 
  502         GLS_GLO_MIMIC_GROUP_AUTO_REDRAW,
 
  503         GLS_GLO_MIMIC_GROUP_BOTTOM_LEFT_CORNER,
 
  504         GLS_GLO_MIMIC_GROUP_TOP_RIGHT_CORNER,
 
  505         GLS_GLO_MIMIC_GROUP_SHOW_OUTLINE,
 
  506         GLS_GLO_MIMIC_GROUP_TEXTURE_HEIGHT,
 
  507         GLS_GLO_MIMIC_GROUP_TEXTURE_WIDTH,
 
  508         GLS_GLO_MIMIC_GROUP_HAS_DEPTH_BUFFER,
 
  509         GLS_GLO_MIMIC_GROUP_DEPTH_TEST,
 
  510         GLS_GLO_MIMIC_GROUP_GENERATE_MIPMAPS,
 
  511         GLS_GLO_MIMIC_GROUP_DRAW_MIMIC_POLYGON,
 
  512         GLS_GLO_MIMIC_GROUP_ATTACHED_TEXTURE_INDEX,
 
  513         GLS_GLO_MIMIC_GROUP_CLEAR_COLOR,
 
  514         GLS_GLO_MIMIC_GROUP_USE_OPAQUE_TEXTURE,
 
  516         GLS_GLO_TEXT_SHADOW_OFFSET
 
  519     static const unsigned int MAX_STANDARD_ATTR_SIZE = 255;
 
  520     static const unsigned int ATTR_SIZE_EXTENDED     = 0;
 
  528         unsigned int  numObjects;                           
 
  535         TEXTURE_PRESENT  = 0x01,
 
  536         MATERIAL_PRESENT = 0x02
 
  541         unsigned int  numberOfFaces;     
 
  543         unsigned int  defaultMaterial;   
 
  544         unsigned char indexSize;         
 
  545         unsigned char textureSize;       
 
  546         unsigned char materialSize;      
 
  547         unsigned char componentsPresent; 
 
  557         unsigned int version;              
 
  558         unsigned int vertexSize;           
 
  559         unsigned int numberOfVertices;     
 
  560         unsigned int numberOfIndexBuffers; 
 
  562         unsigned char numberOfTextureCoords; 
 
  563         unsigned char numberOfVertexAttribs; 
 
  567         bool          hasSecondaryColor;
 
  568         bool          hasTangentAttrib;
 
  569         unsigned char tangentAttribIndex;
 
  570         bool          hasBinormalAttrib;
 
  572         unsigned char  binormalAttribIndex;
 
  573         unsigned char  padding1;
 
  574         unsigned short padding2;
 
  585     static const int GlsGeometryResourceMeshIndexBufEffects_Version = 2;
 
  589         unsigned int version;     
 
  590         unsigned int effectCount; 
 
  597         unsigned int materialIndex;
 
  598         unsigned int diffuseTextureIndex;
 
  599         unsigned int normalTextureIndex;
 
  600         unsigned int specularTextureIndex;
 
  601         unsigned int reflectionTextureIndex;
 
  606         float specularAmount;
 
  607         float reflectionAmount;
 
  609         bool           useVertexColors;
 
  610         bool           normalMapFlipGreen;
 
  611         unsigned short padding; 
 
  614         float diffuse_uOffset;
 
  615         float diffuse_vOffset;
 
  616         float diffuse_uTiling;
 
  617         float diffuse_vTiling;
 
  620         float normal_uOffset;
 
  621         float normal_vOffset;
 
  622         float normal_uTiling;
 
  623         float normal_vTiling;
 
  626         float specular_uOffset;
 
  627         float specular_vOffset;
 
  628         float specular_uTiling;
 
  629         float specular_vTiling;
 
  630         float specular_angle;
 
  636         static const unsigned int MAX_STANDARD_ATTR_SIZE = 255;
 
  638         static const unsigned int ATTR_SIZE_EXTENDED = 0;
 
  641         Writer( 
const std::string& filename, 
const bool open, 
const unsigned char* timestamp );
 
  646         std::string Filename();
 
  648         std::string BaseFilename();
 
  650         inline unsigned char* Timestamp() { 
return _header.timestamp; }
 
  653         void OpenForWriting( 
void );
 
  655         void DefaultChecking( 
bool val ) { _defaultChecking = val; }
 
  658         void StartObjectRecord( 
void );
 
  661         void AddObjectAttribute( 
const unsigned int enumeration, 
const unsigned int size, 
const void* data );
 
  664         void AddBoolean( 
const unsigned int enumerator, 
const bool value );
 
  665         void AddU8( 
const unsigned int enumerator, 
const unsigned char value );
 
  666         void AddU16( 
const unsigned int enumerator, 
const unsigned short value );
 
  667         void AddS16( 
const unsigned int enumerator, 
const short value );
 
  668         void AddU32( 
const unsigned int enumerator, 
const unsigned int value );
 
  669         void AddS32( 
const unsigned int enumerator, 
const int value );
 
  670         void AddString( 
const unsigned int enumerator, 
const std::string& value );
 
  671         void AddCString( 
const unsigned int enumerator, 
const char* value );
 
  672         void AddFloat( 
const unsigned int enumerator, 
const float value );
 
  673         void AddDouble( 
const unsigned int enumerator, 
const double value );
 
  674         void AddVector( 
const unsigned int enumerator, 
const Vector& value );
 
  675         void AddGlsColor( 
const unsigned int enumerator, 
const glsColor& value );
 
  676         void AddMatrix( 
const unsigned int enumerator, 
const GlsMatrixAffineD& value );
 
  677         void AddVertexArray( 
const unsigned int enumerator, 
const unsigned int nVertices, 
const Vertex verts[] );
 
  678         void AddVectorArray( 
const unsigned int enumerator, 
const unsigned int nVertices, 
const Vector verts[] );
 
  679         void AddFloatArray( 
const unsigned int enumerator, 
const unsigned int nVertices, 
const float verts[] );
 
  680         void AddDoubleArray( 
const unsigned int enumerator, 
const unsigned int nVertices, 
const double verts[] );
 
  681         void AddMaterialIndices( 
const unsigned int enumerator, 
DynamicArray<int>& values );
 
  684         void AddVector2DArray( 
const unsigned int enumerator, 
const unsigned int nVertices, 
const Vector verts[] );
 
  687         unsigned int AddExtendedAttributeHeader( 
unsigned int enumerator, 
unsigned int size = 0 );
 
  688         unsigned int AddAttributeHeader( 
unsigned int enumerator, 
unsigned char size = 0 );
 
  691         void AddBoolean( 
const unsigned int enumerator, 
const bool value, 
const bool defVal );
 
  692         void AddU8( 
const unsigned int enumerator, 
const unsigned char value, 
const unsigned char defVal );
 
  693         void AddU16( 
const unsigned int enumerator, 
const unsigned short value, 
const unsigned short defVal );
 
  694         void AddS16( 
const unsigned int enumerator, 
const short value, 
const short defVal );
 
  695         void AddU32( 
const unsigned int enumerator, 
const unsigned int value, 
const unsigned int defVal );
 
  696         void AddS32( 
const unsigned int enumerator, 
const int value, 
const int defVal );
 
  697         void AddGlsColor( 
const unsigned int enumerator, 
const glsColor& value, 
const glsColor& defVal );
 
  698         void AddFloat( 
const unsigned int enumerator, 
const float value, 
const float defVal );
 
  699         void AddDouble( 
const unsigned int enumerator, 
const double value, 
const double defVal );
 
  703         void WriteU8( 
const unsigned char val );
 
  704         void WriteS8( 
const char val );
 
  705         void WriteU16( 
const unsigned short val );
 
  706         void WriteS16( 
const short val );
 
  707         void WriteU32( 
const unsigned int val );
 
  708         void WriteS32( 
const int val );
 
  709         void WriteFloat( 
const float val );
 
  710         void WriteDouble( 
const double val );
 
  711         void WriteGlsColor( 
const glsColor& value );
 
  715         void WriteU8( 
const unsigned char val, 
const unsigned int offset );
 
  716         void WriteU32( 
const unsigned int val, 
const unsigned int offset );
 
  719         void AddMatrix( 
const unsigned int enumerator, 
const GlsMatrixAffineD& value, 
const bool checkForIdentity );
 
  722         void EndObjectRecord();
 
  731         std::string   _filename;
 
  734         bool          _defaultChecking;
 
  739         unsigned int _numObjects;
 
  747         void WriteFileHeader();
 
  757         Reader( 
const std::string& filename, 
const bool open );
 
  763         bool OpenForReading( 
void );
 
  766         unsigned int GetNumberOfObjectRecords() { 
return _header.numObjects; }
 
  768         unsigned int GetGLStudioVersionMajor() { 
return _header.glsMajor; }
 
  769         unsigned int GetGLStudioVersionMinor() { 
return _header.glsMinor; }
 
  770         unsigned int GetGLStudioBuildNumber() { 
return _header.glsBuild; }
 
  772         unsigned char* GetTimestamp() { 
return _header.timestamp; }
 
  778         std::string GetString( 
const unsigned int size )
 
  780             std::string retval( _fileDataPointer );
 
  781             _fileDataPointer += size;
 
  788             memcpy( &data, _fileDataPointer, 
sizeof( 
bool ) );
 
  789             _fileDataPointer += 
sizeof( bool );
 
  796             memcpy( &data, _fileDataPointer, 
sizeof( 
char ) );
 
  797             _fileDataPointer += 
sizeof( char );
 
  801         unsigned char GetUnsignedByte()
 
  803             unsigned char data = 0u;
 
  804             memcpy( &data, _fileDataPointer, 
sizeof( 
unsigned char ) );
 
  805             _fileDataPointer += 
sizeof( 
unsigned char );
 
  812             memcpy( &data, _fileDataPointer, 
sizeof( 
short ) );
 
  813             _fileDataPointer += 
sizeof( short );
 
  817         unsigned short GetUnsignedShort()
 
  819             unsigned short data = 0u;
 
  820             memcpy( &data, _fileDataPointer, 
sizeof( 
unsigned short ) );
 
  821             _fileDataPointer += 
sizeof( 
unsigned short );
 
  828             memcpy( &data, _fileDataPointer, 
sizeof( 
int ) );
 
  829             _fileDataPointer += 
sizeof( int );
 
  833         unsigned int GetUnsignedInt()
 
  835             unsigned int data = 0u;
 
  836             memcpy( &data, _fileDataPointer, 
sizeof( 
unsigned int ) );
 
  837             _fileDataPointer += 
sizeof( 
unsigned int );
 
  844             memcpy( &data, _fileDataPointer, 
sizeof( 
float ) );
 
  845             _fileDataPointer += 
sizeof( float );
 
  852             memcpy( &data, _fileDataPointer, 
sizeof( 
double ) );
 
  853             _fileDataPointer += 
sizeof( double );
 
  857         void GetBytes( 
const unsigned int size, 
char** data )
 
  859             memcpy( *data, _fileDataPointer, size );
 
  860             _fileDataPointer += size;
 
  866             memcpy( &data, _fileDataPointer, 
sizeof( 
glsColor ) );
 
  867             _fileDataPointer += 
sizeof( 
glsColor );
 
  871         DynamicArray<int> GetMaterialIndices()
 
  873             unsigned int      count = (
unsigned int)GetInt();
 
  874             DynamicArray<int> materialIndices( count );
 
  875             for( 
unsigned int i = 0; i < count; i++ )
 
  877                 materialIndices.PushBack( GetInt() );
 
  879             return materialIndices;
 
  882         bool IsInitialized() { 
return _initialized; }
 
  884         const std::string& GetFilename() { 
return _filename; }
 
  887         std::string   _filename;
 
  890         unsigned int  _numberOfObjectRecords;
 
  891         unsigned int  _glsMajor;
 
  892         unsigned int  _glsMinor;
 
  893         unsigned int  _glsBuild;
 
  895         GloFileHeader _header;
 
  897         const char*   _fileDataPointer;
 
  908         void Resize( 
const unsigned int minimumSize );
 
  911         void Enlarge( 
const unsigned int incrementalSize );
 
  914         unsigned char* Buffer();
 
  921         void WriteData( 
const void* data, 
const unsigned int size );
 
  925         void WriteData( 
const void* data, 
const unsigned int size, 
const unsigned int offset );
 
  932         unsigned int _current;
 
  935         unsigned int _bufSize;
 
  948         void SetNumAttributes( 
const short numAttributes )
 
  950             _numAttributes = numAttributes;
 
  955             return ( _numAttributes > 0 );
 
  962         short                _numAttributes;
 
  967     GLSGEN_GlsGloFile_EXPORT 
GlsGloFile( 
const std::string& filename, 
const bool readMode = 
true );
 
  970     GLSGEN_GlsGloFile_EXPORT 
void VerifyTimestamp( 
const unsigned char* timestamp, 
const char* className );
 
  974     int         _numObjectsRemaining;
 
  979     std::string _filename;
 
  996     void SetEnumeration( 
const unsigned int enumeration )
 
  998         _enumeration = enumeration;
 
 1001     void SetSize( 
const unsigned int size )
 
 1007     unsigned int Enumeration()
 
 1009         return _enumeration;
 
 1016     std::string GetString()
 
 1018         return _reader->GetString( _size );
 
 1021     void GetVector( 
Vector& rval )
 
 1023         rval.x = _reader->GetFloat();
 
 1024         rval.y = _reader->GetFloat();
 
 1025         rval.z = _reader->GetFloat();
 
 1027     void GetVertex( 
Vertex& rval )
 
 1029         rval.x = _reader->GetFloat();
 
 1030         rval.y = _reader->GetFloat();
 
 1031         rval.z = _reader->GetFloat();
 
 1032         rval.color.
R( _reader->GetUnsignedByte() );
 
 1033         rval.color.
G( _reader->GetUnsignedByte() );
 
 1034         rval.color.
B( _reader->GetUnsignedByte() );
 
 1035         rval.color.
A( _reader->GetUnsignedByte() );
 
 1040         return _reader->GetColor();
 
 1051         return _reader->GetBoolean();
 
 1056         return _reader->GetByte();
 
 1059     unsigned char GetUnsignedByte()
 
 1061         return _reader->GetUnsignedByte();
 
 1066         return _reader->GetShort();
 
 1069     unsigned short GetUnsignedShort()
 
 1071         return _reader->GetUnsignedShort();
 
 1076         return _reader->GetInt();
 
 1079     unsigned int GetUnsignedInt()
 
 1081         return _reader->GetUnsignedInt();
 
 1086         return _reader->GetFloat();
 
 1091         return _reader->GetDouble();
 
 1096         char* rval = 
new char[ _size ];
 
 1097         _reader->GetBytes( _size, &rval );
 
 1103         return _reader->GetMaterialIndices();
 
 1106     void GetBytes( 
const unsigned int size, 
void* data )
 
 1108         _reader->GetBytes( size, (
char**)&data );
 
 1113     unsigned int        _enumeration;
 
 1118 float          SwapFloatToNet( 
float val );
 
 1119 double         SwapDoubleToNet( 
double val );
 
 1120 unsigned int   SwapLongToNet( 
unsigned int val );
 
 1121 unsigned int   SwapSignedLongToNet( 
int val );
 
 1122 unsigned short SwapShortToNet( 
unsigned short val );
 
 1123 short          SwapSignedShortToNet( 
short val );
 
GlsColor glsColor
Alias for backwards compatibility. 
Definition: gls_color.h:272
Definition: gls_glo_file.h:900
unsigned char R(void) const 
Definition: gls_color.h:208
The disti::DynamicArray class. A templated array of objects capable of dynamically growing...
unsigned char B(void) const 
Definition: gls_color.h:214
Definition: gls_glo_file.h:77
The GlsMatrixAffine class. 
Definition: gls_glo_file.h:595
A file for all GL Studio files to include. 
Definition: gls_glo_file.h:982
Definition: gls_glo_file.h:941
Definition: gls_glo_file.h:539
Definition: gls_glo_file.h:81
static const unsigned int GLO_FILE_TIMESTAMP_SIZE
Definition: gls_glo_file.h:90
The disti::Vertex class. A class for manipulating 3D vertices. 
unsigned char G(void) const 
Definition: gls_color.h:211
Definition: gls_glo_file.h:750
Definition: gls_color.h:53
Definition: gls_glo_file.h:633
static const unsigned int GLO_SIZE_CACHING_LIMIT
Definition: gls_glo_file.h:754
The disti::DisplayFrame class. 
unsigned char A(void) const 
Definition: gls_color.h:217
Definition: bmpimage.h:46
static const int GlsGeometryResourceData_Version
Definition: gls_glo_file.h:553