WxNviz GSoC 2008
See wxNviz page.
Accepted Google Summer of Code 2008 project, see also related GSoC 2010 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)