21 #if defined(OPENGL_X11) || defined(OPENGL_WINDOWS)
25 #include <OpenGL/gl.h>
30 #define GS_UNIT_SIZE 1000.
32 #define BETWEEN(x, a, b) (((x) > (a) && (x) < (b)) || ((x) > (b) && (x) < (a)))
33 #define GS_NEAR_EQUAL(x, y, ratio) ((x) == (y) || ((x) == 0.0? \
34 GS_BETWEEN((x), (y)+(y)*(ratio), (y)-(y)*(ratio)):\
35 GS_BETWEEN((y), (x)+(x)*(ratio), (x)-(x)*(ratio))))
46 #define MAX_ISOSURFS 12
50 #define MAX_VOL_SLICES 4
51 #define MAX_VOL_FILES 100
54 #define DM_GOURAUD 0x00000100
55 #define DM_FLAT 0x00000200
57 #define DM_FRINGE 0x00000010
59 #define DM_WIRE 0x00000001
60 #define DM_COL_WIRE 0x00000002
61 #define DM_POLY 0x00000004
62 #define DM_WIRE_POLY 0x00000008
64 #define DM_GRID_WIRE 0x00000400
65 #define DM_GRID_SURF 0x00000800
67 #define WC_COLOR_ATT 0xFF000000
69 #define IFLAG unsigned int
79 #define LEGAL_ATT(a) (a >= 0 && a < MAX_ATTS)
86 #define LEGAL_SRC(s) (s==NOTSET_ATT||s==MAP_ATT||s==CONST_ATT||s==FUNC_ATT)
98 #define ST_HISTOGRAM 10
113 #define LT_DISCRETE 0x00000100
114 #define LT_CONTINUOUS 0x00000200
116 #define LT_LIST 0x00000010
119 #define LT_RANGE_LOWSET 0x00000001
120 #define LT_RANGE_HISET 0x00000002
121 #define LT_RANGE_LOW_HI 0x00000003
122 #define LT_INVERTED 0x00000008
124 #define LT_SHOW_VALS 0x00001000
125 #define LT_SHOW_LABELS 0x00002000
128 #define VOL_FTYPE_RASTER3D 0
131 #define VOL_DTYPE_FLOAT 0
132 #define VOL_DTYPE_DOUBLE 1
146 #define CM_EMISSION 1
149 #define CM_SPECULAR 4
153 #define CM_WIRE CM_COLOR
155 #define NULL_COLOR 0xFFFFFF
158 #define GS_CHAR8 char
159 #define GS_SHORT16 short
170 #define LEGAL_TYPE(t) \
171 (t==ATTY_MASK || t==ATTY_FLOAT || t==ATTY_INT || t==ATTY_SHORT || t==ATTY_CHAR)
175 #define FUDGE(gs) ((gs->zmax_nz - gs->zmin_nz)/500.)
176 #define DOT3( a, b ) ( (a)[X]*(b)[X] + (a)[Y]*(b)[Y] + (a)[Z]*(b)[Z] )
179 #define CF_NOT_CHANGED 0x000000
180 #define CF_COLOR_PACKED 0x000001
181 #define CF_USR_CHANGED 0x000010
182 #define CF_CHARSCALED 0x000100
186 #define MASK_TL 0x10000000
187 #define MASK_TR 0x01000000
188 #define MASK_BR 0x00100000
189 #define MASK_BL 0x00010000
190 #define MASK_NPTS 0x00000007
194 #define OGSF_POLYGON 3
196 #define RED_MASK 0x000000FF
197 #define GRN_MASK 0x0000FF00
198 #define BLU_MASK 0x00FF0000
212 float (*tfunc) (float, int);
427 float x1, x2, y1, y2, z1, z2;
485 int twist,
fov, incl, look;
486 float real_to[4], vert_exag;
504 #define KF_FROMX_MASK 0x00000001
505 #define KF_FROMY_MASK 0x00000002
506 #define KF_FROMZ_MASK 0x00000004
507 #define KF_FROM_MASK 0x00000007
509 #define KF_DIRX_MASK 0x00000008
510 #define KF_DIRY_MASK 0x00000010
511 #define KF_DIRZ_MASK 0x00000020
512 #define KF_DIR_MASK 0x00000038
514 #define KF_FOV_MASK 0x00000040
515 #define KF_TWIST_MASK 0x00000080
517 #define KF_ALL_MASK 0x000000FF
519 #define KF_NUMFIELDS 8
521 #define KF_LINEAR 111
522 #define KF_SPLINE 222
523 #define KF_LEGAL_MODE(m) (m == KF_LINEAR || m == KF_SPLINE)
534 #define FM_VECT 0x00000001
535 #define FM_SITE 0x00000002
536 #define FM_PATH 0x00000004
537 #define FM_VOL 0x00000008
538 #define FM_LABEL 0x00000010
struct view_node Viewnode
struct g_vect_style_thematic gvstyle_thematic
struct g_vect_style gvstyle
int drape_surf_id[MAX_SURFS]
gvstyle_thematic * tstyle
struct g_vect_style * next
gvstyle_thematic * tstyle
int drape_surf_id[MAX_SURFS]
geovol_slice * slice[MAX_SLICES]
geovol_isosurf * isosurf[MAX_ISOSURFS]
float fields[KF_NUMFIELDS]
float fields[KF_NUMFIELDS]