WxNviz: Difference between revisions

From GRASS-Wiki
Jump to navigation Jump to search
Line 101: Line 101:
The nviz_cmd module currently implements:
The nviz_cmd module currently implements:


* Support for visualization of '''surfaces''', attributes:
* '''Surfaces''', attributes:
** topography - raster map or constant values used as elevation (z values) for the current surface.
** 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.  
** color - raster map or constant color to drape over the current surface.  
Line 121: Line 121:
** marker size, width, color
** marker size, width, color
** marker - x,sphere,diamond,cube,box,gyro,aster,histogram
** 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 ====
==== wxGUI Nviz extension ====

Revision as of 20:24, 18 August 2008

Back to wxGUI page.

Accepted Google Summer of Code 2008 project

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)
http://trac.osgeo.org/grass/browser/grass/trunk/visualization/nviz2/cmd
  • Design experimental nvizlib 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)

Screenshots

Alpha prototype

2008-06-27: Display raster map from layer tree in 2.5D (surface)
2008-07-05: Support for vector data (2D lines) added
2008-07-26: Support for vector point data
2008-08-02: 3D vector data support
2008-08-09: Initial support for volumetric data

 

Ideas

Google SoC Reports

  1. 2008-06-06
  2. 2008-06-13
  3. 2008-06-20
  4. 2008-06-27
  5. 2008-07-04
  6. 2008-07-11
  7. 2008-07-18
  8. 2008-07-25
  9. 2008-08-01
  10. 2008-08-08
  11. 2008-08-15

Final reports

OGSF Library

Changes in OGSF library, diff before and after indentation relevant diffs:

Nviz command-line module

The nviz_cmd module currently implements:

  • 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