1
********************************************************************************
2
********************************************************************************
3
********************************************************************************
5
*** Functions added to nviz and files involved for ACS project RIADE ***********
7
********************************************************************************
8
********************************************************************************
9
********************************************************************************
15
********************************************************************************
16
********************************************************************************
17
******************** ADDED FEATURES ********************************************
18
********************************************************************************
19
********************************************************************************
27
*** Time Series (TS) (Not Yet 13 march 2006)
33
********************************************************************************
34
********************************************************************************
35
******************** FILES INVOLVED ********************************************
36
********************************************************************************
37
********************************************************************************
39
************************ NEW FILES *********************************************
40
visualization/nviz/README.ACS
41
visualization/nviz/scripts/nviz_params
42
visualization/nviz/scripts/ACS_utils.tcl
43
visualization/nviz/scripts/flythrough.tcl
44
visualization/nviz/scripts/panel_resize.tcl
45
visualization/nviz/scripts/site_attr.tcl
46
visualization/nviz/scripts/panel_highlight.tcl
47
visualization/nviz/scripts/panel_pick.tcl
48
visualization/nviz/scripts/panel_timeSeries.tcl
49
visualization/nviz/scripts/ACS_TimeSeries/*.tcl
50
visualization/nviz/src/togl_flythrough.c
51
visualization/nviz/src/site_attr_commands.c
52
visualization/nviz/src/site_highlight_commands.c
53
visualization/nviz/src/pick_vect_commands.c
54
visualization/nviz/bitmaps/flythrough/*.gif
55
visualization/nviz/bitmaps/TimeSeries/*.gif
56
visualization/nviz/bitmaps/TimeSeries/*.xbm
59
************************ MODIFIED FILES *****************************************
60
visualization/nviz/Makefile
61
visualization/nviz/src/Makefile
62
visualization/nviz/scripts/tclIndex
63
visualization/nviz/scripts/panelIndex
64
visualization/nviz/scripts/panel_main.tcl
65
visualization/nviz/scripts/panel_kanimator.tcl
66
visualization/nviz/scripts/panel_surf.tcl
67
visualization/nviz/scripts/panel_vect.tcl
68
visualization/nviz/scripts/panel_site.tcl
69
visualization/nviz/scripts/colorPopup.tcl
70
visualization/nviz/scripts/nviz2.2_script
71
visualization/nviz/src/quick_draw.c
72
visualization/nviz/src/nviz_init.c
73
visualization/nviz/src/map_obj.c
87
********************************************************************************
88
********************************************************************************
89
******************** DETAILS ORDERED BY FEATURES ******************************
90
********************************************************************************
91
********************************************************************************
95
********************************************************************************
96
*** flythrough *****************************************************************
97
********************************************************************************
99
+++ visualization/nviz/scripts
101
(new) visualization/nviz/scripts/flythrough.tcl
102
tcl part for togl_flythrough.c
104
(mod) visualization/nviz/scripts/panel_main.tcl
105
"source" for flythrough.tcl and set UI for flythrough
107
(mod) visualization/nviz/scripts/panel_kanimator.tcl
108
replaced get_focus with get_viewdir to work with flythrough
111
+++ visualization/nviz/src
113
(new) visualization/nviz/src/togl_flythrough.c
114
all flythrough navigation
115
Nset/Nget_viewdir commands
116
override of command Ndraw_all (function draw_all
117
in file draw.c) by function draw_all_together for drawing
118
surf/vector/site in "fine" resolution
119
all together with no flickering (no CLR
121
added semaphore "is_drawing" to avoid "clogging"
122
between ordinary drawing and flythrough that
123
try to draw continuously
125
(mod) visualization/nviz/src/quick_draw.c
126
calls "flythrough_draw_cb()" after drawing, before returning
127
in order to execute callbacks at the right moment
128
functions that call "GS_alldraw_wire" do not execute
129
"flythrough_draw_cb()"
131
(mod) visualization/nviz/src/nviz_init.c
132
creates tcl commands and variables by calling
133
togl_flythrough_init_tcl(interp, &data);
134
that also adds timer function by calling
135
Togl_TimerFunc(togl_flythrough_timer_cb);
136
that first time calls
137
togl_flythrough_init(togl);
140
WARNING: remember to add "togl_flythrough.o"
141
into the visualization/nviz/src/Makefile
143
+++ visualization/nviz/bitmaps
145
(new) visualization/nviz/bitmaps/flythrough/*.gif
146
a_lr.gif b_c.gif b_lc.gif b_lr.gif vuota.gif
147
a_ud.gif b_cr.gif b_l.gif b_r.gif
148
icons for flythrough help
154
changed get/set_focus with get/set_viewdir for kanimator
155
to work with flythrough
156
corrected bug when adding point with disabled channels
159
changed get/set_focus with get/set_viewdir for kanimator
160
to work with flythrough
163
********************************************************************************
164
*** Resize *********************************************************************
165
********************************************************************************
167
+++ visualization/nviz/scripts
168
(new) visualization/nviz/scripts/panel_resize.tcl
169
resize of draw window useful for kanimator movies
171
to panelIndex file add:
173
to tclIndex file add:
174
set auto_index(mkresizePanel) "source $dir/panel_resize.tcl"
178
********************************************************************************
179
*** general utilities **********************************************************
180
********************************************************************************
182
(new) visualization/nviz/scripts/ACS_utils.tcl
183
generic tcl functions useful to Time Series and Pick
187
*******************************************************************************
188
*** Site attributes ***********************************************************
189
*******************************************************************************
191
+++ REQUIRES ACS_Utils.tcl
193
+++ visualization/nviz/scripts
194
(mod) visualization/nviz/scripts/panel_site.tcl
195
added site_attr.tcl calls
197
(new) visualization/nviz/scripts/site_attr.tcl
198
all the GUI and calls to site_attr_commands.c functions
200
(mod) visualization/nviz/scripts/colorPopup.tcl
202
setScales $w.top.left $color
203
to solve that the scales and $w.top.color are set to white next time
204
after a color button (not sliders) has been used, regardless $color
206
(mod) visualization/nviz/scripts/ACS_utils.tcl
208
modal_edit_list_plain use in site_attr.tcl
211
+++ visualization/nviz/src
213
(new) visualization/nviz/src/site_attr_commands.c
214
this file that contains:
215
- all c functions for getting fields values and setting attributes
216
- interpolation/evaluation functions used for color and entries
217
that could be put in a separate file if used also by others
219
(mod) visualization/nviz/src/nviz_init.c
220
creates tcl commands and variables by calling
221
site_attr_init_tcl(interp, &data);
222
added commands: Nsite_attr_get_fields_name
223
Nsite_attr_get_fields_type
224
Nsite_attr_get_fields_name_and_type
225
Nsite_attr_get_field_values
226
Nsite_attr_get_field_not_emtpy_cats
227
Nsite_attr_get_record_values
228
Nsite_attr_get_GPT_MAX_ATTR
229
Nsite_attr_get_interpolated_values
231
(mod) visualization/nviz/src/map_obj.c
232
added function: site_attr_init for each created site
233
added set/unset useatt functions
236
WARNING: remember to add "site_attr_commands.o"
237
into the visualization/nviz/src/Makefile
242
(mod) lib/ogsf/gstypes.h
245
#define GPT_MAX_ATTR 8
247
in typedef struct g_point{
250
int color[GPT_MAX_ATTR];
251
float size[GPT_MAX_ATTR];
252
int marker[GPT_MAX_ATTR];
256
in typedef struct g_site{
258
int use_attr[GPT_MAX_ATTR]; /* ST_ATT_COLOR, ST_ATT_MARKER, ST_ATT_SIZE, ST_ATT_NONE, for multiple attr's */
265
gpt->cat = nextsite->ccat;
266
in order to get the link at the site cat
270
added gpd_obj_site_attr in place of gpd_obj to manage multiple attributes
272
(mod) lib/ogsf/gsd_objs.c
273
added the "box" drawing for histograms even if it should better stayed
275
(mod) lib/ogsf/gsurf.h
276
added #define ST_HISTOGRAMS 10
280
(mod) lib/sites/sites.c
281
- managing Map_info structure for sites
285
*******************************************************************************
286
*** Site highlight ************************************************************
287
*******************************************************************************
289
+++ REQUIRES Site attributes modification to lib/ogsf/gpd.c
292
+++ visualization/nviz/scripts
294
(new) visualization/nviz/scripts/panel_highlight.tcl
296
to panelIndex file add:
298
to tclIndex file add:
299
set auto_index(mkhighlightPanel) "source $dir/panel_highlight.tcl"
302
+++ visualization/nviz/src
304
(new) visualization/nviz/src/site_highlight_commands.c
305
this file: creates Tcl commands
307
(mod) visualization/nviz/src/nviz_init.c
308
creates tcl commands and variables by calling
309
site_highlight_init_tcl(interp, &data);
310
added commands: Nsite_highlight
313
Nsite_unhighlight_list
314
Nsite_unhighlight_all
315
Nsite_highlight_set_default
316
Nsite_highlight_get_default
317
Nsite_highlight_set_default_value
318
Nsite_highlight_get_default_value
320
WARNING: remember to add site_highlight_commands.o
321
into the visualization/nviz/src/Makefile
325
(mod) lib/ogsf/gstypes.h
327
added in struct g_point:
331
int highlight_marker;
333
TRUE/FALSE flags to enable/disable proper highlight
335
int highlight_color_value;
336
float highlight_size_value;
337
int highlight_marker_value;
340
proper highlight values used for each geopoint
345
gpt->highlight_color = gpt->highlight_size = gpt->highlight_marker = FALSE;
346
in order to get the proper initializations
351
if (gpt->highlight_color) color = gpt->highlight_color_value;
352
if (gpt->highlight_size) marker = gpt->highlight_marker_value;
353
if (gpt->highlight_marker) size *= gpt->highlight_size_value;
355
in function "gpd_obj_site_attr" (that replaces function "gpd_obj")
360
********************************************************************************
361
*** Picking ********************************************************************
362
********************************************************************************
364
+++ REQUIRES ACS_Utils.tcl + .nvizrc +
365
+++ site_attr_commands.c + (optionally) site_highlight_commands.c
366
site_attr_commands.c is used to retrieve the fields names, values
367
and cats of records with a not empty specific field
368
site_highlight_commands.c is optionally used to highlight picked
369
objects. It is optionally used because "catch" is used in the Tcl
370
code, so if it is not defined, the program doesn't fail.
373
+++ visualization/nviz/scripts
375
(new) visualization/nviz/scripts/panel_pick.tcl
378
to panelIndex file add:
380
to tclIndex file add:
381
set auto_index(mkpickPanel) "source $dir/panel_pick.tcl"
384
+++ visualization/nviz/src
386
(new) visualization/nviz/src/pick_vect_commands.c
387
C functions for picking
389
(mod) visualization/nviz/src/nviz_init.c
390
creates tcl commands and variables by calling
391
pick_init_tcl(interp, &data);
392
added commands: Npick_vect,
394
WARNING: remember to add pick_vect_commands.o
395
into the visualization/nviz/src/Makefile
399
********************************************************************************
400
*** NOT YET ADDED TO CVS
401
********************************************************************************
402
*** Time Series (TS) ***********************************************************
403
********************************************************************************
404
+++ REQUIRES XML package and ACS_Utils.tcl/.nvizrc and picking
406
+++ visualization/nviz/scripts
408
(mod) visualization/nviz/scripts/panel_surf.tcl
409
added interface labels and TS_delete_obj
411
(mod) visualization/nviz/scripts/panel_vect.tcl
414
(mod) visualization/nviz/scripts/nviz2.2_script
416
(Time Series Loads shows from command line ("ts_show" option added in nviz_init.c))
417
after Nv_makeGUI .top
419
(new) visualization/nviz/scripts/panel_timeSeries.tcl
420
"source" for ACS_TimeSeries/TS_*.tcl and UI for TS
422
to panelIndex file add:
424
to tclIndex file add:
425
set auto_index(mktimeSeriesPanel) "source $dir/panel_timeSeries.tcl"
427
(new) visualization/nviz/scripts/ACS_TimeSeries/*.tcl
437
WARNING: needs to change the Makefile with these lines
439
### ACS - BEGIN ###############################################################
440
$(MKDIR) $(INSTALL_DIR)/scripts/ACS_TimeSeries
441
$(INSTALL) scripts/ACS_TimeSeries/*.tcl $(INSTALL_DIR)/scripts/ACS_TimeSeries
442
### ACS - END #################################################################
445
+++ visualization/nviz/src
447
(mod) visualization/nviz/src/nviz_init.c
448
added ts_show option to nviz command line to load a show from there
450
(mod) visualization/nviz/src/map_obj.c
452
get/set/unset_att_current_persistent
453
get_att_current_dataset_id
458
and when map changes, resolution doesn't change
461
+++ visualization/nviz/bitmaps
463
(new) visualization/nviz/bitmaps/TimeSeries/*.gif-xbm
464
minus.xbm oplink.xbm plus.xbm site.xbm vect.xbm
465
no_pickable.xbm palette.gif redo.xbm surf.gif
466
null.xbm pickable.xbm save.gif undo.xbm
472
(mod) lib/ogsf/gstypes.h
473
added persistent flag to dataset structure
475
(mod) lib/ogsf/gsds.c
476
doesn't free memory if "persistent" flag is set to 1 (gsds_free_datah())
477
added "gsds_set/get_persistent" functions
479
dataset structure has been modified in order to manage the "persistent"
480
flag that keeps in memory the current att dataset so to optimize
481
Time Series management that doesn't reload the datasets
482
at every time change, but find them already in place.
487
********************************************************************************
488
********************************************************************************
489
******************** FEATURES REORDERED BY ACTIONS/DIRECTORIES *****************
490
********************************************************************************
491
********************************************************************************
494
+++ REQUIREMENTS +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
496
*** Site attributes ************************************************************
497
ACS_Utils.tcl + .nvizrc
499
*** Site highlight *************************************************************
500
Site attributes modification to lib/ogsf/gpd.c
502
*** Picking ********************************************************************
503
ACS_Utils.tcl + .nvizrc
504
site_attr_commands.c + (optionally) site_highlight_commands.c
506
*** Time Series (TS) ***********************************************************
508
ACS_Utils.tcl + .nvizrc
511
*** general used by Time Series and Picking ************************************
514
must be copied in the HOME DIRECTORY where grass is launched
516
(new) visualization/nviz/scripts/ACS_utils.tcl
520
+++ to visualization/nviz/Makefile add +++++++++++++++++++++++++++++++++++++++++
522
*** Time Series (TS) ***********************************************************
523
### ACS - BEGIN ###############################################################
524
$(MKDIR) $(INSTALL_DIR)/scripts/ACS_TimeSeries
525
$(INSTALL) scripts/ACS_TimeSeries/*.tcl $(INSTALL_DIR)/scripts/ACS_TimeSeries
526
$(INSTALL) scripts/nviz_params $(INSTALL_DIR)/nviz_params
527
### ACS - END #################################################################
532
+++ to visualization/nviz/src/Makefile add +++++++++++++++++++++++++++++++++++++
534
*** flythrough *****************************************************************
537
*** Site attributes ************************************************************
540
*** Site highlight *************************************************************
541
site_highlight_commands.o
543
*** Picking ********************************************************************
549
+++ to panelIndex file add +++++++++++++++++++++++++++++++++++++++++++++++++++++
551
*** Resize *********************************************************************
554
*** Site highlight *************************************************************
557
*** Picking ********************************************************************
560
*** Time Series (TS) ***********************************************************
565
+++ to tclIndex file add +++++++++++++++++++++++++++++++++++++++++++++++++++++++
567
*** Resize *********************************************************************
568
set auto_index(mkresizePanel) "source $dir/panel_resize.tcl"
570
*** Site highlight *************************************************************
571
set auto_index(mkhighlightPanel) "source $dir/panel_highlight.tcl"
573
*** Picking ********************************************************************
574
set auto_index(mkpickPanel) "source $dir/panel_pick.tcl"
576
*** Time Series (TS) ***********************************************************
577
set auto_index(mktimeSeriesPanel) "source $dir/panel_timeSeries.tcl"
580
+++ visualization/nviz/scripts +++++++++++++++++++++++++++++++++++++++++++++++++
583
*** flythrough *****************************************************************
584
(new) visualization/nviz/scripts/flythrough.tcl
585
(mod) visualization/nviz/scripts/panel_main.tcl
586
(mod) visualization/nviz/scripts/panel_kanimator.tcl
588
*** Resize *********************************************************************
589
(new) visualization/nviz/scripts/panel_resize.tcl
591
*** Site attributes ************************************************************
592
(mod) visualization/nviz/scripts/panel_site.tcl
593
(new) visualization/nviz/scripts/site_attr.tcl
594
(mod) visualization/nviz/scripts/colorPopup.tcl
595
(mod) visualization/nviz/scripts/ACS_utils.tcl
597
*** Site highlight *************************************************************
598
(new) visualization/nviz/scripts/panel_highlight.tcl
600
*** Picking ********************************************************************
601
(new) visualization/nviz/scripts/panel_pick.tcl
603
*** Time Series (TS) ***********************************************************
604
(mod) visualization/nviz/scripts/panel_surf.tcl
605
(mod) visualization/nviz/scripts/panel_vect.tcl
606
(mod) visualization/nviz/scripts/nviz2.2_script
607
(new) visualization/nviz/scripts/panel_timeSeries.tcl
609
(new) visualization/nviz/scripts/ACS_TimeSeries/*.tcl
622
+++ visualization/nviz/src +++++++++++++++++++++++++++++++++++++++++++++++++++++
624
*** flythrough *****************************************************************
625
(new) visualization/nviz/src/togl_flythrough.c
626
(mod) visualization/nviz/src/quick_draw.c
627
(mod) visualization/nviz/src/nviz_init.c
629
*** Site attributes ************************************************************
630
(new) visualization/nviz/src/site_attr_commands.c
631
(mod) visualization/nviz/src/nviz_init.c
632
(mod) visualization/nviz/src/map_obj.c
634
*** Site highlight *************************************************************
635
(new) visualization/nviz/src/site_highlight_commands.c
636
(mod) visualization/nviz/src/nviz_init.c
638
*** Picking ********************************************************************
639
(new) visualization/nviz/src/pick_vect_commands.c
640
(mod) visualization/nviz/src/nviz_init.c
642
*** Time Series (TS) ***********************************************************
643
(mod) visualization/nviz/src/nviz_init.c
644
(mod) visualization/nviz/src/map_obj.c
649
+++ visualization/nviz/bitmaps +++++++++++++++++++++++++++++++++++++++++++++++++
651
*** flythrough *****************************************************************
652
(new) visualization/nviz/bitmaps/flythrough/*.gif
653
a_lr.gif b_c.gif b_lc.gif b_lr.gif vuota.gif
654
a_ud.gif b_cr.gif b_l.gif b_r.gif
656
*** Time Series (TS) ***********************************************************
657
(new) visualization/nviz/bitmaps/TimeSeries/*.gif-xbm
658
minus.xbm oplink.xbm plus.xbm site.xbm vect.xbm
659
no_pickable.xbm palette.gif redo.xbm surf.gif
660
null.xbm pickable.xbm save.gif undo.xbm
666
+++ lib/ogsf +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
668
*** flythrough *****************************************************************
672
*** Site attributes ************************************************************
673
(mod) lib/ogsf/gstypes.h
676
(mod) lib/ogsf/gsd_objs.c
677
(mod) lib/ogsf/gsurf.h
679
*** Site highlight *************************************************************
680
(mod) lib/ogsf/gstypes.h
684
*** Time Series (TS) ***********************************************************
685
(mod) lib/ogsf/gstypes.h
686
(mod) lib/ogsf/gsds.c
691
+++ lib/sites ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
692
(mod) lib/sites/sites.c