22 #if defined(OPENGL_X11) || defined(OPENGL_WINDOWS)
26 #include <OpenGL/gl.h>
31 #define GS_UNIT_SIZE 1000.
33 #define BETWEEN(x, a, b) (((x) > (a) && (x) < (b)) || ((x) > (b) && (x) < (a)))
34 #define GS_NEAR_EQUAL(x, y, ratio) \
36 ((x) == 0.0 ? GS_BETWEEN((x), (y) + (y) * (ratio), (y) - (y) * (ratio)) \
37 : GS_BETWEEN((y), (x) + (x) * (ratio), (x) - (x) * (ratio))))
48 #define MAX_ISOSURFS 12
52 #define MAX_VOL_SLICES 4
53 #define MAX_VOL_FILES 100
56 #define DM_GOURAUD 0x00000100
57 #define DM_FLAT 0x00000200
59 #define DM_FRINGE 0x00000010
61 #define DM_WIRE 0x00000001
62 #define DM_COL_WIRE 0x00000002
63 #define DM_POLY 0x00000004
64 #define DM_WIRE_POLY 0x00000008
66 #define DM_GRID_WIRE 0x00000400
67 #define DM_GRID_SURF 0x00000800
69 #define WC_COLOR_ATT 0xFF000000
71 #define IFLAG unsigned int
81 #define LEGAL_ATT(a) (a >= 0 && a < MAX_ATTS)
88 #define LEGAL_SRC(s) \
89 (s == NOTSET_ATT || s == MAP_ATT || s == CONST_ATT || s == FUNC_ATT)
101 #define ST_HISTOGRAM 10
116 #define LT_DISCRETE 0x00000100
117 #define LT_CONTINUOUS 0x00000200
119 #define LT_LIST 0x00000010
122 #define LT_RANGE_LOWSET 0x00000001
123 #define LT_RANGE_HISET 0x00000002
124 #define LT_RANGE_LOW_HI 0x00000003
125 #define LT_INVERTED 0x00000008
127 #define LT_SHOW_VALS 0x00001000
128 #define LT_SHOW_LABELS 0x00002000
131 #define VOL_FTYPE_RASTER3D 0
134 #define VOL_DTYPE_FLOAT 0
135 #define VOL_DTYPE_DOUBLE 1
149 #define CM_EMISSION 1
152 #define CM_SPECULAR 4
156 #define CM_WIRE CM_COLOR
158 #define NULL_COLOR 0xFFFFFF
161 #define GS_CHAR8 char
162 #define GS_SHORT16 short
173 #define LEGAL_TYPE(t) \
174 (t == ATTY_MASK || t == ATTY_FLOAT || t == ATTY_INT || t == ATTY_SHORT || \
179 #define FUDGE(gs) ((gs->zmax_nz - gs->zmin_nz) / 500.)
180 #define DOT3(a, b) ((a)[X] * (b)[X] + (a)[Y] * (b)[Y] + (a)[Z] * (b)[Z])
183 #define CF_NOT_CHANGED 0x000000
184 #define CF_COLOR_PACKED 0x000001
185 #define CF_USR_CHANGED 0x000010
186 #define CF_CHARSCALED 0x000100
190 #define MASK_TL 0x10000000
191 #define MASK_TR 0x01000000
192 #define MASK_BR 0x00100000
193 #define MASK_BL 0x00010000
194 #define MASK_NPTS 0x00000007
198 #define OGSF_POLYGON 3
200 #define RED_MASK 0x000000FF
201 #define GRN_MASK 0x0000FF00
202 #define BLU_MASK 0x00FF0000
215 float (*tfunc)(float, int);
249 int (*user_func)(void);
402 int (*user_func)(void);
419 float x1, x2, y1, y2, z1, z2;
473 int twist,
fov, incl, look;
474 float real_to[4], vert_exag;
491 #define KF_FROMX_MASK 0x00000001
492 #define KF_FROMY_MASK 0x00000002
493 #define KF_FROMZ_MASK 0x00000004
494 #define KF_FROM_MASK 0x00000007
496 #define KF_DIRX_MASK 0x00000008
497 #define KF_DIRY_MASK 0x00000010
498 #define KF_DIRZ_MASK 0x00000020
499 #define KF_DIR_MASK 0x00000038
501 #define KF_FOV_MASK 0x00000040
502 #define KF_TWIST_MASK 0x00000080
504 #define KF_ALL_MASK 0x000000FF
506 #define KF_NUMFIELDS 8
508 #define KF_LINEAR 111
509 #define KF_SPLINE 222
510 #define KF_LEGAL_MODE(m) (m == KF_LINEAR || m == KF_SPLINE)
521 #define FM_VECT 0x00000001
522 #define FM_SITE 0x00000002
523 #define FM_PATH 0x00000004
524 #define FM_VOL 0x00000008
525 #define FM_LABEL 0x00000010
struct view_node Viewnode
struct g_vect_style_thematic gvstyle_thematic
struct g_vect_style gvstyle
int(*)(*)(*) nxt_site(void)
int drape_surf_id[MAX_SURFS]
gvstyle_thematic * tstyle
struct g_vect_style * next
gvstyle_thematic * tstyle
int drape_surf_id[MAX_SURFS]
int(*)(*)(*) nxt_line(void)
geovol_slice * slice[MAX_SLICES]
geovol_isosurf * isosurf[MAX_ISOSURFS]
float fields[KF_NUMFIELDS]
float fields[KF_NUMFIELDS]