WxNviz GSoC 2008: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
m (2011) |
||
(3 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
See [[wxNviz]] page. | See [[wxNviz]] page. | ||
[http://trac.osgeo.org/grass/wiki/SoCProjects# | [http://trac.osgeo.org/grass/wiki/SoCProjects#a2.53DvisualizationtoolforwxPythonGRASSGUI Accepted Google Summer of Code 2008 project], see also related [[WxNviz GSoC 2010|GSoC 2010]] and [[WxNviz GSoC 2011|GSoC 2011]] page. | ||
== Weekly Reports == | == Weekly Reports == | ||
Line 70: | Line 70: | ||
=== wxGUI Nviz extension === | === wxGUI Nviz extension === | ||
== Roadmap / Progress == | |||
=== Done === | |||
* Initial cleaning underlying [http://trac.osgeo.org/grass/browser/grass/trunk/lib/ogsf GRASS OpenGL gsurf OGSF Library] | |||
** Doxygenization, code documentation | |||
** Eliminate <tt>fprintf()</tt>, changed to <tt>G_*_message()</tt>, <tt>G_warning()</tt>, <tt>G_fatal_error()</tt>, and <tt>G_debug()</tt> | |||
==== wxGUI Nviz extension ==== | |||
* Integration with Layer Manager, (un)loading data when map layer is (un)/checked | |||
* Integration with Map Display, auto-rendering functional | |||
* View settings (position, height, perspective, twist, z-exag), perspective can be changed by mouse wheel | |||
* Surface settings (attributes, draw mode) | |||
* Vector 2D/3D points and lines (including boundaries, areas, faces, volumes) | |||
* Saving layer properties in workspace file | |||
What should work: | |||
* Start GRASS with NC dataset | |||
* Add raster map "elevation" and vector map "roadsmajor" | |||
* Start Nviz from Map display toolbar | |||
* Change view, surface attributes, draw mode (try also auto-rendering) | |||
* Enable/disable data layer from Layer Manager | |||
=== In progress === | |||
* Update OGSF Library documentation | |||
* Experimental prototype of CLI version of NVIZ (just very simple functionality) | |||
::http://trac.osgeo.org/grass/browser/grass/trunk/visualization/nviz2/cmd | |||
* Design experimental <tt>nvizlib</tt> used by CLI and wxPython NVIZ prototype | |||
::http://trac.osgeo.org/grass/browser/grass/trunk/lib/nviz | |||
* Experimental prototype of NVIZ toolbox for wxGUI (based on NVIZ CLI functionality) | |||
::http://trac.osgeo.org/grass/browser/grass/trunk/gui/wxpython/nviz | |||
::http://trac.osgeo.org/grass/browser/grass/trunk/gui/wxpython/gui_modules/nviz.py | |||
==== wxGUI Nviz extension ==== | |||
* Support for volumes | |||
==== Nviz CLI ==== | |||
* To be updated (based on wxGUI Nviz functionality) | |||
{{wxGUI}} | {{wxGUI}} | ||
{{GSoC}} |
Latest revision as of 09:09, 28 May 2011
See wxNviz page.
Accepted Google Summer of Code 2008 project, see also related GSoC 2010 and GSoC 2011 page.
Weekly Reports
- 2008-06-06
- 2008-06-13
- 2008-06-20
- 2008-06-27
- 2008-07-04
- 2008-07-11
- 2008-07-18
- 2008-07-25
- 2008-08-01
- 2008-08-08
- 2008-08-15
Final report
OGSF Library
Changes in OGSF library, diff before and after indentation relevant diffs:
Nviz command-line module
The nviz_cmd module currently supports:
- Surfaces, attributes:
- topography - raster map or constant values used as elevation (z values) for the current surface.
- color - raster map or constant color to drape over the current surface.
- mask - raster map that controls the areas displayed from the current surface.
- transparency - raster map or constant value that controls the transparency of the current surface. The default is completely opaque.
- shininess - raster map or constant value that controls the shininess (reflectivity) of the current surface.
- emission - raster map or constant value that controls the light emitted from the current surface.
- For each loaded surface draw style:
- mode - coarse,fine,both
- style - wire,surface
- shading - flat,gouraud
- coarse and fine resolution
- wire color
- 2D/3D vector line features:
- line width, color
- mode - flat,surface (only for 2D)
- height (constant or above surface)
- 2D/3D vector point features:
- marker size, width, color
- marker - x,sphere,diamond,cube,box,gyro,aster,histogram
- Volume
- mode - isosurface,slice (currently only isosurface mode implemented)
- shading - flat,gouraud
- position, resolution
- Volume isosurface mode, attributes:
- level - reference isosurface level (height in map units).
- color - raster map or constant color to drape over the current volume.
- mask - raster map that controls the areas displayed from the current volume.
- transparency - raster map or constant value that controls the transparency of the current volume. The default is completely opaque.
- shininess - raster map or constant value that controls the shininess (reflectivity) of the current volume.
- emission - raster map or constant value that controls the light emitted from the current volume.
- Settings
- background color
- View parameters
- position, height, perspective, twist, zexag
- Output options
- filename, image size (width, height) and format (ppm, tif)
wxGUI Nviz extension
Roadmap / Progress
Done
- Initial cleaning underlying GRASS OpenGL gsurf OGSF Library
- Doxygenization, code documentation
- Eliminate fprintf(), changed to G_*_message(), G_warning(), G_fatal_error(), and G_debug()
wxGUI Nviz extension
- Integration with Layer Manager, (un)loading data when map layer is (un)/checked
- Integration with Map Display, auto-rendering functional
- View settings (position, height, perspective, twist, z-exag), perspective can be changed by mouse wheel
- Surface settings (attributes, draw mode)
- Vector 2D/3D points and lines (including boundaries, areas, faces, volumes)
- Saving layer properties in workspace file
What should work:
- Start GRASS with NC dataset
- Add raster map "elevation" and vector map "roadsmajor"
- Start Nviz from Map display toolbar
- Change view, surface attributes, draw mode (try also auto-rendering)
- Enable/disable data layer from Layer Manager
In progress
- Update OGSF Library documentation
- Experimental prototype of CLI version of NVIZ (just very simple functionality)
- Design experimental nvizlib used by CLI and wxPython NVIZ prototype
- Experimental prototype of NVIZ toolbox for wxGUI (based on NVIZ CLI functionality)
wxGUI Nviz extension
- Support for volumes
Nviz CLI
- To be updated (based on wxGUI Nviz functionality)