OpenDX - Documentation
Full Contents QuickStart Guide User's Guide User's Reference
Previous Page Next Page Table of Contents Partial Table of Contents Index Search

Pick

Category

Special

Function

Outputs a pick structure.

Syntax

picked = Pick(pickname, imagename, locations, reexecute, first,
              persistent, interpolate, object, camera);

Inputs
Name Type Default Description
pickname string none name of cached picks
imagename string none name of cached scene
locations vectorlist no default 2-D screen coordinate pick positions
reexecute flag none cause reexecution whenever pick list is reset
first flag 1 0: include all "picks"
1: include only first "picks"
persistent flag 1 0: "picks" not saved
1: "picks" saved
interpolate integer 0 0: no data interpolation
1: nearest vertex interpolation 2: interpolate
object object no default object to be "poked"
camera camera none camera used to create scene picked in

Outputs
Name Type Description
picked field pick structure

Functional Details

Picking involves using the mouse to determine information about an object rendered in an image. (If there is more than one image in the visual program, then the image which is assumed is the one from which picking was made active using the View Control dialog.) The user may select one or more points on the screen by positioning the mouse and pressing the left button; each such action is referred to as a "poke." Each poke may intersect the object at one or more places or may miss the object altogether. Each intersection is called a "pick." For example, a poke on a spherical isosurface will result in two picks, one on the front surface and one on the rear.

Individual subobjects in a structured scene may be made unpickable by attaching an attribute named "pickable", with a value of 0 (zero), to the root of the subobject, using the Options module.

The information returned by Pick in picked includes the positions in the (xyz) world-coordinate system at which the picks occurred. These positions (contained in the "positions" component of picked) may be used to determine the coordinates of points on objects, to start streamlines, or to label points on the surface (by using AutoGlyph appropriately). These kinds of operations can be done directly in a visual program, without writing a special module.

In addition to the pick positions, picked contains information identifying the individual elements of the object structure that was picked. This information can be used to select elements of the object structure at any level down to the connections element and vertex closest to the pick point. See IBM Visualization Data Explorer Programmer's Reference for an example module that uses the position information contained in the pick structure.

pickname

is used only by the user interface and is not intended to be set by users.

imagename

is used only by the user interface and is not intended to be set by users.

locations

is a list of 2 dimensional screen coordinates pixel positions identifying the picks. If you are using the Image tool, this parameter is set automatically for you by the user interface. If you are using SuperviseWindow and SuperviseState, then the events output of SuperviseState should be used to provide this input.

reexecute

is used only by the user interface and is not intended to be set by users.

first

specifies whether all picks generated by a poke intersecting an object are to be added to the pick structure or only the first pick (i.e., the pick closest to the viewpoint):

0

All picks are added to the output.

1

Only the first pick is reported for each poke.

persistent

specifies whether or not picks are saved between executions:

0

Picks are not saved.

1

Picks are saved and are deleted only when the user makes new pokes.

Note: When new picks are made, the previous pick points are discarded.

interpolate

specifies whether a "data" component should be created in picked and, if so, how the interpolation of values for that component should be performed.

If the interpolate parameter is set to 1 or 2, the Pick output object will contain a set of components matching the set of dependent components in the picked object. Each of the components in the output object is dependent on the "positions" component of picked. For components that are dependent on connections in the picked object, the data for the picked element will be placed in the output component.

For components that are dependent on positions in the picked object, the data placed in the output object is determined by one of two options:
 1 = "nearest vertex"  The data corresponding to the vertex nearest the pick point is extracted.
 2 = "interpolated data"  The data is interpolated from the vertex data of the picked element.
In either case, an additional component is created (called "closest vertex") that receives the coordinates of the vertex closest to the pick point among the vertices of the picked element.

Note: Regardless of which of the two options is selected, if different picks result in different sets of components or different data types in components of the same name, an error results.

object

allows the user to override the object being picked. By default, this object is the one rendered in the Image window associated with the previous execution of the graph. If the scene consists of several objects collected before rendering, and if only some of them are to be made pickable, the user can pass those objects directly into Pick. The object parameter also makes it possible to pick in an object that lies in the same coordinate space as the scene does but is not in fact a part of the scene.

camera

sets the camera used to create the scene being picked in. If you are using the Image tool, this parameter is set automatically for you by the user interface. If you are using SuperviseState and SuperviseWindow, then you must provide the camera used to render the scene.

Note: Pick currently supports surfaces, lines, and points. Picking does not support volume elements; if a poke is made on a volume object in the image, no picks will result.

Example Visual Program

PickStreamline.net

See Also

 SuperviseWindow,  SuperviseState

 "Using Pick" in IBM Visualization Data Explorer User's Guide.


Full Contents QuickStart Guide User's Guide User's Reference

[ OpenDX Home at IBM | OpenDX.org ]