~ubuntu-branches/ubuntu/vivid/grass/vivid-proposed

« back to all changes in this revision

Viewing changes to visualization/nviz/src/interface.h

  • Committer: Package Import Robot
  • Author(s): Bas Couwenberg
  • Date: 2015-02-20 23:12:08 UTC
  • mfrom: (8.2.6 experimental)
  • Revision ID: package-import@ubuntu.com-20150220231208-1u6qvqm84v430b10
Tags: 7.0.0-1~exp1
* New upstream release.
* Update python-ctypes-ternary.patch to use if/else instead of and/or.
* Drop check4dev patch, rely on upstream check.
* Add build dependency on libpq-dev to grass-dev for libpq-fe.h.
* Drop patches applied upstream, refresh remaining patches.
* Update symlinks for images switched from jpg to png.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
#define TRACE_GS_FUNCS
2
 
 
3
 
/*----------------- this is the include file section -----------------*/
4
 
/*
5
 
 */
6
 
 
7
 
#include <stdio.h>
8
 
#include <string.h>
9
 
#include <math.h>
10
 
#include <tk.h>
11
 
 
12
 
#include <grass/config.h>
13
 
 
14
 
#if defined(OPENGL_X11) || defined(OPENGL_WINDOWS)
15
 
#include <GL/gl.h>
16
 
#include <GL/glu.h>
17
 
#elif defined(OPENGL_AQUA)
18
 
#include <OpenGL/gl.h>
19
 
#include <OpenGL/glu.h>
20
 
#endif
21
 
 
22
 
#include <grass/gis.h>
23
 
#include <grass/gsurf.h>
24
 
#include <grass/gstypes.h>
25
 
 
26
 
/* extern int *GV_get_vect_list(int *);
27
 
   extern int *GS_get_surf_list(int *);
28
 
   extern int *GP_get_site_list(int *); */
29
 
 
30
 
 
31
 
/*-------------- this is the data define section ---------------*/
32
 
 
33
 
#define X 0
34
 
#define Y 1
35
 
#define Z 2
36
 
#define W 3
37
 
 
38
 
#define SURF 0
39
 
#define VECT 1
40
 
#define SITE 2
41
 
#define VOL  3
42
 
 
43
 
/* I don't like this - to be consistant, should really do all scaling
44
 
   in library, so can send real world coords. (seems like it would make
45
 
   type-ins & sliders easier, too) */
46
 
#define RANGE (5 * GS_UNIT_SIZE)
47
 
#define RANGE_OFFSET (2 * GS_UNIT_SIZE)
48
 
#define ZRANGE (3 * GS_UNIT_SIZE)
49
 
#define ZRANGE_OFFSET (1 * GS_UNIT_SIZE)
50
 
 
51
 
#define DEFAULT_SURF_COLOR 0x33BBFF
52
 
#define DEFAULT_WIRE_COLOR 0x999999
53
 
#define DEFAULT_WIRE_CNT 10
54
 
#define DEFAULT_POLY_CNT 2
55
 
 
56
 
/* Attributes for vector and site files */
57
 
#define SV_ATT_WIDTH    -1
58
 
#define SV_ATT_MARKER   -2
59
 
#define SV_ATT_SIZE     -3
60
 
#define SV_ATT_USEATT   -4
61
 
#define SV_ATT_DISPLAY  -5
62
 
#define SV_ATT_MAP      -6
63
 
#define SV_ATT_FLAT     -7
64
 
 
65
 
#ifdef FontBase_MAIN
66
 
GLuint FontBase;
67
 
#else
68
 
extern GLuint FontBase;
69
 
#endif
70
 
 
71
 
/*------------------------------------------------------------------------
72
 
-            this is the data type declaration section                   -
73
 
------------------------------------------------------------------------*/
74
 
 
75
 
typedef struct
76
 
{
77
 
    int id;
78
 
    float brt;
79
 
    float r, g, b;
80
 
    float ar, ag, ab;           /* ambient rgb */
81
 
    float x, y, z, w;           /* position */
82
 
} light_data;
83
 
 
84
 
