SET INVISIBILITY FILTER(3P) — Kubota Pacfic Computer Inc. (29 February 1991)
NAME
SET INVISIBILITY FILTER − set the workstation’s name set filter that determines which primitives are invisible
SYNOPSIS
C Syntax
void
pset_invis_filter ( ws, filter )
Pintws;workstation identifier
Pfilter∗filter;highlighting filter
Required PHIGS Operating States
(PHOP, WSOP, ∗, ∗)
DESCRIPTION
Purpose
SET INVISIBILITY FILTER sets the workstation’s invisibility filter, which is compared to the traversal-time current name set of each primitive to determine if the primitive is invisible.
The filter contains an inclusion set and an exclusion set of names. During traversal, a primitive is invisible 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 current name set, inclusion set, and exclusion set is a small positive integer.
C Input Parameters
wsThe identifier of the workstation whose invisibility 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 INVISIBILITY FILTER sets the workstation’s invisibility filter, which contains an inclusion set and an exclusion set of names, both empty by default. A primitive is invisible 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. If the workstation’s invisibility filter inclusion set is empty, then no primitives are invisible.
If the current name set is empty, then subsequent primitives are not invisible. When traversal of a posted structure network 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
059Ignoring function, the specified workstation does not have output capability (in other words, the workstation category is neither OUTPUT, OUTIN, nor MO)
SEE ALSO
ADD NAMES TO SET (3P)
REMOVE NAMES FROM SET (3P)
INQUIRE INVISIBILITY FILTER (3P)
September 02, 1992