********************************************************************************
********************************************************************************
********************************************************************************
*** Functions added to nviz and files involved for ACS project RIADE ***********
********************************************************************************
********************************************************************************
********************************************************************************
********************************************************************************
********************************************************************************
******************** ADDED FEATURES ********************************************
********************************************************************************
********************************************************************************
*** flythrough
*** Resize
*** general utilities
*** Site attributes
*** Site highlight
*** Picking
*** Time Series (TS) (Not Yet 13 march 2006)
********************************************************************************
********************************************************************************
******************** FILES INVOLVED ********************************************
********************************************************************************
********************************************************************************
************************ NEW FILES *********************************************
visualization/nviz/README.ACS
visualization/nviz/scripts/nviz_params
visualization/nviz/scripts/ACS_utils.tcl
visualization/nviz/scripts/flythrough.tcl
visualization/nviz/scripts/panel_resize.tcl
visualization/nviz/scripts/site_attr.tcl
visualization/nviz/scripts/panel_highlight.tcl
visualization/nviz/scripts/panel_pick.tcl
visualization/nviz/scripts/panel_timeSeries.tcl
visualization/nviz/scripts/ACS_TimeSeries/*.tcl
visualization/nviz/src/togl_flythrough.c
visualization/nviz/src/site_attr_commands.c
visualization/nviz/src/site_highlight_commands.c
visualization/nviz/src/pick_vect_commands.c
visualization/nviz/bitmaps/flythrough/*.gif
visualization/nviz/bitmaps/TimeSeries/*.gif
visualization/nviz/bitmaps/TimeSeries/*.xbm
************************ MODIFIED FILES *****************************************
visualization/nviz/Makefile
visualization/nviz/src/Makefile
visualization/nviz/scripts/tclIndex
visualization/nviz/scripts/panelIndex
visualization/nviz/scripts/panel_main.tcl
visualization/nviz/scripts/panel_kanimator.tcl
visualization/nviz/scripts/panel_surf.tcl
visualization/nviz/scripts/panel_vect.tcl
visualization/nviz/scripts/panel_site.tcl
visualization/nviz/scripts/colorPopup.tcl
visualization/nviz/scripts/nviz2.2_script
visualization/nviz/src/quick_draw.c
visualization/nviz/src/nviz_init.c
visualization/nviz/src/map_obj.c
lib/ogsf/gk.c
lib/ogsf/GK2.c
lib/ogsf/gstypes.h
lib/ogsf/gsds.c
lib/ogsf/Gp3.c
lib/ogsf/gpd.c
lib/ogsf/gsd_objs.c
lib/ogsf/gsurf.h
lib/sites/sites.c
********************************************************************************
********************************************************************************
******************** DETAILS ORDERED BY FEATURES ******************************
********************************************************************************
********************************************************************************
********************************************************************************
*** flythrough *****************************************************************
********************************************************************************
+++ visualization/nviz/scripts
(new) visualization/nviz/scripts/flythrough.tcl
tcl part for togl_flythrough.c
(mod) visualization/nviz/scripts/panel_main.tcl
"source" for flythrough.tcl and set UI for flythrough
(mod) visualization/nviz/scripts/panel_kanimator.tcl
replaced get_focus with get_viewdir to work with flythrough
+++ visualization/nviz/src
(new) visualization/nviz/src/togl_flythrough.c
all flythrough navigation
Nset/Nget_viewdir commands
override of command Ndraw_all (function draw_all
in file draw.c) by function draw_all_together for drawing
surf/vector/site in "fine" resolution
all together with no flickering (no CLR
between any of them)
added semaphore "is_drawing" to avoid "clogging"
between ordinary drawing and flythrough that
try to draw continuously
(mod) visualization/nviz/src/quick_draw.c
calls "flythrough_draw_cb()" after drawing, before returning
in order to execute callbacks at the right moment
functions that call "GS_alldraw_wire" do not execute
"flythrough_draw_cb()"
(mod) visualization/nviz/src/nviz_init.c
creates tcl commands and variables by calling
togl_flythrough_init_tcl(interp, &data);
that also adds timer function by calling
Togl_TimerFunc(togl_flythrough_timer_cb);
that first time calls
togl_flythrough_init(togl);
WARNING: remember to add "togl_flythrough.o"
into the visualization/nviz/src/Makefile
+++ visualization/nviz/bitmaps
(new) visualization/nviz/bitmaps/flythrough/*.gif
a_lr.gif b_c.gif b_lc.gif b_lr.gif vuota.gif
a_ud.gif b_cr.gif b_l.gif b_r.gif
icons for flythrough help
+++ lib/ogsf
(mod) lib/ogsf/gk.c
changed get/set_focus with get/set_viewdir for kanimator
to work with flythrough
corrected bug when adding point with disabled channels
(mod) lib/ogsf/GK2.c
changed get/set_focus with get/set_viewdir for kanimator
to work with flythrough
********************************************************************************
*** Resize *********************************************************************
********************************************************************************
+++ visualization/nviz/scripts
(new) visualization/nviz/scripts/panel_resize.tcl
resize of draw window useful for kanimator movies
to panelIndex file add:
"resize"
to tclIndex file add:
set auto_index(mkresizePanel) "source $dir/panel_resize.tcl"
********************************************************************************
*** general utilities **********************************************************
********************************************************************************
(new) visualization/nviz/scripts/ACS_utils.tcl
generic tcl functions useful to Time Series and Pick
*******************************************************************************
*** Site attributes ***********************************************************
*******************************************************************************
+++ REQUIRES ACS_Utils.tcl
+++ visualization/nviz/scripts
(mod) visualization/nviz/scripts/panel_site.tcl
added site_attr.tcl calls
(new) visualization/nviz/scripts/site_attr.tcl
all the GUI and calls to site_attr_commands.c functions
(mod) visualization/nviz/scripts/colorPopup.tcl
added line
setScales $w.top.left $color
to solve that the scales and $w.top.color are set to white next time
after a color button (not sliders) has been used, regardless $color
(mod) visualization/nviz/scripts/ACS_utils.tcl
added function:
modal_edit_list_plain use in site_attr.tcl
+++ visualization/nviz/src
(new) visualization/nviz/src/site_attr_commands.c
this file that contains:
- all c functions for getting fields values and setting attributes
- interpolation/evaluation functions used for color and entries
that could be put in a separate file if used also by others
(mod) visualization/nviz/src/nviz_init.c
creates tcl commands and variables by calling
site_attr_init_tcl(interp, &data);
added commands: Nsite_attr_get_fields_name
Nsite_attr_get_fields_type
Nsite_attr_get_fields_name_and_type
Nsite_attr_get_field_values
Nsite_attr_get_field_not_emtpy_cats
Nsite_attr_get_record_values
Nsite_attr_get_GPT_MAX_ATTR
Nsite_attr_get_interpolated_values
(mod) visualization/nviz/src/map_obj.c
added function: site_attr_init for each created site
added set/unset useatt functions
WARNING: remember to add "site_attr_commands.o"
into the visualization/nviz/src/Makefile
+++ lib/ogsf
(mod) lib/ogsf/gstypes.h
added:
#define GPT_MAX_ATTR 8
in typedef struct g_point{
...
int cat;
int color[GPT_MAX_ATTR];
float size[GPT_MAX_ATTR];
int marker[GPT_MAX_ATTR];
...
} geopoint;
in typedef struct g_site{
...
int use_attr[GPT_MAX_ATTR]; /* ST_ATT_COLOR, ST_ATT_MARKER, ST_ATT_SIZE, ST_ATT_NONE, for multiple attr's */
...
} geosite;
(mod) lib/ogsf/Gp3.c
added line:
gpt->cat = nextsite->ccat;
in order to get the link at the site cat
(mod) lib/ogsf/gpd.c
added gpd_obj_site_attr in place of gpd_obj to manage multiple attributes
(mod) lib/ogsf/gsd_objs.c
added the "box" drawing for histograms even if it should better stayed
(mod) lib/ogsf/gsurf.h
added #define ST_HISTOGRAMS 10
+++lib/sites
(mod) lib/sites/sites.c
- managing Map_info structure for sites
*******************************************************************************
*** Site highlight ************************************************************
*******************************************************************************
+++ REQUIRES Site attributes modification to lib/ogsf/gpd.c
+++ visualization/nviz/scripts
(new) visualization/nviz/scripts/panel_highlight.tcl
to panelIndex file add:
"highlight"
to tclIndex file add:
set auto_index(mkhighlightPanel) "source $dir/panel_highlight.tcl"
+++ visualization/nviz/src
(new) visualization/nviz/src/site_highlight_commands.c
this file: creates Tcl commands
(mod) visualization/nviz/src/nviz_init.c
creates tcl commands and variables by calling
site_highlight_init_tcl(interp, &data);
added commands: Nsite_highlight
Nsite_highlight_list
Nsite_unhighlight
Nsite_unhighlight_list
Nsite_unhighlight_all
Nsite_highlight_set_default
Nsite_highlight_get_default
Nsite_highlight_set_default_value
Nsite_highlight_get_default_value
WARNING: remember to add site_highlight_commands.o
into the visualization/nviz/src/Makefile
+++ lib/ogsf
(mod) lib/ogsf/gstypes.h
added in struct g_point:
...
int highlight_color;
int highlight_size;
int highlight_marker;
TRUE/FALSE flags to enable/disable proper highlight
int highlight_color_value;
float highlight_size_value;
int highlight_marker_value;
...
proper highlight values used for each geopoint
(mod) lib/ogsf/Gp3.c
added line:
gpt->highlight_color = gpt->highlight_size = gpt->highlight_marker = FALSE;
in order to get the proper initializations
(mod) lib/ogsf/gpd.c
added:
if (gpt->highlight_color) color = gpt->highlight_color_value;
if (gpt->highlight_size) marker = gpt->highlight_marker_value;
if (gpt->highlight_marker) size *= gpt->highlight_size_value;
in function "gpd_obj_site_attr" (that replaces function "gpd_obj")
********************************************************************************
*** Picking ********************************************************************
********************************************************************************
+++ REQUIRES ACS_Utils.tcl + .nvizrc +
+++ site_attr_commands.c + (optionally) site_highlight_commands.c
site_attr_commands.c is used to retrieve the fields names, values
and cats of records with a not empty specific field
site_highlight_commands.c is optionally used to highlight picked
objects. It is optionally used because "catch" is used in the Tcl
code, so if it is not defined, the program doesn't fail.
+++ visualization/nviz/scripts
(new) visualization/nviz/scripts/panel_pick.tcl
all tcl code
to panelIndex file add:
"pick"
to tclIndex file add:
set auto_index(mkpickPanel) "source $dir/panel_pick.tcl"
+++ visualization/nviz/src
(new) visualization/nviz/src/pick_vect_commands.c
C functions for picking
(mod) visualization/nviz/src/nviz_init.c
creates tcl commands and variables by calling
pick_init_tcl(interp, &data);
added commands: Npick_vect,
WARNING: remember to add pick_vect_commands.o
into the visualization/nviz/src/Makefile
********************************************************************************
*** NOT YET ADDED TO CVS
********************************************************************************
*** Time Series (TS) ***********************************************************
********************************************************************************
+++ REQUIRES XML package and ACS_Utils.tcl/.nvizrc and picking
+++ visualization/nviz/scripts
(mod) visualization/nviz/scripts/panel_surf.tcl
added interface labels and TS_delete_obj
(mod) visualization/nviz/scripts/panel_vect.tcl
added TS_delete_obj
(mod) visualization/nviz/scripts/nviz2.2_script
added TS_auto_load
(Time Series Loads shows from command line ("ts_show" option added in nviz_init.c))
after Nv_makeGUI .top
(new) visualization/nviz/scripts/panel_timeSeries.tcl
"source" for ACS_TimeSeries/TS_*.tcl and UI for TS
to panelIndex file add:
"timeSeries"
to tclIndex file add:
set auto_index(mktimeSeriesPanel) "source $dir/panel_timeSeries.tcl"
(new) visualization/nviz/scripts/ACS_TimeSeries/*.tcl
directory contains:
TS_init.tcl
TS_nviz.tcl
TS_file.tcl
TS_show.tcl
TS_time.tcl
TS_kf_panel.tcl
TS_kf_win.tcl
WARNING: needs to change the Makefile with these lines
### ACS - BEGIN ###############################################################
$(MKDIR) $(INSTALL_DIR)/scripts/ACS_TimeSeries
$(INSTALL) scripts/ACS_TimeSeries/*.tcl $(INSTALL_DIR)/scripts/ACS_TimeSeries
### ACS - END #################################################################
+++ visualization/nviz/src
(mod) visualization/nviz/src/nviz_init.c
added ts_show option to nviz command line to load a show from there
(mod) visualization/nviz/src/map_obj.c
added:
get/set/unset_att_current_persistent
get_att_current_dataset_id
get_att_dataset_id
free_att_dataset
to obj commands
and when map changes, resolution doesn't change
+++ visualization/nviz/bitmaps
(new) visualization/nviz/bitmaps/TimeSeries/*.gif-xbm
minus.xbm oplink.xbm plus.xbm site.xbm vect.xbm
no_pickable.xbm palette.gif redo.xbm surf.gif
null.xbm pickable.xbm save.gif undo.xbm
icons for TimeSeries
+++ lib/ogsf
(mod) lib/ogsf/gstypes.h
added persistent flag to dataset structure
(mod) lib/ogsf/gsds.c
doesn't free memory if "persistent" flag is set to 1 (gsds_free_datah())
added "gsds_set/get_persistent" functions
dataset structure has been modified in order to manage the "persistent"
flag that keeps in memory the current att dataset so to optimize
Time Series management that doesn't reload the datasets
at every time change, but find them already in place.
********************************************************************************
********************************************************************************
******************** FEATURES REORDERED BY ACTIONS/DIRECTORIES *****************
********************************************************************************
********************************************************************************
+++ REQUIREMENTS +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
*** Site attributes ************************************************************
ACS_Utils.tcl + .nvizrc
*** Site highlight *************************************************************
Site attributes modification to lib/ogsf/gpd.c
*** Picking ********************************************************************
ACS_Utils.tcl + .nvizrc
site_attr_commands.c + (optionally) site_highlight_commands.c
*** Time Series (TS) ***********************************************************
XML package
ACS_Utils.tcl + .nvizrc
picking
*** general used by Time Series and Picking ************************************
Resource file
.nvizrc
must be copied in the HOME DIRECTORY where grass is launched
(new) visualization/nviz/scripts/ACS_utils.tcl
+++ to visualization/nviz/Makefile add +++++++++++++++++++++++++++++++++++++++++
*** Time Series (TS) ***********************************************************
### ACS - BEGIN ###############################################################
$(MKDIR) $(INSTALL_DIR)/scripts/ACS_TimeSeries
$(INSTALL) scripts/ACS_TimeSeries/*.tcl $(INSTALL_DIR)/scripts/ACS_TimeSeries
$(INSTALL) scripts/nviz_params $(INSTALL_DIR)/nviz_params
### ACS - END #################################################################
+++ to visualization/nviz/src/Makefile add +++++++++++++++++++++++++++++++++++++
*** flythrough *****************************************************************
togl_flythrough.o
*** Site attributes ************************************************************
site_attr_commands.o
*** Site highlight *************************************************************
site_highlight_commands.o
*** Picking ********************************************************************
pick_vect_commands.o
+++ to panelIndex file add +++++++++++++++++++++++++++++++++++++++++++++++++++++
*** Resize *********************************************************************
resize
*** Site highlight *************************************************************
highlight
*** Picking ********************************************************************
pick
*** Time Series (TS) ***********************************************************
timeSeries
+++ to tclIndex file add +++++++++++++++++++++++++++++++++++++++++++++++++++++++
*** Resize *********************************************************************
set auto_index(mkresizePanel) "source $dir/panel_resize.tcl"
*** Site highlight *************************************************************
set auto_index(mkhighlightPanel) "source $dir/panel_highlight.tcl"
*** Picking ********************************************************************
set auto_index(mkpickPanel) "source $dir/panel_pick.tcl"
*** Time Series (TS) ***********************************************************
set auto_index(mktimeSeriesPanel) "source $dir/panel_timeSeries.tcl"
+++ visualization/nviz/scripts +++++++++++++++++++++++++++++++++++++++++++++++++
*** flythrough *****************************************************************
(new) visualization/nviz/scripts/flythrough.tcl
(mod) visualization/nviz/scripts/panel_main.tcl
(mod) visualization/nviz/scripts/panel_kanimator.tcl
*** Resize *********************************************************************
(new) visualization/nviz/scripts/panel_resize.tcl
*** Site attributes ************************************************************
(mod) visualization/nviz/scripts/panel_site.tcl
(new) visualization/nviz/scripts/site_attr.tcl
(mod) visualization/nviz/scripts/colorPopup.tcl
(mod) visualization/nviz/scripts/ACS_utils.tcl
*** Site highlight *************************************************************
(new) visualization/nviz/scripts/panel_highlight.tcl
*** Picking ********************************************************************
(new) visualization/nviz/scripts/panel_pick.tcl
*** Time Series (TS) ***********************************************************
(mod) visualization/nviz/scripts/panel_surf.tcl
(mod) visualization/nviz/scripts/panel_vect.tcl
(mod) visualization/nviz/scripts/nviz2.2_script
(new) visualization/nviz/scripts/panel_timeSeries.tcl
(new) visualization/nviz/scripts/ACS_TimeSeries/*.tcl
directory contains:
TS_init.tcl
TS_nviz.tcl
TS_file.tcl
TS_show.tcl
TS_time.tcl
TS_kf_panel.tcl
TS_kf_win.tcl
+++ visualization/nviz/src +++++++++++++++++++++++++++++++++++++++++++++++++++++
*** flythrough *****************************************************************
(new) visualization/nviz/src/togl_flythrough.c
(mod) visualization/nviz/src/quick_draw.c
(mod) visualization/nviz/src/nviz_init.c
*** Site attributes ************************************************************
(new) visualization/nviz/src/site_attr_commands.c
(mod) visualization/nviz/src/nviz_init.c
(mod) visualization/nviz/src/map_obj.c
*** Site highlight *************************************************************
(new) visualization/nviz/src/site_highlight_commands.c
(mod) visualization/nviz/src/nviz_init.c
*** Picking ********************************************************************
(new) visualization/nviz/src/pick_vect_commands.c
(mod) visualization/nviz/src/nviz_init.c
*** Time Series (TS) ***********************************************************
(mod) visualization/nviz/src/nviz_init.c
(mod) visualization/nviz/src/map_obj.c
+++ visualization/nviz/bitmaps +++++++++++++++++++++++++++++++++++++++++++++++++
*** flythrough *****************************************************************
(new) visualization/nviz/bitmaps/flythrough/*.gif
a_lr.gif b_c.gif b_lc.gif b_lr.gif vuota.gif
a_ud.gif b_cr.gif b_l.gif b_r.gif
*** Time Series (TS) ***********************************************************
(new) visualization/nviz/bitmaps/TimeSeries/*.gif-xbm
minus.xbm oplink.xbm plus.xbm site.xbm vect.xbm
no_pickable.xbm palette.gif redo.xbm surf.gif
null.xbm pickable.xbm save.gif undo.xbm
+++ lib/ogsf +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
*** flythrough *****************************************************************
(mod) lib/ogsf/gk.c
(mod) lib/ogsf/GK2.c
*** Site attributes ************************************************************
(mod) lib/ogsf/gstypes.h
(mod) lib/ogsf/Gp3.c
(mod) lib/ogsf/gpd.c
(mod) lib/ogsf/gsd_objs.c
(mod) lib/ogsf/gsurf.h
*** Site highlight *************************************************************
(mod) lib/ogsf/gstypes.h
(mod) lib/ogsf/Gp3.c
(mod) lib/ogsf/gpd.c
*** Time Series (TS) ***********************************************************
(mod) lib/ogsf/gstypes.h
(mod) lib/ogsf/gsds.c
+++ lib/sites ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
(mod) lib/sites/sites.c