root/OpenSceneGraph/trunk/src/osgPlugins/geo/geoTypes.h @ 13041

Revision 13041, 19.8 kB (checked in by robert, 2 years ago)

Ran script to remove trailing spaces and tabs

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
Line 
1/*===========================================================================*\
2
3NAME:                   geoTypes.h
4
5DESCRIPTION:    Constants fro Node types etc.
6
7AUTHOR:                 Andy Bushnell
8
9        -------------------------------------------------------------------------
10
11PROPRIETARY RIGHTS NOTICE:
12
13  This software contains proprietary information and trade secrets of Carbon
14  Graphics LLC. No part or all of this software may be reproduced in any form,
15  without the written permission of Carbon Graphics LLC.
16
17  Exception:
18  This Software file can be used by third-party software developers (without
19  using the Geo SDK libraries) for any purpose OTHER THAN loading Geo format
20  files into an application or executable (such as, though not limited to,
21  geometry Modelers & animation systems) which is primarily intended to allow for
22  the CREATION or MODIFICATION of geometric or animation data.
23
24  Specifically,using this software (either all or part thereof) to aid in the
25  creation of a Geo format loader for a run-time system, game engine, toolkit
26  IG (Image Generation) System or any software where the PRIMARY purpose is
27  real-time image playback and interactivity and not Model Creation and/or
28  modification is permitted.
29
30COPYRIGHT NOTICE:
31
32  Copyright © 1998-2001 Carbon Graphics Llc, ALL RIGHTS RESERVED
33
34\*===========================================================================*/
35
36
37
38#ifndef _GEO_TYPES_H_
39#define _GEO_TYPES_H_
40
41
42
43#ifndef uint
44#define uint            unsigned int
45#endif
46
47#ifndef ushort
48#define ushort          unsigned short
49#endif
50
51#ifndef ubyte
52#define ubyte           unsigned char
53#endif
54
55
56
57
58/**
59 * constants to identify the plugin type
60 */
61const uint GEO_PLUGIN_TYPE_UNDEFINED                    = 1;
62const uint GEO_PLUGIN_TYPE_GEOMETRY_IMPORTER    = 2;
63const uint GEO_PLUGIN_TYPE_GEOMETRY_EXPORTER    = 3;
64const uint GEO_PLUGIN_TYPE_IMAGE_IMPORTER               = 4;
65const uint GEO_PLUGIN_TYPE_TOOL                                 = 5;
66const uint GEO_PLUGIN_TYPE_BEHAVIOR                             = 6;
67const uint GEO_PLUGIN_TYPE_GROUP_NODE_DEF               = 7;
68const uint GEO_PLUGIN_TYPE_SURFACE_NODE_DEF             = 8;
69const uint GEO_PLUGIN_TYPE_TASK                                 = 9;
70const uint GEO_PLUGIN_TYPE_LAST                                 = GEO_PLUGIN_TYPE_TASK;
71
72
73
74
75/** put nowhere */
76const uint GEO_TOOL_TYPE_NONE                                   = 0;
77
78/** user tool constant - put in favorites menu & toolbar */
79const uint GEO_TOOL_TYPE_USER                                   = 1;
80
81/** create tool constant - put in create menu & toolbar */
82const uint GEO_TOOL_TYPE_CREATE                                 = 2;
83
84/** modify tool constant - put in modify menu & toolbar */
85const uint GEO_TOOL_TYPE_MODIFY                                 = 3;
86
87/** helper point tool constant - put in helpers menu & toolbar */
88const uint GEO_TOOL_TYPE_HELPER_PT                              = 4;
89
90/** appearance tool constant - put in plugins menu & toolbar */
91const uint GEO_TOOL_TYPE_APPEARANCE                             = 5;
92
93/** behavior tool constant - put in plugins menu & toolbar */
94const uint GEO_TOOL_TYPE_BEHAVIOR                               = 6;
95
96/** optimize tool constant - put in plugins menu & toolbar */
97const uint GEO_TOOL_TYPE_OPTIMIZE                               = 7;
98
99/** scenegraph tool constant - put in scenegraph menu & toolbar */
100const uint GEO_TOOL_TYPE_SCENEGRAPH                             = 8;
101
102const uint GEO_TOOL_TYPE_FILE                                   = 9;
103
104const uint GEO_TOOL_TYPE_EDIT                                   = 10;
105
106const uint GEO_TOOL_TYPE_VIEW                                   = 11;
107
108const uint GEO_TOOL_TYPE_LOD                                    = 12;
109
110const uint GEO_TOOL_TYPE_SELECT                                 = 13;
111
112const uint GEO_TOOL_TYPE_GRID                                   = 14;
113
114/** convenience constant */
115const uint GEO_TOOL_TYPE_LAST                                   = GEO_TOOL_TYPE_GRID;
116
117
118
119/**
120 *  Node Type identifiers. These tokens encode the Node's inheritance
121 *  information within the type
122 *
123 *  The GEO Node Type Class Hierarchy is as follows...
124 *
125 *      GEO_DB_BASE
126 *                      GEO_DB_GROUP
127 *                                      GEO_DB_SEQUENCE
128 *                                      GEO_DB_LOD
129 *                                      GEO_DB_SWITCH
130 *                                      GEO_DB_BASE_GROUP
131 *                                      GEO_DB_RENDERGROUP
132 *                                                      GEO_DB_MULTI_TEX_SHADER
133 *                                                      GEO_DB_BASE_RENDERGROUP (*)
134 *                                      GEO_DB_EXTERNAL
135 *                                      GEO_DB_INSTANCE
136 *                                      GEO_DB_PAGE
137 *                                      GEO_DB_CULL_GROUP
138 *                                      GEO_DB_Z_OFFSET_GROUP
139 *                                      GEO_DB_MULTI_SAMPLE_AA_GROUP
140 *                                      GEO_DB_LINE_AA_GROUP
141 *                                      GEO_DB_FADE_GROUP
142 *                                      GEO_DB_TERRAIN
143 *                                      GEO_DB_BSP
144 *                                      GEO_DB_DECAL_GROUP
145 *                                      GEO_DB_LIGHT_GROUP
146 *                                      GEO_DB_DCS
147 *                      GEO_DB_GEOMETRY
148 *                                      GEO_DB_SURFACE
149 *                                                      GEO_DB_POLYGON
150 *                                                                      GEO_DB_LIGHTPT
151 *                                                                      GEO_DB_MESH
152 *                                                      GEO_DB_BASE_SURFACE (*)
153 *                                      GEO_DB_TEXT
154 *                                      GEO_DB_VERTEX
155 *                                              GEO_DB_FAT_VERTEX
156 *                                              GEO_DB_SLIM_VERTEX
157 *                      GEO_DB_HEADER
158 *
159 * (*) Not available in Geo Version 1.0
160 */
161
162
163//--------------------------------------------------------------------
164// Geo Node type Identifiers
165//--------------------------------------------------------------------
166//
167const uint GEO_DB_BASE                                  =  0x00000003;
168const uint GEO_DB_GROUP                                 = (0x00000004 | GEO_DB_BASE);
169const uint GEO_DB_TERRAIN                               = (0x00000008 | GEO_DB_GROUP);
170//------------
171const uint GEO_DB_SEQUENCE                              = (0x00000010 | GEO_DB_GROUP);
172const uint GEO_DB_LOD                                   = (0x00000020 | GEO_DB_GROUP);
173const uint GEO_DB_SWITCH                                = (0x00000040 | GEO_DB_GROUP);
174const uint GEO_DB_RENDERGROUP                   = (0x00000080 | GEO_DB_GROUP);
175//------------
176const uint GEO_DB_GEOMETRY                              = (0x00000100 | GEO_DB_BASE);
177const uint GEO_DB_SURFACE                               = (0x00000200 | GEO_DB_GEOMETRY);
178const uint GEO_DB_BSP                                   = (0x00000400 | GEO_DB_GROUP);
179const uint GEO_DB_POLYGON                               = (0x00000800 | GEO_DB_SURFACE);
180//------------
181const uint GEO_DB_MESH                                  = (0x00001000 | GEO_DB_POLYGON);
182const uint GEO_DB_CULL_GROUP                    = (0x00002000 | GEO_DB_GROUP);
183const uint GEO_DB_MULTI_TEX_SHADER              = (0x00004000 | GEO_DB_RENDERGROUP);
184const uint GEO_DB_PAGE                                  = (0x00008000 | GEO_DB_GROUP);
185//------------
186const uint GEO_DB_Z_OFFSET_GROUP                = (0x00010000 | GEO_DB_GROUP);
187const uint GEO_DB_MULTI_SAMPLE_AA_GROUP = (0x00020000 | GEO_DB_GROUP);
188const uint GEO_DB_TEXT                                  = (0x00040000 | GEO_DB_GEOMETRY);
189const uint GEO_DB_VERTEX                                = (0x00080000 | GEO_DB_GEOMETRY);
190//------------
191const uint GEO_DB_HEADER                                = (0x00100000 | GEO_DB_BASE);
192const uint GEO_DB_LINE_AA_GROUP                 = (0x00200000 | GEO_DB_GROUP);
193const uint GEO_DB_BASE_GROUP                    = (0x00400000 | GEO_DB_GROUP);
194const uint GEO_DB_BASE_SURFACE                  = (0x00800000 | GEO_DB_SURFACE);
195//------------
196const uint GEO_DB_EXTERNAL                              = (0x01000000 | GEO_DB_GROUP);
197const uint GEO_DB_BASE_RENDERGROUP              = (0x02000000 | GEO_DB_RENDERGROUP);
198const uint GEO_DB_INSTANCE                              = (0x04000000 | GEO_DB_GROUP);
199const uint GEO_DB_LIGHTPT                               = (0x08000000 | GEO_DB_POLYGON);
200//------------
201const uint GEO_DB_FADE_GROUP                    = (0x10000000 | GEO_DB_GROUP);
202const uint GEO_DB_DECAL_GROUP                   = (0x20000000 | GEO_DB_GROUP);
203const uint GEO_DB_LIGHT_GROUP                   = (0x40000000 | GEO_DB_GROUP);
204const uint GEO_DB_FAT_VERTEX                    = (0x80000000 | GEO_DB_VERTEX);
205//------------
206
207//--------------------------------------------------------------------
208// Geo Extended Node type Identifiers
209//--------------------------------------------------------------------
210const uint GEO_DB_SLIM_VERTEX                   = (0x00000010 | GEO_DB_VERTEX);
211const uint GEO_DB_DCS                                   = (0x00001000 | GEO_DB_GROUP);
212
213
214
215
216// older version types for Compatability & convenience
217//
218const uint GEO_DB_ALL                                   = GEO_DB_BASE;
219const uint GEO_DB_ALL_GROUP_TYPES               = GEO_DB_GROUP;
220const uint GEO_DB_ALL_GEOMETRY_TYPES    = GEO_DB_GEOMETRY;
221const uint GEO_DB_ALL_SURFACE_TYPES             = GEO_DB_SURFACE;
222
223
224
225
226///////////////////////////////////////////////////////////////////////////////
227/** constants to identify the type of picking to be done */
228const uint GEO_PICK_GROUP                               = 0x00000001;
229const uint GEO_PICK_PRIM                                = 0x00000002;
230const uint GEO_PICK_VERTEX                              = 0x00000004;
231const uint GEO_PICK_GRID                                = 0x00000010;
232const uint GEO_PICK_NON_NODE                    = 0x00000020;   // manipulators, user geometry etc.
233const uint GEO_PICK_EXTERNAL                    = 0x00000040;
234const uint GEO_PICK_TEXT                                = 0x00000080;
235
236
237
238
239///////////////////////////////////////////////////////////////////////////////
240/** constants to identify mouse button usage */
241const uint GEO_NO_MOUSE                                 = 0x00000000;
242const uint GEO_LEFT_MOUSE                               = 0x00000001;
243const uint GEO_MIDDLE_MOUSE                             = 0x00000002;
244const uint GEO_RIGHT_MOUSE                              = 0x00000004;
245const uint GEO_LEFT_AND_RIGHT_MOUSE             = 0x00000008;
246const uint GEO_MIDDLE_AND_RIGHT_MOUSE   = 0x00000010;
247
248
249///////////////////////////////////////////////////////////////////
250// PROPERTY TYPES
251///////////////////////////////////////////////////////////////////
252
253// Identifiers for Geo data types - Used in geoProperty & geoPropertyExtension Classes
254const unsigned char GEO_DB_DATATYPE_STRING                                      = 1;
255const unsigned char GEO_DB_DATATYPE_SHORT                                       = 2;
256const unsigned char GEO_DB_DATATYPE_INT                                         = 3;
257const unsigned char GEO_DB_DATATYPE_FLOAT                                       = 4;
258const unsigned char GEO_DB_DATATYPE_LONG                                        = 5;
259const unsigned char GEO_DB_DATATYPE_DOUBLE                                      = 6;
260const unsigned char GEO_DB_DATATYPE_VEC3F                                       = 8;
261const unsigned char GEO_DB_DATATYPE_VEC4F                                       = 9;
262const unsigned char GEO_DB_DATATYPE_BOOL                                        = 28;
263
264///////////////////////////////////////////////////////////////////
265// VARIABLE TYPES
266///////////////////////////////////////////////////////////////////
267
268const uint GEO_VAR_TYPE_FLOAT                                                           = 1;
269const uint GEO_VAR_TYPE_INT                                                                     = 2;
270const uint GEO_VAR_TYPE_LONG                                                            = 3;
271const uint GEO_VAR_TYPE_DOUBLE                                                          = 4;
272const uint GEO_VAR_TYPE_BOOL                                                            = 5;
273const uint GEO_VAR_TYPE_2FV                                                                     = 6;
274const uint GEO_VAR_TYPE_3FV                                                                     = 7;
275const uint GEO_VAR_TYPE_4FV                                                                     = 8;
276const uint GEO_VAR_TYPE_STRING                                                          = 9;
277const uint GEO_VAR_TYPE_2IV                                                                     = 10;
278const uint GEO_VAR_TYPE_3IV                                                                     = 11;
279const uint GEO_VAR_TYPE_4IV                                                                     = 12;
280const uint GEO_VAR_TYPE_16FV                                                            = 13;
281const uint GEO_VAR_TYPE_2BV                                                                     = 14;
282const uint GEO_VAR_TYPE_3BV                                                                     = 15;
283const uint GEO_VAR_TYPE_4BV                                                                     = 16;
284const uint GEO_VAR_TYPE_SAMPLER_1D                                                      = 17;
285const uint GEO_VAR_TYPE_SAMPLER_2D                                                      = 18;
286const uint GEO_VAR_TYPE_SAMPLER_3D                                                      = 19;
287const uint GEO_VAR_TYPE_SAMPLER_CUBE                                            = 20;
288const uint GEO_VAR_TYPE_SAMPLER_1D_SHADOW                                       = 21;
289const uint GEO_VAR_TYPE_SAMPLER_2D_SHADOW                                       = 22;
290
291
292
293///////////////////////////////////////////////////////////////////
294// TRANSFORM TYPES
295///////////////////////////////////////////////////////////////////
296
297const uint GEO_TRANSFORM_TYPE_TRANSLATE = 1;
298const uint GEO_TRANSFORM_TYPE_ROTATE    = 2;
299const uint GEO_TRANSFORM_TYPE_SCALE             = 3;
300const uint GEO_TRANSFORM_TYPE_MATRIX    = 4;
301
302
303
304///////////////////////////////////////////////////////////////////////////////
305/** Predefined model unit identifier. database model units can be modified
306 *  via set/getUnits
307 */
308const uint GEO_DB_INCHES                                = 1;
309const uint GEO_DB_FEET                                  = 2;
310const uint GEO_DB_YARDS                                 = 3;
311const uint GEO_DB_MILES                                 = 4;
312const uint GEO_DB_CENTIMETERS                   = 5;
313const uint GEO_DB_METERS                                = 6;
314const uint GEO_DB_KILOMETERS                    = 7;
315
316
317
318
319///////////////////////////////////////////////////////////////////////////////
320/** Constants to define the modeler's intended "up" direction if that
321 *  makes any sense
322 */
323
324const int GEO_DB_UP_AXIS_X                              = 1;
325const int GEO_DB_UP_AXIS_Y                              = 2; // the default
326const int GEO_DB_UP_AXIS_Z                              = 3;
327
328
329const short GEO_DB_PROJ_TYPE_FLAT_EARTH         = 0;
330const short GEO_DB_PROJ_TYPE_TRAPEZOIDAL        = 1;
331const short GEO_DB_PROJ_TYPE_ROUND_EARTH        = 2;
332const short GEO_DB_PROJ_TYPE_LAMBERT            = 3;
333const short GEO_DB_PROJ_TYPE_UTM                        = 4;
334const short GEO_DB_PROJ_TYPE_GEODETIC           = 5;
335const short GEO_DB_PROJ_TYPE_GEOCENTRIC         = 6;
336const short GEO_DB_PROJ_TYPE_LAST                       = GEO_DB_PROJ_TYPE_GEOCENTRIC;
337
338
339
340
341///////////////////////////////////////////////////////////////////////////////
342// DB_HDR_ELLIPSOID - defines
343// Constants to define the ellipsoid model used for the projection
344//
345const short GEO_DB_ELLIPSOID_USER_DEFINED       = -1;
346const short GEO_DB_ELLIPSOID_WGS_1984           = 0;
347const short GEO_DB_ELLIPSOID_WGS_1972           = 1;
348const short GEO_DB_ELLIPSOID_BESSEL                     = 2;
349const short GEO_DB_ELLIPSOID_CLARKE_1866        = 3;
350const short GEO_DB_ELLIPSOID_NAD_1927           = 4;
351const short GEO_DB_ELLIPSOID_LAST                       = GEO_DB_ELLIPSOID_NAD_1927;
352
353
354
355
356///////////////////////////////////////////////////////////////////////////////
357/** Constants to control the drawing effect
358 *
359 *  Constants to control the drawing of geometry primitives - usefull if user
360 *  wants to call standard draw method in a tool postDraw callback
361 */
362const uint GEO_DB_SOLID                                 =  0x00000001;
363const uint GEO_DB_WIRE                                  =  0x00000002;
364const uint GEO_DB_OUTLINED                              =  (GEO_DB_SOLID | GEO_DB_WIRE);
365const uint GEO_DB_WIRE_ON_MOVE                  =  0x00000004;
366const uint GEO_DB_DETEXTURE_ON_MOVE             =  0x00000008;
367const uint GEO_DB_PROXY_ON_MOVE                 =  0x00000010;
368
369const uint GEO_DB_SHRINK                                =  0x00000080;
370
371const uint GEO_DB_ZBUFFER                               =  0x00000100;
372const uint GEO_DB_BBOX_HIGHLIGHT                =  0x00000200;
373const uint GEO_DB_BACKFACE                              =  0x00000400;
374const uint GEO_DB_SELECTIVE_CULLFACE    =  0x00000800;
375
376
377const uint GEO_DB_DRAW_FACE_NORMALS             =  0x00001000;
378const uint GEO_DB_DRAW_VERTEX_NORMALS   =  0x00002000;
379const uint GEO_DB_SELECTIVE_BLENDING    =  0x00008000;
380
381const uint GEO_DB_TEXTURE                               =  0x00010000;
382const uint GEO_DB_HIGHLIGHT                             =  0x00020000;
383const uint GEO_DB_USE_VERTEX_ARRAYS             =  0x00040000;
384const uint GEO_DB_REBUILD_VERTEX_ARRAYS =  0x00080000;
385
386const uint GEO_DB_SELECTIVE_SHADING             =  0x00100000;
387const uint GEO_DB_DRAW_SIMPLE                   =  0x00200000;
388
389const uint GEO_DB_ILLUMINATED                   =  0x01000000;
390const uint GEO_DB_NORMAL_PER_PRIM               =  0x04000000;
391const uint GEO_DB_NORMAL_PER_VERTEX             =  0x08000000;
392
393const uint GEO_DB_COLOR_PER_GEODE               =  0x10000000;
394const uint GEO_DB_COLOR_PER_PRIM                =  0x20000000;
395const uint GEO_DB_COLOR_PER_VERTEX              =  0x40000000;
396
397const uint GEO_DB_SELECTIVE_ZBUFFER             =  0x80000000;
398
399
400
401
402
403///////////////////////////////////////////////////////////////////////////////
404/** constants to identify the different Group types
405*/
406const uint GEO_GROUP_TYPE_CONTAINER                             = 1;
407const uint GEO_GROUP_TYPE_CULL                                  = 2;
408const uint GEO_GROUP_TYPE_Z_OFFSET                              = 3;
409const uint GEO_GROUP_TYPE_MULTI_SAMPLE_AA               = 4;
410const uint GEO_GROUP_TYPE_LINE_AA                               = 5;
411const uint GEO_GROUP_TYPE_FADE                                  = 6;
412const uint GEO_GROUP_TYPE_TERRAIN                               = 7;
413const uint GEO_GROUP_TYPE_DECAL                                 = 8;
414
415
416///////////////////////////////////////////////////////////////////////////////
417/** Constants to control the display of a Group based on time-of-day
418*
419*/
420const uint GEO_DB_GROUP_TOD_DISPLAY_NIGHT               = 0x00000001;
421const uint GEO_DB_GROUP_TOD_DISPLAY_DAWN                = 0x00000002;
422const uint GEO_DB_GROUP_TOD_DISPLAY_DAY                 = 0x00000004;
423const uint GEO_DB_GROUP_TOD_DISPLAY_DUSK                = 0x00000008;
424
425
426
427
428///////////////////////////////////////////////////////////////////////////////
429/** Constants to control the intersection testing of this Group at runtime
430*
431*/
432const uint GEO_DB_GROUP_ISECT_IG_DEFINED                = 0;
433const uint GEO_DB_GROUP_ISECT_YES                               = 1;
434const uint GEO_DB_GROUP_ISECT_NO                                = 2;
435
436
437
438
439///////////////////////////////////////////////////////////////////////////////
440/** Constants to control the switch Node behavior
441 *
442 *  Switch Nodes can either be addative (in which case the
443 *  accumulate drawable children) or selective (in which case
444 *  the determine which of their children should be drawn).
445 *
446 *  Selctive control is not implemented.
447 */
448const uint GEO_SWITCH_TYPE_ADDATIVE             =  1;
449const uint GEO_SWITCH_TYPE_SELECTIVE    =  2;
450
451
452
453
454
455///////////////////////////////////////////////////////////////////////////////
456/** Constants to identify special behavior int ZOffset GRoups
457 */
458const uint GEO_DB_ZOFFSET_GROUP_TYPE_UNDEFINED          = 0;
459const uint GEO_DB_ZOFFSET_GROUP_TYPE_RUNWAY                     = 1;
460const uint GEO_DB_ZOFFSET_GROUP_TYPE_MARKINGS           = 2;
461
462
463
464///////////////////////////////////////////////////////////////////////////////
465/** Constants to control the Light Group behavior
466*
467*  Light Groups are Groups with the Light-Group flag set. Any Light pt children
468*  are effected by these settings
469*/
470const uint GEO_LIGHT_GROUP_ANIM_OFF     =  0;
471const uint GEO_LIGHT_GROUP_ANIM_ON      =  1;
472const uint GEO_LIGHT_GROUP_ANIM_RANDOM  =  2;
473
474
475///////////////////////////////////////////////////////////////////////////////
476/** Constants that specify the type of Light Group
477*
478*  FIXED is for airfields etc.
479*  MOVING is for aircraft/ships etc.
480*/
481const uint GEO_LIGHT_GROUP_TYPE_FIXED   =  0;
482const uint GEO_LIGHT_GROUP_TYPE_MOVING  =  1;
483
484
485///////////////////////////////////////////////////////////////////////////////
486/** Type Tokens for Node & Tool Gui Widgets
487*/
488const int GUI_FLOAT             = 1;
489const int GUI_INT               = 2;
490const int GUI_STRING    = 3;
491
492
493///////////////////////////////////////////////////////////////////////////////
494/** geoWidget Typedef - Used by Node & Tool Gui Widgets
495*/
496typedef void geoWidget;
497
498
499///////////////////////////////////////////////////////////////////////////////
500/** Animated String padding tokens */
501const int GEO_TEXT_PAD_NONE                             = 0;
502const int GEO_TEXT_PAD_WITH_SPACES              = 1;
503const int GEO_TEXT_PAD_WITH_ZEROES              = 2;
504
505
506///////////////////////////////////////////////////////////////////////////////
507// Polygon draw style types
508//
509const int GEO_POLY_DSTYLE_SOLID                         = 0;
510const int GEO_POLY_DSTYLE_OPEN_WIRE                     = 1;
511const int GEO_POLY_DSTYLE_CLOSED_WIRE           = 2;
512const int GEO_POLY_DSTYLE_POINTS                        = 3;
513const int GEO_POLY_DSTYLE_SOLID_BOTH_SIDES      = 4;
514
515
516
517///////////////////////////////////////////////////////////////////////////////
518// Polygon shade style types
519//
520
521const int GEO_POLY_SHADEMODEL_FLAT                      = 0;
522const int GEO_POLY_SHADEMODEL_GOURAUD           = 1;
523const int GEO_POLY_SHADEMODEL_LIT                       = 2;
524const int GEO_POLY_SHADEMODEL_LIT_GOURAUD       = 3;
525
526
527///////////////////////////////////////////////////////////////////////////////
528// Texture Mapping types
529//
530
531const int GEO_POLY_PLANAR_MAP                           = 0;
532const int GEO_POLY_CYLINDRICAL_MAP                      = 1;
533const int GEO_POLY_SPHERICAL_MAP                        = 2;
534
535
536
537///////////////////////////////////////////////////////////////////////////////
538// Texture Unit Functions - used in Polys, meshes & multi-tex shaders
539//
540
541const int GEO_DB_TEXTURE_UNIT_FUNC_AS_DEFINED   = 0;
542const int GEO_DB_TEXTURE_UNIT_FUNC_MODULATE             = 1;
543const int GEO_DB_TEXTURE_UNIT_FUNC_DECAL                = 2;
544const int GEO_DB_TEXTURE_UNIT_FUNC_BLEND                = 3;
545const int GEO_DB_TEXTURE_UNIT_FUNC_REPLACE              = 4;
546const int GEO_DB_TEXTURE_UNIT_FUNC_COMBINE              = 5;
547
548
549
550///////////////////////////////////////////////////////////////////////////////
551// STring type constants
552//
553const int GEO_TEXT_RASTER                       = 0;
554const int GEO_TEXT_STROKE                       = 1;
555const int GEO_TEXT_POLY                         = 2;
556
557///////////////////////////////////////////////////////////////////////////////
558// Justification constants
559//
560const int GEO_TEXT_LEFT_JUSTIFY         = 0;
561const int GEO_TEXT_CENTER_JUSTIFY       = 1;
562const int GEO_TEXT_RIGHT_JUSTIFY        = 2;
563
564///////////////////////////////////////////////////////////////////////////////
565// Direction constants
566//
567const int GEO_TEXT_LEFT_TO_RIGHT        = 0;
568const int GEO_TEXT_RIGHT_TO_LEFT        = 1;
569const int GEO_TEXT_TOP_TO_BOTTOM        = 2;
570const int GEO_TEXT_BOTTOM_TO_TOP        = 3;
571
572
573
574///////////////////////////////////////////////////////////////////////////////
575// LightPoint Type constants
576//
577const int GEO_DB_LIGHTPT_OMNI_DIRECTIONAL       = 0;
578const int GEO_DB_LIGHTPT_UNI_DIRECTIONAL        = 1;
579const int GEO_DB_LIGHTPT_BI_DIRECTIONAL         = 2;
580
581
582///////////////////////////////////////////////////////////////////////////////
583// Texture Record Wrap S & T Modes
584const unsigned GEO_DB_TEX_CLAMP                                 =  0x00000001;
585const unsigned GEO_DB_TEX_REPEAT                                =  0x00000002;
586
587
588///////////////////////////////////////////////////////////////////////////////
589// Texture Record MagFilter
590const unsigned GEO_DB_TEX_NEAREST                               = 0x00000001;
591const unsigned GEO_DB_TEX_LINEAR                                = 0x00000002;
592
593
594///////////////////////////////////////////////////////////////////////////////
595// Texture Record MinFilter
596const unsigned GEO_DB_TEX_NEAREST_MIPMAP_NEAREST = 0x00000004;
597const unsigned GEO_DB_TEX_LINEAR_MIPMAP_NEAREST  = 0x00000008;
598const unsigned GEO_DB_TEX_NEAREST_MIPMAP_LINEAR  = 0x00000010;
599const unsigned GEO_DB_TEX_LINEAR_MIPMAP_LINEAR   = 0x00000020;
600
601
602///////////////////////////////////////////////////////////////////////////////
603// Texture Record TexEnv
604const unsigned GEO_DB_TEX_MODULATE                              = 0x00000001;
605const unsigned GEO_DB_TEX_DECAL                                 = 0x00000002;
606const unsigned GEO_DB_TEX_BLEND                                 = 0x00000004;
607const unsigned GEO_DB_TEX_REPLACE                               = 0x00000008;
608
609
610///////////////////////////////////////////////////////////////////////////////
611// Header Vertex Table Usage
612const unsigned GEO_DB_USES_PRIVATE_DATA                 = 0x00000000;
613const unsigned GEO_DB_USES_SHARED_TABLE_DATA    = 0x00000001;
614const unsigned GEO_DB_USES_UNSHARED_TABLE_DATA  = 0x00000002;
615
616
617#endif //_GEO_TYPES_H_
Note: See TracBrowser for help on using the browser.