Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ request_pick(3P) — PHIGS 1.1

Media Vault

Software Library

Restoration Projects

Artifacts Sought

REQUEST PICK(3P)  —  SUNPHIGS LIBRARY

NAME

REQUEST PICK − request an operator interaction with a pick device

SYNOPSIS

C Syntax

void
preqpick ( ws, dev, depth, pick )
Pintws;workstation identifier
Pintdev;pick device number
Pintdepth;max. depth of returned path
Pqpick∗pick;OUT requested pick data

FORTRAN Syntax

SUBROUTINE prqpk ( WKID, PKDNR, IPPD, STAT, PPD, PP )
INTEGERWKIDworkstation identifier
INTEGERPKDNRpick device number
INTEGERIPPDdepth of pick path to return
INTEGERSTATOUT status (PNONE, POK, PNPICK)
INTEGERPPDOUT depth of actual pick path
INTEGERPP(3, IPPD)OUT pick path

Required PHIGS Operating States

(PHOP, WSOP, ∗, ∗)

DESCRIPTION

Purpose

Use REQUEST PICK to request an operator interaction with a specified pick device. The device must be in request mode. See SET PICK MODE and INITIALIZE PICK for more information.  See the Available Devices section of INITIALIZE PICK for a description of the available pick devices. 

The request suspends PHIGS until the specified device is triggered, or the operator performs a BREAK.  A BREAK is performed by typing the CONTROL and D keys simultaneously (^D). 

C Input Parameters

wsWorkstation identifier. An integer specifying the workstation with which the requested pick device is associated. 

devThe device number of the requested pick device. 

depthThe maximum depth of the pick path to return.  This may be more or less than the actual path depth in the current event report. 

pickA pointer to a Pqpick data structure in which to store the status of the request and, if available, the pick data.  Pqpick is defined in phigs.h as follows:

typedef struct {
Pqpickstatusstatus;/∗ status of request ∗/
Ppickpathpick;/∗ pick information ∗/
} Pqpick;

Pqpickstatus is defined in phigs.h as follows:

typedef enum {
PQP_OK,
PQP_NOPICK,
PQP_NONE
} Pqpickstatus;

pick_path contains the measure’s pick path.  This field is undefined if the status returned is PCH_NOPICK.  Ppickpath is defined in phigs.h as:

typedef struct {
Pintdepth;/∗ pick path depth ∗/
Ppickpathel∗pick_path;/∗ pick path list ∗/
} Ppickpath;

depth indicates the number of elements in the measure’s path.  This is the depth value contained in the measure of the current event report, and is not affected by the maximum depth to return parameter.  Thus the number of elements returned in pick_path may be less than depth. 

pick_path is the array of path elements defining the location of the picked primitive in the CSS.  This array must be allocated by the calling program and the array pointer assigned to this field before calling this function. The array must be at least of length maximum depth to return.  Ppickpathel is defined in phigs.h as:

typedef struct {
Pintstruct_id;/∗ structure identifier ∗/
Pintpick_id;/∗ pick identifier ∗/
Pintel_num;/∗ element number ∗/
} Ppickpathel;

struct_id, pick_id and el_num are the structure identifier, pick id and element number, respectively, of each element in the path. 

FORTRAN Input Parameters

WKIDThe workstation identifier of the workstation associated with the device. 

PKDNR
The device number of the PICK device.  See the Available Devices section of INITIALIZE PICK for a description of the available devices. 

IPPDThe maximum number of path elements to return.  This may be more or less than the actual path depth in the current event report. 

STATThe measure’s request pick status.  Valid values as defined in phigs77.h are:

• PNONE(BREAK)
•  POK(OK)
•  PNPICK(NO PICK)

PPDThe actual pick path depth.  This value is defined only if the status returned is OK. 

PPAn array in which to store the measure’s pick path.  The contents of this array are undefined if the status returned is PNPICK.  This is the 2 dimensional array of path elements defining the location of the picked primitive in the CSS.  Each row of the array contains the structure identifier, pick id and element number, respectively, of each element in the path.  The array must be at least of dimension (3,IPPD). 

Execution

REQUEST PICK requests a logical input value from the specified pick device. The specified device must be in request mode. See SET PICK MODE for more information. 

REQUEST PICK creates a measure process for the specified device and suspends PHIGS until the device is triggered or the operator issues a BREAK.  A BREAK is generated by the operator by depressing the Control and D keys simultaneously (^D). 

If the pick device is triggered and a pick has not been made, the status is returned as NO PICK, and no pick data is returned.  If the pick device is triggered and a pick has been made, the status is returned as OK, and the pick data is available in the output parameters.  If a BREAK occurs, the status is returned as NONE, and no pick value is returned. 

In all cases, when the device is triggered or a BREAK is issued, the current measure process is terminated and PHIGS processing resumes. 

See INITIALIZE PICK 3 for a description of the available PICK devices and how their measure values are determined. 

ERRORS

003Ignoring function, function requires state (PHOP, WSOP, ∗, ∗)

054Ignoring function, the specified workstation is not open

060Ignoring function, specified workstation is not of category OUTIN

250Ignoring function, the specified device is not available on the specified workstation

251Ignoring function, the function requires the input device to be in REQUEST mode

SEE ALSO

INITIALIZE PICK (3P)
SET PICK FILTER (3P)
SET PICK IDENTIFIER (3P)
SET PICK MODE (3P)

Sun Release 4.0  —  Last change: 12 July 1989

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