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,
481 GLS_GLO_TEXT_BOX_RESIZE_MODE,
482 GLS_GLO_TEXT_BOX_MAX_WIDTH,
483 GLS_GLO_TEXT_BOX_MAX_HEIGHT,
486 GLS_GLO_CTL_TEXT_BOX_VERTICAL_ALIGNMENT,
487 GLS_GLO_CTL_TEXT_BOX_ELLIPSIZE_MODE,
488 GLS_GLO_CTL_TEXT_BOX_HORIZONTAL_SCALE,
489 GLS_GLO_CTL_TEXT_BOX_VERTICAL_SCALE,
490 GLS_GLO_CTL_TEXT_BOX_TEXT_DIRECTION,
491 GLS_GLO_CTL_TEXT_BOX_RESIZE_MODE,
492 GLS_GLO_CTL_TEXT_BOX_MAX_WIDTH,
493 GLS_GLO_CTL_TEXT_BOX_MAX_HEIGHT,
496 GLS_GLO_LINEAR_FLOAT_CONTROLLER_KEYARRAY,
499 GLS_GLO_MOVINGEYE_EMIT_EVENT,
500 GLS_GLO_MOVINGEYE_LOOK_AT_OBJECT,
501 GLS_GLO_MOVINGEYE_MAX_SPEED,
502 GLS_GLO_MOVINGEYE_MOVEMENT,
503 GLS_GLO_MOVINGEYE_ROUTE,
504 GLS_GLO_MOVINGEYE_DISABLE_HISTORY,
507 GLS_GLO_MIMIC_GROUP_MIMIC_ACTIVE,
508 GLS_GLO_MIMIC_GROUP_AUTO_REDRAW,
509 GLS_GLO_MIMIC_GROUP_BOTTOM_LEFT_CORNER,
510 GLS_GLO_MIMIC_GROUP_TOP_RIGHT_CORNER,
511 GLS_GLO_MIMIC_GROUP_SHOW_OUTLINE,
512 GLS_GLO_MIMIC_GROUP_TEXTURE_HEIGHT,
513 GLS_GLO_MIMIC_GROUP_TEXTURE_WIDTH,
514 GLS_GLO_MIMIC_GROUP_HAS_DEPTH_BUFFER,
515 GLS_GLO_MIMIC_GROUP_DEPTH_TEST,
516 GLS_GLO_MIMIC_GROUP_GENERATE_MIPMAPS,
517 GLS_GLO_MIMIC_GROUP_DRAW_MIMIC_POLYGON,
518 GLS_GLO_MIMIC_GROUP_ATTACHED_TEXTURE_INDEX,
519 GLS_GLO_MIMIC_GROUP_CLEAR_COLOR,
520 GLS_GLO_MIMIC_GROUP_USE_OPAQUE_TEXTURE,
522 GLS_GLO_TEXT_SHADOW_OFFSET
525 static const unsigned int MAX_STANDARD_ATTR_SIZE = 255;
526 static const unsigned int ATTR_SIZE_EXTENDED = 0;
534 unsigned int numObjects;
541 TEXTURE_PRESENT = 0x01,
542 MATERIAL_PRESENT = 0x02
547 unsigned int numberOfFaces;
549 unsigned int defaultMaterial;
550 unsigned char indexSize;
551 unsigned char textureSize;
552 unsigned char materialSize;
553 unsigned char componentsPresent;
563 unsigned int version;
564 unsigned int vertexSize;
565 unsigned int numberOfVertices;
566 unsigned int numberOfIndexBuffers;
568 unsigned char numberOfTextureCoords;
569 unsigned char numberOfVertexAttribs;
573 bool hasSecondaryColor;
574 bool hasTangentAttrib;
575 unsigned char tangentAttribIndex;
576 bool hasBinormalAttrib;
578 unsigned char binormalAttribIndex;
579 unsigned char padding1;
580 unsigned short padding2;
591 static const int GlsGeometryResourceMeshIndexBufEffects_Version = 2;
595 unsigned int version;
596 unsigned int effectCount;
603 unsigned int materialIndex;
604 unsigned int diffuseTextureIndex;
605 unsigned int normalTextureIndex;
606 unsigned int specularTextureIndex;
607 unsigned int reflectionTextureIndex;
612 float specularAmount;
613 float reflectionAmount;
615 bool useVertexColors;
616 bool normalMapFlipGreen;
617 unsigned short padding;
620 float diffuse_uOffset;
621 float diffuse_vOffset;
622 float diffuse_uTiling;
623 float diffuse_vTiling;
626 float normal_uOffset;
627 float normal_vOffset;
628 float normal_uTiling;
629 float normal_vTiling;
632 float specular_uOffset;
633 float specular_vOffset;
634 float specular_uTiling;
635 float specular_vTiling;
636 float specular_angle;
642 static const unsigned int MAX_STANDARD_ATTR_SIZE = 255;
644 static const unsigned int ATTR_SIZE_EXTENDED = 0;
647 Writer(
const std::string& filename,
const bool open,
const unsigned char* timestamp );
652 std::string Filename();
654 std::string BaseFilename();
656 inline unsigned char* Timestamp() {
return _header.timestamp; }
659 void OpenForWriting(
void );
661 void DefaultChecking(
bool val ) { _defaultChecking = val; }
664 void StartObjectRecord(
void );
667 void AddObjectAttribute(
const unsigned int enumeration,
const unsigned int size,
const void* data );
670 void AddBoolean(
const unsigned int enumerator,
const bool value );
671 void AddU8(
const unsigned int enumerator,
const unsigned char value );
672 void AddU16(
const unsigned int enumerator,
const unsigned short value );
673 void AddS16(
const unsigned int enumerator,
const short value );
674 void AddU32(
const unsigned int enumerator,
const unsigned int value );
675 void AddS32(
const unsigned int enumerator,
const int value );
676 void AddString(
const unsigned int enumerator,
const std::string& value );
677 void AddCString(
const unsigned int enumerator,
const char* value );
678 void AddFloat(
const unsigned int enumerator,
const float value );
679 void AddDouble(
const unsigned int enumerator,
const double value );
680 void AddVector(
const unsigned int enumerator,
const Vector& value );
681 void AddGlsColor(
const unsigned int enumerator,
const glsColor& value );
682 void AddMatrix(
const unsigned int enumerator,
const GlsMatrixAffineD& value );
683 void AddVertexArray(
const unsigned int enumerator,
const unsigned int nVertices,
const Vertex verts[] );
684 void AddVectorArray(
const unsigned int enumerator,
const unsigned int nVertices,
const Vector verts[] );
685 void AddFloatArray(
const unsigned int enumerator,
const unsigned int nVertices,
const float verts[] );
686 void AddDoubleArray(
const unsigned int enumerator,
const unsigned int nVertices,
const double verts[] );
687 void AddMaterialIndices(
const unsigned int enumerator,
DynamicArray<int>& values );
690 void AddVector2DArray(
const unsigned int enumerator,
const unsigned int nVertices,
const Vector verts[] );
693 unsigned int AddExtendedAttributeHeader(
unsigned int enumerator,
unsigned int size = 0 );
694 unsigned int AddAttributeHeader(
unsigned int enumerator,
unsigned char size = 0 );
697 void AddBoolean(
const unsigned int enumerator,
const bool value,
const bool defVal );
698 void AddU8(
const unsigned int enumerator,
const unsigned char value,
const unsigned char defVal );
699 void AddU16(
const unsigned int enumerator,
const unsigned short value,
const unsigned short defVal );
700 void AddS16(
const unsigned int enumerator,
const short value,
const short defVal );
701 void AddU32(
const unsigned int enumerator,
const unsigned int value,
const unsigned int defVal );
702 void AddS32(
const unsigned int enumerator,
const int value,
const int defVal );
703 void AddGlsColor(
const unsigned int enumerator,
const glsColor& value,
const glsColor& defVal );
704 void AddFloat(
const unsigned int enumerator,
const float value,
const float defVal );
705 void AddDouble(
const unsigned int enumerator,
const double value,
const double defVal );
709 void WriteU8(
const unsigned char val );
710 void WriteS8(
const char val );
711 void WriteU16(
const unsigned short val );
712 void WriteS16(
const short val );
713 void WriteU32(
const unsigned int val );
714 void WriteS32(
const int val );
715 void WriteFloat(
const float val );
716 void WriteDouble(
const double val );
717 void WriteGlsColor(
const glsColor& value );
721 void WriteU8(
const unsigned char val,
const unsigned int offset );
722 void WriteU32(
const unsigned int val,
const unsigned int offset );
725 void AddMatrix(
const unsigned int enumerator,
const GlsMatrixAffineD& value,
const bool checkForIdentity );
728 void EndObjectRecord();
737 std::string _filename;
740 bool _defaultChecking;
745 unsigned int _numObjects;
753 void WriteFileHeader();
763 Reader(
const std::string& filename,
const bool open );
769 bool OpenForReading(
void );
772 unsigned int GetNumberOfObjectRecords() {
return _header.numObjects; }
774 unsigned int GetGLStudioVersionMajor() {
return _header.glsMajor; }
775 unsigned int GetGLStudioVersionMinor() {
return _header.glsMinor; }
776 unsigned int GetGLStudioBuildNumber() {
return _header.glsBuild; }
778 unsigned char* GetTimestamp() {
return _header.timestamp; }
784 std::string GetString(
const unsigned int size )
786 std::string retval( _fileDataPointer );
787 _fileDataPointer += size;
794 memcpy( &data, _fileDataPointer,
sizeof(
bool ) );
795 _fileDataPointer +=
sizeof( bool );
802 memcpy( &data, _fileDataPointer,
sizeof(
char ) );
803 _fileDataPointer +=
sizeof( char );
807 unsigned char GetUnsignedByte()
809 unsigned char data = 0u;
810 memcpy( &data, _fileDataPointer,
sizeof(
unsigned char ) );
811 _fileDataPointer +=
sizeof(
unsigned char );
818 memcpy( &data, _fileDataPointer,
sizeof(
short ) );
819 _fileDataPointer +=
sizeof( short );
823 unsigned short GetUnsignedShort()
825 unsigned short data = 0u;
826 memcpy( &data, _fileDataPointer,
sizeof(
unsigned short ) );
827 _fileDataPointer +=
sizeof(
unsigned short );
834 memcpy( &data, _fileDataPointer,
sizeof(
int ) );
835 _fileDataPointer +=
sizeof( int );
839 unsigned int GetUnsignedInt()
841 unsigned int data = 0u;
842 memcpy( &data, _fileDataPointer,
sizeof(
unsigned int ) );
843 _fileDataPointer +=
sizeof(
unsigned int );
850 memcpy( &data, _fileDataPointer,
sizeof(
float ) );
851 _fileDataPointer +=
sizeof( float );
858 memcpy( &data, _fileDataPointer,
sizeof(
double ) );
859 _fileDataPointer +=
sizeof( double );
863 void GetBytes(
const unsigned int size,
char** data )
865 memcpy( *data, _fileDataPointer, size );
866 _fileDataPointer += size;
872 memcpy( &data, _fileDataPointer,
sizeof(
glsColor ) );
873 _fileDataPointer +=
sizeof(
glsColor );
877 DynamicArray<int> GetMaterialIndices()
879 unsigned int count = (
unsigned int)GetInt();
880 DynamicArray<int> materialIndices( count );
881 for(
unsigned int i = 0; i < count; i++ )
883 materialIndices.PushBack( GetInt() );
885 return materialIndices;
888 bool IsInitialized() {
return _initialized; }
890 const std::string& GetFilename() {
return _filename; }
893 std::string _filename;
896 unsigned int _numberOfObjectRecords;
897 unsigned int _glsMajor;
898 unsigned int _glsMinor;
899 unsigned int _glsBuild;
901 GloFileHeader _header;
903 const char* _fileDataPointer;
914 void Resize(
const unsigned int minimumSize );
917 void Enlarge(
const unsigned int incrementalSize );
920 unsigned char* Buffer();
927 void WriteData(
const void* data,
const unsigned int size );
931 void WriteData(
const void* data,
const unsigned int size,
const unsigned int offset );
938 unsigned int _current;
941 unsigned int _bufSize;
954 void SetNumAttributes(
const short numAttributes )
956 _numAttributes = numAttributes;
961 return ( _numAttributes > 0 );
968 short _numAttributes;
973 GLSGEN_GlsGloFile_EXPORT
GlsGloFile(
const std::string& filename,
const bool readMode =
true );
976 GLSGEN_GlsGloFile_EXPORT
void VerifyTimestamp(
const unsigned char* timestamp,
const char* className );
980 int _numObjectsRemaining;
985 std::string _filename;
1002 void SetEnumeration(
const unsigned int enumeration )
1004 _enumeration = enumeration;
1007 void SetSize(
const unsigned int size )
1013 unsigned int Enumeration()
1015 return _enumeration;
1022 std::string GetString()
1024 return _reader->GetString( _size );
1027 void GetVector(
Vector& rval )
1029 rval.x = _reader->GetFloat();
1030 rval.y = _reader->GetFloat();
1031 rval.z = _reader->GetFloat();
1033 void GetVertex(
Vertex& rval )
1035 rval.x = _reader->GetFloat();
1036 rval.y = _reader->GetFloat();
1037 rval.z = _reader->GetFloat();
1038 rval.color.
R( _reader->GetUnsignedByte() );
1039 rval.color.
G( _reader->GetUnsignedByte() );
1040 rval.color.
B( _reader->GetUnsignedByte() );
1041 rval.color.
A( _reader->GetUnsignedByte() );
1046 return _reader->GetColor();
1057 return _reader->GetBoolean();
1062 return _reader->GetByte();
1065 unsigned char GetUnsignedByte()
1067 return _reader->GetUnsignedByte();
1072 return _reader->GetShort();
1075 unsigned short GetUnsignedShort()
1077 return _reader->GetUnsignedShort();
1082 return _reader->GetInt();
1085 unsigned int GetUnsignedInt()
1087 return _reader->GetUnsignedInt();
1092 return _reader->GetFloat();
1097 return _reader->GetDouble();
1102 char* rval =
new char[ _size ];
1103 _reader->GetBytes( _size, &rval );
1109 return _reader->GetMaterialIndices();
1112 void GetBytes(
const unsigned int size,
void* data )
1114 _reader->GetBytes( size, (
char**)&data );
1119 unsigned int _enumeration;
1124 float SwapFloatToNet(
float val );
1125 double SwapDoubleToNet(
double val );
1126 unsigned int SwapLongToNet(
unsigned int val );
1127 unsigned int SwapSignedLongToNet(
int val );
1128 unsigned short SwapShortToNet(
unsigned short val );
1129 short SwapSignedShortToNet(
short val );
GlsColor glsColor
Alias for backwards compatibility.
Definition: gls_color.h:272
Definition: gls_glo_file.h:906
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:601
A file for all GL Studio files to include.
Definition: gls_glo_file.h:988
Definition: gls_glo_file.h:947
Definition: gls_glo_file.h:545
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:756
Definition: gls_color.h:53
Definition: gls_glo_file.h:639
static const unsigned int GLO_SIZE_CACHING_LIMIT
Definition: gls_glo_file.h:760
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:559