typedef struct
85
 
{
86
 
    float Zrange, XYrange;
87
 
 
88
 
    int NumCplanes;
89
 
    int CurCplane, Cp_on[MAX_CPLANES];
90
 
    float Cp_trans[MAX_CPLANES][3];
91
 
    float Cp_rot[MAX_CPLANES][3];
92
 
 
93
 
    light_data light[MAX_LIGHTS];
94
 
 
95
 
    int BGcolor;
96
 
} Nv_data;
97
 
 
98
 
/* - The following structure is used to associate client data with surfaces.
99
 
 * We do this so that we don't have to rely on the surface ID (which is libal to change
100
 
 * between subsequent executions of nviz) when saving set-up info to files.
101
 
 */
102
 
 
103
 
typedef struct
104
 
{
105
 
    /* We use logical names to assign textual names to map objects.
106
 
       When Nviz needs to refer to a map object it uses the logical name
107
 
       rather than the map ID.  By setting appropriate logical names, we
108
 
       can reuse names inbetween executions of Nviz.  The Nviz library
109
 
       also provides a mechanism for aliasing between logical names.
110
 
       Thus several logical names may refer to the same map object.
111
 
       Aliases are meant to support the case in which two logical names
112
 
       happen to be the same.  The Nviz library automatically assigns
113
 
       logical names uniquely if they are not specified in the creation
114
 
       of a map object.  When loading a saved file containing several map
115
 
       objects, it is expected that the map 0bjects will be aliased to
116
 
       their previous names.  This ensures that old scripts will work.
117
 
     */
118
 
 
119
 
    char *logical_name;
120
 
 
121
 
} Nv_clientData;
122
 
 
123
 
/* Here are the functions that use these structures */
124
 
 
125
 
/* anim_support.c */
126
 
int Nset_interp_mode_cmd(Nv_data *, Tcl_Interp *, int, char **);
127
 
int Nset_tension_cmd(Nv_data *, Tcl_Interp *, int, char **);
128
 
int Nshowtension_start_cmd(Nv_data *, Tcl_Interp *, int, char **);
129
 
int Nupdate_tension_cmd(Nv_data *, Tcl_Interp *, int, char **);
130
 
int Nshowtension_stop_cmd(Nv_data *, Tcl_Interp *, int, char **);
131
 
int Nupdate_frames_cmd(Nv_data *, Tcl_Interp *, int, char **);
132
 
int Nset_numsteps_cmd(Nv_data *, Tcl_Interp *, int, char **);
133
 
int Nclear_keys_cmd(Nv_data *, Tcl_Interp *, int, char **);
134
 
int Nadd_key_cmd(Nv_data *, Tcl_Interp *, int, char **);
135
 
int Ndelete_key_cmd(Nv_data *, Tcl_Interp *, int, char **);
136
 
int Nmove_key_cmd(Nv_data *, Tcl_Interp *, int, char **);
137
 
int Ndo_framestep_cmd(Nv_data *, Tcl_Interp *, int, char **);
138
 
int Nshow_site_cmd(Nv_data *, Tcl_Interp *, int, char **);
139
 
int Nshow_vect_cmd(Nv_data *, Tcl_Interp *, int, char **);
140
 
int Nshow_vol_cmd(Nv_data *, Tcl_Interp *, int, char **);
141
 
int Nshow_lab_cmd(Nv_data *, Tcl_Interp *, int, char **);
142
 
int Nshow_path_cmd(Nv_data *, Tcl_Interp *, int, char **);
143
 
 
144
 
/* change_view.c */
145
 
int Nchange_persp_cmd(Nv_data *, Tcl_Interp *, int, char **);
146
 
int Nchange_position_cmd(Nv_data *, Tcl_Interp *, int, char **);
147
 
int Nchange_height_cmd(Nv_data *, Tcl_Interp *, int, char **);
148
 
int Nset_light_to_view_cmd(Nv_data *, Tcl_Interp *, int, char **);
149
 
