wxGUI.Nviz(1)

NAME
wxGUI.Nviz

DESCRIPTION
Note: wxGUI Nviz extension is currently under development. Not all functionality is implemented.

wxGUI Nviz extension allows users to realistically render multiple surfaces (raster data) in a 3D space, optionally using thematic coloring, draping 2D vector data over the surfaces, displaying 3D vector data in the space, and visualization of volume data (3D raster data).

To start the wxGUI Nviz extension, choose '3D view' from the map toolbar.

Nviz is emphasized on the ease and speed of viewer positioning and provided flexibility for using a wide range of data. A low resolution surface or wire grid (optional) provides real-time viewer positioning capabilities. Coarse and fine resolution controls allow the user to further refine drawing speed and detail as needed. Continuous scaling of elevation provides the ability to use various data types for the vertical dimension.

For each session of Nviz, you might want the same set of 2D/3D raster and vector data, view parameters, or other attributes. For consistency between sessions, you can store this information in the workspace file (gxw). Workspace file contains information to restore "state" of the system in 2D and if Nviz is enabled also in the 3D display mode.

Data visualization

  Surfaces
Each active raster map layer from the current layer tree is displayed as surface in the 3D space. Separate raster data or constants can be used for various attributes of the 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. This option is useful for draping imagery such as aerial photography over a DEM.

        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. Range from 0 (opaque) to 255 (transparent).

        shininess - raster map or constant value that controls the shininess (reflectivity) of the current surface. Range from 0 to 255.

        emission - raster map or constant value that controls the light emitted from the current surface. Range from 0 to 255.

  Vector data
2D vector data can be draped on the selected surfaces with various markers to represent point data; you can use attribute of vector features to determine size, color, shape of glyph. 3D vector data including volumes (closed group of faces with one kernel inside) is also supported.

  Volumes
Volumes can be displayed either as isosurfaces or slices. Various attributes of the isosurface can be defined, similarly to surface 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. Range from 0 (opaque) to 255 (transparent).

        shininess - raster map or constant value that controls the shininess (reflectivity) of the current volume. Range from 0 to 255.

        emission - raster map or constant value that controls the light emitted from the current volume. Range from 0 to 255.

Nviz Toolbox Window
The toolbox window has currently three tabs:

        View

        Layer properties

        Settings

  View
You can use this panel to set the position, direction, and perspective of the view. The position box shows a puck with a direction line pointing to the center. The direction line indicates the look direction (azimuth). You click and drag the puck to change the current eye position. The box annotations are North, South, East, and West. You can also set exact position using Look at choice control.
You can adjust the viewer's height above the scene, angle of view or twist value to rotate the scene about the horizontal axis. An angle of 0 is flat. The scene rotates between -90 and 90 degrees.

You can also adjusts the vertical exaggeration of the surface. As an example, if the easting and northing are in meters and the elevation in feet, a vertical exaggeration of 0.305 would produce a true (unexaggerated) surface.

Reset returns all current settings to their default values.

  Surface properties
This panel controls how loaded surfaces are drawn. The top half of the panel has options to set, unset or modify attributes of the current surface.The bottom half has drawing style options, masking or changing surface position in the space.
Surface can be drawn as a wire mesh or using filled polygons (most realistic). You can set draw mode to coarse (fast display mode), fine (draws surface as filled polygons with fine resolution) or both (which combines coarse and fine mode). Additionally set coarse style to wire to draw the surface as wire mesh (you can also choose color of the wire) or surface to draw the surface using coarse resolution filled polygons. This is a low resolution version of the polygon surface style. E.g. surface is drawn as a wire mesh if you set mode to coarse and style to wire. Note that it differs from the mesh drawn in fast display mode because hidden lines are not drawn. To draw the surface using filled polygons, but with wire mesh draped over it, choose mode both and style wire. Beside mode and style you can also choose style of shading used for the surface. Gouraud style draws the surfaces with a smooth shading to blend individual cell colors together, flat draws the surfaces with flat shading with one color for every two cells. The surface appears faceted.

To set given draw settings for all loaded surfaces press button "All".

  Vector properties
This panel controls how loaded 2D or 3D vector data are drawn.

You can define the width (in pixels) of the line features, the color used for lines or point markers.
If vector map is 2D you can display vector features as flat at a specified elevation or drape it over a surface(s) at a specified height. Use the height control to set the flat elevation or the drape height above the surface(s).

For display purposes, it is better to set the height slightly above the surface. If the height is set at zero, portions of the vector may disappear into the surface(s).

For 2D/3D vector points you can also set the size of the markers and the width (in pixels) of the line used to draw the point markers (only applies to wire-frame markers). Currently are implemented these markers:

        x sets the current points markers to a 2D "X";

        sphere - solid 3D sphere;

        diamond - solid 3D diamond;

        cube - solid 3D cube;

        box - hollow 3D cube;

        gyroscope - hollow 3D sphere;

        asterisk - 3D line-star;

  Volume properties
This panel controls how loaded volumes are drawn. Volume can be drawn in two different modes: isosurface or slice. The top part of the panel has drawing style options. The middle part has controls to add, delete, move up/down selected isosurface or slices. The bottom part has options to set, unset or modify attributes of the current isosurface or slice.
Similarly to surface panel you can define draw shading - gouraud (draws the volumes with a smooth shading to blend individual cell colors together) and flat (draws the volumes with flat shading with one color for every two cells. The volume appears faceted). As mentioned above currently are supported two visualization modes:

        isosurface - the levels of values for drawing the volume(s) as isosurfaces;

        and slice - the levels of values for drawing the volume as cross-sections.

Settings
This panel has controls which allows user to set default surface, vector and volume data attributes. You can also modify default view parameters, or to set the background color of the Map Display Window (the default color is white).

To be implement

        Improve intuitive navigation (mouse, fly mode)

        Interactive lighting controls

        Animation capabilities

        Data querying and measuring

        Arbitrary cutting planes

        Labels, decoration, etc.

        Scripting capabilities

        Better workspace support (view settings, lighting)

        Image Dump

        Surface - mask by zero/elevation, more interactive positioning

        Vector points - implement display mode flat/surface for 2D points

        Volume - slice draw mode

Please note that the wxGUI Nviz extension is under active development and distributed as "Experimental Prototype".

SEE ALSO
See also Wiki page.
Command-line module nviz_cmd.
Original TCL/TK-based Nviz.

AUTHORS
Martin Landa, Google Summer of Code 2008 (Mentor: Michael Barton)

$Date: 2010-08-03 11:47:39 +0200 (Tue, 03 Aug 2010) $

Full index

© 2003-2010 GRASS Development Team