Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ pick_from_s(3G) — HP-UX 9.10

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

ele_control(3G)

inq_pick_path(3G)

inq_pick_path_depth(3G)

seg_control(3G)

set_pick_depth(3G)

set_pick_filter(3G)

set_pick_mode(3G)

set_pick_sense(3G)

set_pick_window(3G)

set_pick_traversal_control(3G)

set_traversal_depth(3G)

dl_control(3G)

pick_from_segment(3G)

NAME

pick_from_segment − initiate a pick from a segment

SYNOPSIS

C Syntax:

void pick_from_segment(fildes, segno, found)
int fildes, segno;
int *found;

FORTRAN77 Syntax:

subroutine pick_from_segment(fildes, segno, found)
integer*4 fildes, segno, found

Pascal Syntax:

procedure pick_from_segment(fildes, segno:integer;
var found:integer );

DESCRIPTION

Input Parameters

fildes Integer file descriptor returned by gopen when an I/O path to a graphics device is opened. 

segno Name of segment from which to start the pick

Output Parameters

found Set to TRUE (1) if a primitive is found, otherwise is set to FALSE (0). 

Discussion

Pick_from_segment traverses the specified segment network of the specified graphics device searching for hits on primitives. 

A hit on a primitive occurs when a visible primitive intersects the pick aperture (see set_pick_window(3G) and the Starbase function set_pick_depth(3G)). If a hit occurs on one or more primitives, found is set to TRUE (1).  Otherwise, found is set to FALSE (0).  A path to the picked primitive can be inquired using inq_pick_path(3G).

The number of primitives that can potentially be "hit" is equal to the number of primitives falling within the pick aperture.  The pick mode, as defined by set_pick_mode(3G), determines which hit primitive will be accepted. Default behavior is to accept the first primitive found that intersects the pick aperture.

Device coordinate (dc) primitives cannot generate a hit. 

If the specified segno does not exist, an error is generated. 

Set_traversal_depth(3G) can be used to limit the traversal depth.  The default maximum traversal depth limits traversal processing to 42 segment referencing elements (i.e., call_segment, execute_segment, cond_call_segment or cond_execute_segment). If traversal of one of these elements would exceed the maximum traversal depth, a warning is generated and the element is not traversed.

Segment network traversal can also be limited by pick traversal control elements (see set_pick_traversal_control(3G)), segment control (see seg_control(3G)), individual element control (see ele_control(3G)), and the pick filter (see set_pick_filter(3G) and set_pick_sense(3G)).

Like the display traversal process, the pick traversal process executes elements that may alter the state of Starbase and the graphics display device.  The current position (CP) is undefined after calling pick_from_segment.

ERRORS

1 Graphics device is not initialized for this operation. 

39 Specified segment does not exist. 

1042 Warning: Traversal attempted beyond specified maximum traversal depth. 

HARDWARE DEPENDENCES

The HP 98736 and HP 98705 devices are capable of batched picking, which can increase picking throughput.  This will be enabled automatically if possible.  It can also be enabled through the use of dl_control(3G).

SEE ALSO

ele_control(3G), inq_pick_path(3G), inq_pick_path_depth(3G), seg_control(3G),
set_pick_depth(3G), set_pick_filter(3G), set_pick_mode(3G), set_pick_sense(3G),
set_pick_window(3G), set_pick_traversal_control(3G), set_traversal_depth(3G),
dl_control(3G).

Hewlett-Packard Company  —  HP-UX Release 9.10: April 1995

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026