int Nchange_exag_cmd(Nv_data *, Tcl_Interp *, int, char **);
150
 
 
151
 
/* cutplane_obj.c */
152
 
int Nset_fence_color_cmd(Nv_data *, Tcl_Interp *, int, char **);
153
 
int Nget_fence_color_cmd(Nv_data *, Tcl_Interp *, int, char **);
154
 
int Ncutplane_obj_cmd(Nv_data *, Tcl_Interp *, int, char **);
155
 
int Nnew_cutplane_obj_cmd(Nv_data *, Tcl_Interp *, int, char **);
156
 
int Nnum_cutplane_obj_cmd(Nv_data *, Tcl_Interp *, int, char **);
157
 
int Nset_current_cutplane_cmd(Nv_data *, Tcl_Interp *, int, char **);
158
 
int Nget_current_cutplane_cmd(Nv_data *, Tcl_Interp *, int, char **);
159
 
int Nget_cutplane_list_cmd(Nv_data *, Tcl_Interp *, int, char **);
160
 
void cp_draw(int, Nv_data *, int, int);
161
 
int draw_cp_obj(Nv_data *, Tcl_Interp *, int, char **, int);
162
 
int on_cp_obj(Nv_data *, Tcl_Interp *, int, char **, int);
163
 
int off_cp_obj(Nv_data *, Tcl_Interp *, int, char **, int);
164
 
int state_cp_obj(Nv_data *, Tcl_Interp *, int, char **, int);
165
 
int cp_set_rot(Nv_data *, Tcl_Interp *, int, char **, int);
166
 
int cp_set_trans(Nv_data *, Tcl_Interp *, int, char **, int);
167
 
int cp_get_rot(Nv_data *, Tcl_Interp *, int, char **, int);
168
 
int cp_get_trans(Nv_data *, Tcl_Interp *, int, char **, int);
169
 
int get_cp_idnum(char *);
170
 
 
171
 
/* draw.c */
172
 
void CancelFunc_Hook(void);
173
 
int Nunset_cancel_func_cmd(Nv_data *, Tcl_Interp *, int, char **);
174
 
int Nset_cancel_func_cmd(Nv_data *, Tcl_Interp *, int, char **);
175
 
int Nset_draw_cmd(Nv_data *, Tcl_Interp *, int, char **);
176
 
int Ntransp_is_set_cmd(Nv_data *, Tcl_Interp *, int, char **);
177
 
int Nis_masked_cmd(Nv_data *, Tcl_Interp *, int, char **);
178
 
int Nhas_transparency_cmd(Nv_data *, Tcl_Interp *, int, char **);
179
 
int Nget_def_color_cmd(Nv_data *, Tcl_Interp *, int, char **);
180
 
int Nclear_cmd(Nv_data *, Tcl_Interp *, int, char **);
181
 
int Ndraw_wire_cmd(Nv_data *, Tcl_Interp *, int, char **);
182
 
int Ndraw_X_cmd(Nv_data *, Tcl_Interp *, int, char **);
183
 
int Ndraw_line_on_surf_cmd(Nv_data *, Tcl_Interp *, int, char **);
184
 
int Ndraw_model_cmd(Nv_data *, Tcl_Interp *, int, char **);
185
 
int Nsurf_draw_one_cmd(Nv_data *, Tcl_Interp *, int, char **);
186
 
int sort_surfs_max(int *, int *, int *, int);
187
 
int Nvect_draw_one_cmd(Nv_data *, Tcl_Interp *, int, char **);
188
 
int Nsite_draw_one_cmd(Nv_data *, Tcl_Interp *, int, char **);
189
 
int Nvol_draw_one_cmd(Nv_data *, Tcl_Interp *, int, char **);
190
 
int Nsurf_draw_all_cmd(Nv_data *, Tcl_Interp *, int, char **);
191
 
int Nset_cancel_cmd(Nv_data *, Tcl_Interp *, int, char **);
192
 
int Nvect_draw_all_cmd(Nv_data *, Tcl_Interp *, int, char **);
193
 
