SET PICK FILTER(3P) — Kubota Pacfic Computer Inc. (29 February 1991)
NAME
SET PICK FILTER − set a PICK input device’s pick filter, which determines which primitives are pickable
SYNOPSIS
C Syntax
void
pset_pick_filter ( ws, dev_num, filter )
Pintws;workstation identifier
Pintdev_num;pick device number
Pfilter∗filter;pick filter
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.
filterA pointer to a Pfilter structure containing the inclusion set and exclusion set of names. Pfilter is defined in phigs.h as follows:
typedef struct {
Pint_listincl_set;/∗ inclusion set ∗/
Pint_listexcl_set;/∗ exclusion set ∗/
} Pfilter;
The Pint_list structure is defined in phigs.h as follows:
typedef struct {
Pintnum_ints;/∗ number of Pints in list ∗/
Pint∗ints;/∗ list of integers ∗/
} Pint_list;
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)
INQUIRE PICK DEVICE STATE 3 (3P)
September 02, 1992