WxNviz GSoC 2008: Difference between revisions

From GRASS-Wiki
Jump to navigation Jump to search
No edit summary
m (2011)
 
(7 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#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 68: 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}}
{{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

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