int Nsite_draw_all_cmd(Nv_data *, Tcl_Interp *, int, char **);
194
 
int Nvol_draw_all_cmd(Nv_data *, Tcl_Interp *, int, char **);
195
 
int Nready_draw_cmd(void);
196
 
int Ndone_draw_cmd(void);
197
 
int check_blank(Tcl_Interp *, int);
198
 
 
199
 
/* exag.c */
200
 
int Nget_first_exag_cmd(Nv_data *, Tcl_Interp *, int, char **);
201
 
int Nget_height_cmd(Nv_data *, Tcl_Interp *, int, char **);
202
 
 
203
 
/* glwrappers.c */
204
 
int tcl_color_to_int(const char *);
205
 
int Nresize_cmd(Nv_data *, Tcl_Interp *, int, char **);
206
 
int Nfinish_cmd(ClientData, Tcl_Interp *, int, char **);
207
 
int Nset_background_cmd(Nv_data *, Tcl_Interp *, int, char **);
208
 
 
209
 
/* init_commands.c */
210
 
int init_commands(Tcl_Interp *, Nv_data *);
211
 
 
212
 
/* label.c */
213
 
int Nplace_label_cmd(Nv_data *, Tcl_Interp *, int, char **);
214
 
void G_site_destroy_struct(void *);
215
 
 
216
 
/* lights.c */
217
 
int Nlight_obj_cmd(Nv_data *, Tcl_Interp *, int, char **);
218
 
int Nnew_light_cmd(Nv_data *, Tcl_Interp *);
219
 
int Nlights_cmd(Nv_data *, Tcl_Interp *, int, char **);
220
 
 
221
 
/* map_obj.c */
222
 
int Nliteral_from_logical_cmd(Nv_data *, Tcl_Interp *, int, char *[]);
223
 
int Nlogical_from_literal_cmd(Nv_data *, Tcl_Interp *, int, char *[]);
224
 
int Nget_surf_list_cmd(Nv_data *, Tcl_Interp *, int, char *[]);
225
 
int Nget_vect_list_cmd(Nv_data *, Tcl_Interp *, int, char *[]);
226
 
int Nget_site_list_cmd(Nv_data *, Tcl_Interp *, int, char *[]);
227
 
int Nget_vol_list_cmd(Nv_data *, Tcl_Interp *, int, char *[]);
228
 
int Nnew_map_obj_cmd(Nv_data *, Tcl_Interp *, int, char *[]);
229
 
int Nmap_obj_cmd(Nv_data *, Tcl_Interp *, int, char *[]);
230
 
int get_idnum(char *);
231
 
int get_type(char *);
232
 
int att_atoi(char *);
233
 
int slice(int, int, Tcl_Interp *, int, char *[]);
234
 
int isosurf(int, int, Tcl_Interp *, int, char *[]);
235
 
 
236
 
/* misc.c */
237
 
int Nlibinit_cmd(Nv_data *, Tcl_Interp *, int, char **);
238
 
int Nget_cancel_cmd(Nv_data *, Tcl_Interp *, int, char **);
239
 
int Nset_SDsurf_cmd(Nv_data *, Tcl_Interp *, int, char **);
240
 
int Nunset_SDsurf_cmd(Nv_data *, Tcl_Interp *, int, char **);
241
 
int Nset_SDscale_cmd(Nv_data *, Tcl_Interp *, int, char **);
242
 
 
243
 
/* nviz_init.c */
244
 
int Ninit(Tcl_Interp *, Tk_Window);
245
 
int Ninitdata(Tcl_Interp *, Nv_data *);
246
 
 
247
 
/* position.c */
248
 
int Ninit_view_cmd(Nv_data *, Tcl_Interp *, int, char **);
249
 
int Nget_to_cmd(Nv_data *, Tcl_Interp *, int, char **);
250
 
int Nget_from_cmd(Nv_data *, Tcl_Interp *, int, char **);
251
 
int Nlook_here_cmd(Nv_data *, Tcl_Interp *, int, char **);
252
 
