Changes between Version 6 and Version 7 of GSoC/2015


Ignore:
Timestamp:
Feb 10, 2015, 8:40:05 PM (9 years ago)
Author:
wenzeslaus
Comment:

standalone NVIZ

Legend:

Unmodified
Added
Removed
Modified
  • GSoC/2015

    v6 v7  
    7777 * The system behind the interface will be inherently fragile, so it is necessary to write large amount of tests which would check different combinations of data types and projections.
    7878 * Bonus task would be to find/implement a way to run Python code easily in case `grass` is called from Python (`grass python -c "print('...')"` is a good start).
     79 * It is expected that this would work for any `g.gui.*` modules too but implementing similar mechanism also for module dialogs is out of scope of this project (although some basic implementation might be quite straightforward).
    7980 * Language requirements: Python (both GRASS GIS startup scripts and QGIS Processing are in Python)
    8081 * See also #2579 and [http://lists.osgeo.org/pipermail/grass-dev/2015-January/072979.html grass-dev QGIS Processing & GRASS (January 2015)], #2424, [http://grasswiki.osgeo.org/wiki/Working_with_GRASS_without_starting_it_explicitly Working with GRASS without starting it explicitly]
     
    121122 * Language requirements: Python, wxPython, (perhaps a little bit of C and OpenGL)
    122123 * Co-mentors: Anna Petrasova, Helena Mitasova
     124
     125=== GRASS GIS 3D viewer NVIZ module independent on the main GUI ===
     126
     127 * GRASS GIS 6 has a Tcl/Tk interface to NVIZ, a GRASS GIS 3D visualization library, and the interface is a standalone application in GRASS GIS environment. This has its disadvantages and thus wxGUI in GRASS GIS 6 and GRASS GIS 7 contains in fully integrated 3D view which is using NVIZ library as a backend. However, this also has its disadvantages and ideal solution is to have both.
     128 * The existing examples are `g.gui.iclass`, `g.gui.animation` and `g.gui.vdigit` which is closest to proposed `g.gui.nviz` because it is also integrated into wxGUI Map Display.
     129 * The implementation should use/reuse/refactor the existing code and all current functionality should be preserved (comparisons with the original version should be done throughout the whole development period).
     130 * The command line interface should be similar to `m.nviz.image` module but should also accept wxGUI workspace file.
     131 * Some refactoring will be needed to uncouple GUI controls (now part of Layer Manager) and the rendering (rule of thumb is that the new code should work even without GUI controls, e.g. as API, and the rendering should be possible not only in the wxPython window but also using `m.nviz.image` module).
     132 * This would bring benefit to QGIS Processing which is using the standalone Tcl/Tk NVIZ with GRASS GIS 6, so this project should be (co-)mentored by mentors from both GRASS GIS and QGIS projects.
     133 * Language requirements: Python, wxPython, (C and OpenGL shouldn't be necessary)
     134 * Other requirements: basic software design patterns and GUI programming experience
     135
     136
    123137== Tips for students ==
    124138
     
    139153
    140154 * GRASS GIS hopes to participate in GSoC as part of the [http://www.osgeo.org/ OSGeo Foundation]'s GSoC program umbrella. See the official OSGeo template for application details and other important information at the [http://wiki.osgeo.org/wiki/Google_Summer_of_Code_2015_Ideas OSGeo GSoc Ideas page].
    141 
    142