LIVE_SURFACE

The LIVE_SURF ACE procedure creates an interactive plotting environment for multiple surfaces. Because the interactive environment requires extra system resources, this routine is most suitable for relatively small data sets. If you find that performance does not meet your expectations, consider using the Direct Graphics SURFACE routine or the Object Graphics IDLgrSurface class directly.

After LIVE_SURFACE has been executed, you can double-click on a section of the surface to display a properties dialog. A set of buttons in the upper left corner of the image window allows you to print, undo the last operation, redo the last "undone" operation, copy, draw a line, draw a rectangle, or add text..

LIVE_SURFACE is actually a subset of the IDL Insight application. If you find that the LIVE_SURFACE graphical user interface does not provide the level of control you need, consider using Insight itself. You can start the Insight application by entering insight at the IDL command prompt.

You can control your LIVE window after it is created using any of several auxiliary routines. See LIVE_Tools for an explanation.

Calling Sequence

LIVE_SURFACE, Data, Data2,...

Arguments

Data

A two-dimensional array of data. Up to 25 of these parameters may be specified.

Keywords

BUFFER

Set this keyword to bypass the creation of a LIVE window and send the visualization to an offscreen buffer. The WINDOW field of the reference structure returned by the REFERENCE_OUT keyword will contain the name of the buffer.

DIMENSIONS

Set this keyword to a two-element, floating-point vector of the form [width, height] specifying the dimensions of the visualization in normalized coordinates. The default is [1.0, 1.0].

DRAW_DIMENSIONS

Set this keyword equal to a vector of the form [width, height] representing the desired size of the LIVE tools draw widget (in pixels). The default is [452, 452].

ERROR

Set this keyword to a named variable to contain the returned error message (string). An empty string is returned if no errors occurred during the operation. By default, errors are reported via a GUI.

INDEXED_COLOR

If set, the indexed color mode will be used. The default is true color. (See Using IDL for more information on color modes.)

INSTANCING

Set this keyword to 1 to instance drawing on, or 0 to turn it off. The default (-1) is to use instancing if and only if the "software renderer" is being used (see RENDERER). For more information, see Hardware vs. Software Rendering in See Destination Objects the Objects and Object Graphics manual.

LOCATION

Set this keyword to a two-element, floating-point vector of the form [X, Y] specifying the location of the visualization (relative to the lower left hand corner within the visualization window) in normalized coordinates. The default is [0.0, 0.0].

MANAGE_STYLE

Set this keyword to have the passed in style item destroyed when the LIVE tool window is destroyed. This keyword will have no effect if the STYLE keyword is not set to a style item.

NAME

Set this keyword to a structure containing suggested names for the data items to be created for this visualization. See the REPLACE keyword for details on how they will be used. The fields of the structure are as follows. (Any or all of the tags may be set.)

  • Fields of the NAME keyword.

Tag

Description

DATA

Dependent Data Name(s)

IX

Independent X Data Name

IY

Independent Y Data Name

The default for a field is to use the given variable name. If the variable does not have a name (i.e., is an expression), a default name is automatically generated. The dependent data names will be used in a round-robin fashion if more data than names are input.

NO_DRAW

Set this keyword to inhibit the visualization window from drawing. This is useful if multiple visualizations and/or annotations are being created via calls to other LIVE_Tools in order to reduce unwanted draws and help speed the display

NO_STATUS

Set this keyword to prevent the creation of the status bar.

NO_TOOLBAR

Set this keyword to prevent the creation of the toolbar.

PARENT_BASE

Set this keyword to the widget ID of an existing base widget to bypass the creation of a LIVE window and create the visualization within the specified base widget.

REFERENCE_OUT

Set this keyword to a variable to return a structure defining the names of the created items. The fields of the structure are shown in the following table.

  • Fields of the LIVE_SURFACE Reference Structure

Tag

Description

WIN

Window Name

VIS

Visualization Name

XAXIS

X-Axis Name

YAXIS

Y-Axis Name

GRAPHIC

Graphic Name(s)

LEGEND

Legend Name

DATA

Dependent Data Name(s)

IX

Independent X Data Name

IY

Independent Y Data Name

RENDERER

Set this keyword to 1 to use the "software renderer", or 0 to use the `hardware renderer". The default (-1) is to use the setting in the IDE (IDL Development Environment) preferences; if the IDE is not running, however, the default is hardware rendering. For more information, see Hardware vs. Software Rendering in See Destination Objects the Objects and Object Graphics manual.

REPLACE

Set this keyword to a structure containing tags as listed for the NAME keyword, with scalar values corresponding to the replacement options listed below. (Any or all of the tags may be set.) The replacement settings are used to determine what action to take when an item (such as data) being input would have the same name as one already existing in the given window or buffer (WINDOW_IN).

  • REPLACE keyword Settings and Action Taken

Setting

Action Taken

0

New items will be given unique names.

1

Existing items will be replaced by new items (i.e., the old items will be deleted and new ones created).

2

User will be prompted for the action to take.

3

The values of existing items will be replaced. This will cause dynamic updating to occur for any current uses, e.g., a visualization would redraw to show the new value.

4

Default. Option 0 will be used for items that do not have names (e.g., data input as an expression rather than a named variable, with no name provided via the NAME keyword). Option 3 will be used for all named items.

STYLE

Set this keyword to either a string specifying a style name (or a style in the Insight template project), or to a style reference created from LIVE_STYLE .

TITLE

Set this keyword to a string specifying the title to give the main window. It must not already be in use. A default will be chosen if no title is specified.

TLB_LOCATION

Set this keyword to a two-element vector of the form [ Xoffset , Yoffset ] specifying the offset (in pixels) of the LIVE window from the upper left corner of the screen. This keyword has no effect if the PARENT_BASE keyword is set. The default is [0, 0].

WINDOW_IN

Set this keyword equal to a name (string, case-sensitive) of a LIVE tool or Insight window, or a LIVE tool buffer, in which to display the visualization. The WINDOW tag of the REFERENCE_OUT structure from the creation of the LIVE tool will provide the window or buffer name. Window names are also visible in visualization window titlebars. The default is to create a new window.

[XY]INDEPENDENT

Set these keywords to a vector specifying X and Y values for LIVE_CONTOUR. The default is the data's index values.

[XY]LOG

Set these keywords to make the specified axis a log axis. The default is 0.

[XY]RANGE

Set these keywords equal to a two-element array which defines the minimum and maximum values of the axis range. The default equals the values computed from the data range.

[XY]_TICKNAME

Set these keywords equal to an array of elements. The values of the strings will be used to label the tick mark for the given axis. The default equals the values computed from the data range.

Example

LIVE_SURFACE, tempData, pressureData ; Visualize two surface representations. To manipulate any part of the surface, double click on surface to access a graphical user interface.

Y = indgen(10)

LIVE_PLOT, Y, WINDOW_IN=w, DIMENSIONS=d, LOCATION=loc1

Y = indgen(20)

LIVE_PLOT, Y, WINDOW_IN=w, DIMENSIONS=d, LOCATION=loc2

The first plot will update to use the Y of the second plot when the second plot is drawn. If the user wants to display 2 "tweaks" of the same data, a different variable name must be used each time, or at least one should be an expression (thus not a named variable). For example:

LIVE_PLOT, Y1,...

LIVE_PLOT, Y2,...

or;

LIVE_PLOT, Y,...

LIVE_PLOT, myFunc(Y),...

In last example, the data of the second visualization will be given a default unique name since an expression rather than a named variable is input.

See Also

SURFACE , SHADE_SURF , Using IDL Insight