int Nhas_focus_cmd(Nv_data *, Tcl_Interp *, int, char **);
253
 
int Nset_focus_cmd(Nv_data *, Tcl_Interp *, int, char **);
254
 
int Nset_focus_state_cmd(Nv_data *, Tcl_Interp *, int, char **);
255
 
int Nset_focus_map_cmd(Nv_data *, Tcl_Interp *, int, char **);
256
 
int Nmove_to_cmd(Nv_data *, Tcl_Interp *, int, char **);
257
 
int Nset_fov_cmd(Nv_data *, Tcl_Interp *, int, char **);
258
 
int Nget_region_cmd(Nv_data *, Tcl_Interp *, int, char **);
259
 
int Nget_point_on_surf_cmd(Nv_data *, Tcl_Interp *, int, char **);
260
 
int Nget_dist_along_surf_cmd(Nv_data *, Tcl_Interp *, int, char **);
261
 
int Nget_cat_at_xy_cmd(Nv_data *, Tcl_Interp *, int, char **);
262
 
int Nget_val_at_xy_cmd(Nv_data *, Tcl_Interp *, int, char **);
263
 
int Nget_focus_cmd(Nv_data *, Tcl_Interp *, int, char **);
264
 
int Nget_longdim_cmd(Nv_data *, Tcl_Interp *, int, char **);
265
 
int Nget_zrange_cmd(Nv_data *, Tcl_Interp *, int, char **);
266
 
int Nget_xyrange_cmd(Nv_data *, Tcl_Interp *, int, char **);
267
 
int Nget_zextents_cmd(Nv_data *, Tcl_Interp *, int, char **);
268
 
int Nget_exag_cmd(Nv_data *, Tcl_Interp *, int, char **);
269
 
int Nset_exag_cmd(Nv_data *, Tcl_Interp *, int, char **);
270
 
int Nsave_3dview_cmd(Nv_data *, Tcl_Interp *, int, char **);
271
 
int Nload_3dview_cmd(Nv_data *, Tcl_Interp *, int, char **);
272
 
 
273
 
/* quick_draw.c */
274
 
int Nquick_draw_cmd(Nv_data *, Tcl_Interp *);
275
 
 
276
 
/* script_support.c */
277
 
int ScriptAddString_Cmd(ClientData, Tcl_Interp *, int, char **);
278
 
int CloseScripting_Cmd(ClientData, Tcl_Interp *, int, char **);
279
 
int SetState_Cmd(ClientData, Tcl_Interp *, int, char **);
280
 
int SetScriptFile_Cmd(ClientData, Tcl_Interp *, int, char **);
281
 
 
282
 
/* do_zoom.c */
283
 
int Create_OS_Ctx(int, int);
284
 
int Destroy_OS_Ctx(void);
285
 
 
286
 
/* query_vect.c */
287
 
char *query_vect(char *, double, double);
288
 
 
289
 
/* togl_flythrough.c */
290
 
int Nset_viewdir_cmd(Nv_data * data, Tcl_Interp * interp, int argc,
291
 
                     char **argv);
292
 
int Nget_viewdir_cmd(Nv_data * data, Tcl_Interp * interp, int argc,
293
 
                     char **argv);
294
 
int Ndraw_all_together_cmd(Nv_data * data, Tcl_Interp * interp, int argc,
295
 
                           char **argv);
296
 
void togl_flythrough_init_tcl(Tcl_Interp *, Nv_data *);
297
 
void flythrough_postdraw_cb_remove();
298
 
void flythrough_postdraw_cb();
299
 
 
300
 
/* togl_cb.c */
301
 
GLuint load_font(char *);
302
 
void hide_togl_win(void);
303
 
void show_togl_win(void);
304
 
 
305
 
#ifdef OPENGL_X11
306
 
Display *togl_display(void);
307
 
Screen *togl_screen(void);
308
 
int togl_screen_number(void);
309
 
#endif
310
 
 
311
 
 
312
 
/* tkAppInit.c */
313
 
