******************************************************************************** ******************************************************************************** ******************************************************************************** *** 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