Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ psetpickfilter(3P) — PHIGS 1.1

Media Vault

Software Library

Restoration Projects

Artifacts Sought

SET PICK FILTER(3P)  —  SUNPHIGS LIBRARY

NAME

SET PICK FILTER − set a PICK input device’s pick filter, which determines which primitives are pickable

SYNOPSIS

C Syntax

void
psetpickfilter ( ws, dev_num, inclusion, exclusion )
Pintws;workstation identifier
Pintdev_num;pick device number
Pintlst∗inclusion;pick inclusion filter
Pintlst∗exclusion;pick exclusion filter

FORTRAN Syntax

SUBROUTINE pspkft ( WKID, PKDNR, ISN, IS, ESN, ES )
INTEGERWKIDworkstation identifier
INTEGERPKDNRpick device number
INTEGERISNnumber of names in the inclusion set
INTEGERIS(ISN)inclusion set
INTEGERESNnumber of names in the exclusion set
INTEGERES(ESN)exclusion set

Required PHIGS Operating States

(PHOP, WSOP, ∗, ∗)

DESCRIPTION

Purpose

SET PICK FILTER sets the ‘pick filter’ of a PICK input device, which is compared to the traversal-time ‘current name set’ of each primitive to determine if the primitive is pickable by that device. 

The filter contains an inclusion set and an exclusion set of names.  During traversal, a primitive is pickable by the PICK input device if at least one name in the ‘current name set’ is in the inclusion set and no name in the ‘current name set’ is in the exclusion set.  This means the exclusion set has precedence over the inclusion set.  Each name in the name set, inclusion set, and exclusion set is a small positive integer. 

C Input Parameters

wsThe identifier of the workstation. 

dev_num
The device number of the PICK input device on this workstation whose ‘pick filter’ is to be set. 

inclusion
A pointer to a Pintlst structure containing the set of names for the inclusion set. 

exclusion
A pointer to a Pintlst structure containing the set of names for the exclusion set. 

The Pintlst structure is defined in phigs.h as:

typedef struct {
Pintnumber;/∗ number of Pints in list ∗/
Pint∗integers;/∗ list of integers ∗/
} Pintlst;

FORTRAN Input Parameters

WKIDThe identifier of the workstation of the PICK input device. 

PKDNR
The device number of the PICK input device whose ‘pick filter’ is to be set. 

ISNThe number of names for the inclusion set. 

ISAn array containing the set of ISN names for the inclusion set. 

ESNThe number of names for the exclusion set. 

ESAn array containing the set of ESN names for the exclusion set. 

Execution

SET PICK FILTER sets the PICK input device’s ‘pick filter’, which contains an inclusion set and an exclusion set of names, both empty by default.  A primitive is pickable by a workstation’s PICK input device if at least one name in the ‘current name set’ is in the PICK device’s ‘pick filter’ inclusion set and no name in the ‘current name set’ is in the device’s pick filter exclusion set.  If the device’s ‘pick filter’ inclusion set is empty, no primitives are pickable by that device. 

If the ‘current name set’ is empty, subsequent primitives are not pickable by any PICK device.  When the conceptual traversal of a posted structure network (to determine what primitive is being picked) starts, the ‘current name set’ is empty.  During traversal, the member names specified by the ADD NAMES TO SET element are added to the ‘current name set’ by the “union” operation on the sets; REMOVE NAMES FROM SET elements remove names from the ‘current name set’. 

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

SEE ALSO

ADD NAMES TO SET (3P)
REMOVE NAMES FROM SET (3P)
INITIALIZE PICK (3P)
SET PICK MODE (3P)
REQUEST PICK (3P)
GET PICK (3P)
SAMPLE PICK (3P)
INQUIRE PICK DEVICE STATE (3P)

Sun Release 4.0  —  Last change: 10 July 1989

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