int Tcl_AppInit(Tcl_Interp *);
314
 
 
315
 
/* tkSend.c */
316
 
#if TK_MAJOR_VERSION==8 && TK_MINOR_VERSION > 3
317
 
CONST char *Tk_SetAppName(Tk_Window, CONST char *);
318
 
#else
319
 
char *Tk_SetAppName(Tk_Window, char *);
320
 
#endif
321
 
int Tk_SendCmd(ClientData, Tcl_Interp *, int, char **);
322
 
int TkGetInterpNames(Tcl_Interp *, Tk_Window);
323
 
 
324
 
/* tkSend_old.c */
325
 
int Tk_RegisterInterp(Tcl_Interp *, char *, Tk_Window);
326
 
int Tk_SendCmd(ClientData, Tcl_Interp *, int, char **);
327
 
int TkGetInterpNames(Tcl_Interp *, Tk_Window);
328
 
 
329
 
/* tkSpecial_Wait.c */
330
 
int Tk_Tkspecial_waitCmd(ClientData, Tcl_Interp *, int, char **);
331
 
int update_ranges(Nv_data *);
332
 
void cp_draw(int, Nv_data *, int, int);
333
 
int draw_cp_obj(Nv_data *, Tcl_Interp *, int, char **, int);
334
 
int on_cp_obj(Nv_data *, Tcl_Interp *, int, char **, int);
335
 
int off_cp_obj(Nv_data *, Tcl_Interp *, int, char **, int);
336
 
int state_cp_obj(Nv_data *, Tcl_Interp *, int, char **, int);
337
 
int cp_set_rot(Nv_data *, Tcl_Interp *, int, char **, int);
338
 
int cp_set_trans(Nv_data *, Tcl_Interp *, int, char **, int);
339
 
int cp_get_rot(Nv_data *, Tcl_Interp *, int, char **, int);
340
 
int cp_get_trans(Nv_data *, Tcl_Interp *, int, char **, int);
341
 
int surf_draw_all(Nv_data *, Tcl_Interp *);
342
 
int init_default_slider_vals1(Nv_data *, float *, float *, float *);
343
 
int set_drawmode(Tcl_Interp *, int, int, Nv_data *, int, char *[]);
344
 
int get_drawmode(int, int, Nv_data *, Tcl_Interp *);
345
 
int delete_obj(int, int, Nv_data *, Tcl_Interp *);
346
 
int set_wirecolor(Tcl_Interp *, int, int, Nv_data *, int, char *[]);
347
 
int get_wirecolor(int, int, Nv_data *, Tcl_Interp *);
348
 
int set_nozero(Tcl_Interp *, int, int, Nv_data *, int, char *[]);
349
 
int get_nozero(int, int, Nv_data *, Tcl_Interp *, int, char *[]);
350
 
int load_obj(int, int, Nv_data *, int, char *[], Tcl_Interp *);
351
 
int get_att(int, int, Nv_data *, Tcl_Interp *, int, char *[]);
352
 
int set_att(int, int, Nv_data *, Tcl_Interp *, int, char *[]);
353
 
int get_mask_mode(int, int, Nv_data *, Tcl_Interp *);
354
 
int set_mask_mode(int, int, Nv_data *, Tcl_Interp *, int, char *[]);
355
 
int set_default_wirecolors(Nv_data *, int);
356
 
 
357
 
/* volume.c */
358
 
int isosurf_set_res(int, Tcl_Interp *, int, char *[]);
359
 
int isosurf_get_res(int, Tcl_Interp *, int, char *[]);
360
 
int isosurf_set_drawmode(int, Tcl_Interp *, int, char *[]);
361
 
int isosurf_get_drawmode(int, Tcl_Interp *, int, char *[]);
362
 
int isosurf_num_isosurfs(int, Tcl_Interp *, int, char *[]);
363
 
int isosurf_add(int, Tcl_Interp *, int, char *[]);
364
 
int isosurf_del(int, Tcl_Interp *, int, char *[]);
365
 
int isosurf_move_up(int, Tcl_Interp *, int, char *[]);
366
 
