Createsa window with a built-in set of controls; these controls allow you to easily view and modify an iso-surface taken from a three-dimensional block of data.
Cube_color The color in which the rotatable cube is drawn; a positive integer in the range (0...255). The number that is provided for cube_color is used as an index into the current color table.
Position A two-element vector specifying the x- and y-coordinates of the upper-left corner of the IsoSurfTool window (long integer). The elements of the vector are [x, y], where x (horizontal) and y (vertical) are specified in pixels. These coordinates are measured from the upper-left corner of the screen.
Thresh_range The range of values to display in the threshold slider. The default is to use the entire range of values defined by surface_data, or in other words, the range:
Title A string containing the title that appears in the header of the IsoSurfTool window. Default value is "Isosurface Tool".
View_persp The initial perspective distance. If View_persp is zero, then the initial setting on the
Perspective Distance
slider is 0.5, but the Perspective
pushbutton is initially deselected. If View_persp is nonzero, then the initial setting on the Perspective Distance
slider is the value specified by View_persp and the Perspective
pushbutton is selected.
NOTE: Using no perspective to draw the cube is equivalent to having the eyepoint an infinite distance away from the cube, and will produce a cube with sides that all appear to be parallel to one another.
View_zoom The initial zoom factor. (Default: 0.5)
Background Specifies the background color name.
If the zoom factor is large, or the perspective parameter is small, then the cube display in the View Orientation window may be erroneous. To cure the problem, reduce the zoom or increase the perspective (or disable the perspective entirely).
TIP: Some iso-surfaces can be time-consuming to render, especially those that compose many polygons. PV-WAVE will display its "wait cursor" while it is performing the calculations necessary to display the iso-surface.
Figure 2-155 WgIsoSurfTool creates an interactive window that lets you use the mouse to easily view and modify an iso-surface taken from a three-dimensional block of data. An iso-surface is a pseudo-surface of constant density within a volumetric data set.
Figure 2-156 WgIsoSurfTool creates an interactive window that lets you use the mouse to easily view and modify an iso-surface taken from a three-dimensional block of data. An iso-surface is a pseudo-surface of constant density within a volumetric data set.
WAVE
prompt to display the IsoSurfTool widget. The IsoSurfTool widget handles its own event loop by calling WwLoop.
NOTE: The orientation of the iso-surface is copied from the orientation of the cube.
High Side
is enabled, only data values above the threshold value are highlighted on the surface; if Low Side
is enabled, only data values below the threshold value are highlighted.
High Side
/Low Side
, refer to the description of the Low keyword for the SHADE_VOLUME procedure.
High Side
or Low Side
is enabled.
NOTE: When you clickApply
, the graphics you see being redrawn in the iso-surface portion of the display area are being sent to this window via the Z-buffer virtual graphics device. This reduces the time required to redraw the iso-surface by about fourfold. For more information on the Z-buffer graphics device, refer to Appendix , Output Devices and Window Systems.
parent
is defined, WgIsoSurfTool is created as a child of parent
; otherwise, WgIsoSurfTool runs on its own (i.e., in its own event loop).When you are finished interacting with the WgIsoSurfTool window, close it by clicking the
Dismiss
button.
PRO Sample_wgisosurftool, parent, tool_shell head = BYTARR(115, 75, 105)
IF !Version.platform EQ 'VMS' THEN $ OPENR, u, GETENV('WAVE_DIR')+$ '[data]man_head.dat', /Get_lun $ ELSE $ OPENR, u, '$WAVE_DIR/data/man_head.dat',/Get_lun READU, u, head
CLOSE, u FREE_LUN, u
reduced_head = REBIN(head, 23, 15, 21)
IF N_ELEMENTS(parent) NE 0 THEN BEGIN WgIsoSurfTool, reduced_head, parent, tool_shell
ENDIF ELSE BEGIN WgIsoSurfTool, reduced_head
ENDELSE END
For information about drawing iso-surfaces using voxel data, see Chapter 7, Advanced Rendering Techniques, in the PV-WAVE User's Guide. This chapter includes a number of examples showing iso-surfaces that have been drawn using the RENDER function.
For more information about how to write an application program based on WAVE Widgets, refer to Chapter 5, Using WAVE Widgets, in the PV-WAVE GUI Application Developer's Guide. For more information about how to write an application program based on the PV-WAVE Widget Toolbox, refer to Chapter 6, Using the Widget Toolbox, in the PV-WAVE GUI Application Developer's Guide.