1 #ifndef __LOCAL_PROTO_H__
2 #define __LOCAL_PROTO_H__
3 
4 #include <grass/nviz.h>
5 
6 /* module flags and parameters */
7 struct GParams
8 {
9     struct Flag *mode_all;
10     struct Flag *isosurf_toggle_norm_dir;
11     struct Flag *draw_volume_box;
12 
13     struct Option
14 	/* surface */
15      *elev_map, *elev_const, *color_map, *color_const,
16 	*mask_map, *transp_map, *transp_const, *shine_map, *shine_const,
17 	*emit_map, *emit_const,
18 	/* surface draw mode */
19      *mode, *res_fine, *res_coarse, *style, *shade, *wire_color, *surface_pos,
20 	/* vector lines */
21      *vlines, *vline_width, *vline_color, *vline_mode, *vline_height,
22 	*vline_pos, *vline_layer, *vline_color_column, *vline_width_column,
23 	/* vector points */
24      *vpoints, *vpoint_size, *vpoint_mode, *vpoint_marker, *vpoint_color,
25 	*vpoint_width, *vpoint_pos, *vpoint_layer, *vpoint_size_column,
26 	*vpoint_marker_column, *vpoint_color_column, *vpoint_width_column,
27 	/* volumes */
28      *volume, *volume_mode, *volume_shade, *volume_pos, *volume_res,
29 	*isosurf_level, *isosurf_color_map, *isosurf_color_const,
30 	*isosurf_transp_map, *isosurf_transp_const, *isosurf_shine_map,
31 	*isosurf_shine_const, *slice_pos, *slice, *slice_transp,
32 	/* misc */
33      *exag, *bgcolor,
34 	/* cutting planes */
35      *cplane, *cplane_pos, *cplane_rot, *cplane_tilt, *cplane_shading,
36 	/* viewpoint */
37      *pos, *height, *persp, *twist, *focus,
38 	/* output */
39      *output, *format, *size,
40 	/* lighting */
41      *light_pos, *light_color, *light_bright, *light_ambient,
42 	/* fringe */
43      *fringe, *fringe_color, *fringe_elev,
44 	/* north arrow */
45      *north_arrow, *north_arrow_size, *north_arrow_color;
46 };
47 
48 /* args.c */
49 void parse_command(int, char **, struct GParams *);
50 int color_from_cmd(const char *);
51 int opt_get_num_answers(const struct Option *);
52 void check_parameters(const struct GParams *);
53 
54 /* surface.c */
55 int load_rasters(const struct GParams *, nv_data *);
56 void surface_set_draw_mode(const struct GParams *);
57 
58 /* vector.c */
59 int load_vlines(const struct GParams *, nv_data *);
60 int load_vpoints(const struct GParams *, nv_data *);
61 int vlines_set_attrb(const struct GParams *);
62 int vpoints_set_attrb(const struct GParams *);
63 int check_map(const struct GParams *, int, int, int *, int *);
64 
65 /* volume.c */
66 int load_rasters3d(const struct GParams *, nv_data *);
67 int add_isosurfs(const struct GParams *, nv_data *);
68 int add_slices(const struct GParams *, nv_data *);
69 
70 /* cutting planes */
71 void draw_cplane(const struct GParams *, nv_data *);
72 
73 /* write_img.c */
74 int write_img(const char *, int);
75 
76 #endif /* __LOCAL_PROTO_H__ */
77