int isosurf_move_down(int, Tcl_Interp *, int, char *[]);
367
 
int isosurf_get_att(int, Tcl_Interp *, int, char *[]);
368
 
int isosurf_set_att(int, Tcl_Interp *, int, char *[]);
369
 
int isosurf_unset_att(int, Tcl_Interp *, int, char *[]);
370
 
int isosurf_att_atoi(char *);
371
 
int isosurf_get_mask_mode(int, Tcl_Interp *, int, char *[]);
372
 
int isosurf_set_mask_mode(int, Tcl_Interp *, int, char *[]);
373
 
int isosurf_get_flags(int, Tcl_Interp *, int, char *[]);
374
 
int isosurf_set_flags(int, Tcl_Interp *, int, char *[]);
375
 
int slice_set_res(int, Tcl_Interp *, int, char *[]);
376
 
int slice_get_res(int, Tcl_Interp *, int, char *[]);
377
 
int slice_set_drawmode(int, Tcl_Interp *, int, char *[]);
378
 
int slice_get_drawmode(int, Tcl_Interp *, int, char *[]);
379
 
int slice_num_slices(int, Tcl_Interp *, int, char *[]);
380
 
int slice_set_pos(int, Tcl_Interp *, int, char *[]);
381
 
int slice_get_pos(int, Tcl_Interp *, int, char *[]);
382
 
int slice_add(int, Tcl_Interp *, int, char *[]);
383
 
int slice_del(int, Tcl_Interp *, int, char *[]);
384
 
int slice_move_up(int, Tcl_Interp *, int, char *[]);
385
 
int slice_move_down(int, Tcl_Interp *, int, char *[]);
386
 
int slice_get_transp(int, Tcl_Interp *, int, char *[]);
387
 
int slice_set_transp(int, Tcl_Interp *, int, char *[]);
388
 
 
389
 
struct Map_info;
390
 
 
391
 
/* site_attr_commands.c */
392
 
int site_attr_open_map(geosite *, int, struct Map_info **, int *, char ***,
393
 
                       int **, int **);
394
 
int site_attr_set_color(geosite *, int, int, int, const char **,
395
 
                        const char **);
396
 
int site_attr_set_size(geosite *, int, int, int, const char **,
397
 
                       const char **);
398
 
int site_attr_set_fixed_color(geosite *, int, unsigned int);
399
 
int site_attr_set_fixed_size(geosite *, int, float);
400
 
int site_attr_set_fixed_marker(geosite *, int, int);
401
 
int site_attr_set(Tcl_Interp *, geosite *, int, char *, int, char *, char *);
402
 
int site_attr_unset(Tcl_Interp *, geosite *, int, char *);
403
 
int site_attr_get(Tcl_Interp *, geosite *, int);
404
 
void site_attr_init_tcl(Tcl_Interp *, Nv_data *);
405
 
void site_attr_init(int);
406
 
int attr_interp_entries(int, const char **, const char **, float **, float **,
407
 
                        float **);
408
 
int attr_interp_colors(int, const char **, const char **, float **, float **,
409
 
                       float **, float **, float **, float **, float **);
410
 
int attr_get_int_BBGGRR(const char *);
411
 
float attr_get_RRGGBB(const char *, float *, float *, float *);
412
 
int attr_interp_entries_string(int, const char **, float **);
413
 
int attr_interp_colors_string(int, const char **, float **, float **,
414
 
                              float **);
415
 
int attr_eval_color(float, int, float *, float *, float *, float *, float *,
416
 
                    float *, float *);
417
 
int attr_eval_color_string(const char *, int, const char **, float *, float *,
418
 
                           float *);
419
 
float attr_eval_entry_string(const char *, int, const char **, float *);
420
 
 
421
 
/* pick_vect_commands.c */
422
 
void pick_init_tcl(Tcl_Interp *, Nv_data *);
423
 
 
424
 
/* site_highlight_commands.c */
425
 
void site_highlight_init_tcl(Tcl_Interp *, Nv_data *);