Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ premovenameset(3P) — PHIGS 1.1

Media Vault

Software Library

Restoration Projects

Artifacts Sought

REMOVE NAMES FROM SET(3P)  —  SUNPHIGS LIBRARY

NAME

REMOVE NAMES FROM SET − create a structure element to remove names from the current name set

SYNOPSIS

C Syntax

void
premovenameset ( set )
Pintlst∗set;set of names to be removed

FORTRAN Syntax

SUBROUTINE pres ( N, NAMSET )
INTEGERNnumber of names in the set
INTEGERNAMSET(N)name set

Required PHIGS Operating States

(PHOP, ∗, STOP, ∗)

DESCRIPTION

Purpose

REMOVE NAMES FROM SET creates a structure element containing names to be removed from the traversal-time ‘current name set’, and puts the element into the currently open structure according to the current edit mode.  The current name set is compared during traversal to the workstation’s name set filters to determine if primitives which follow in the structure network are invisible, highlighted, and/or selectable by PICK input devices.  Each name in the name set is a small non-negative integer. 

If the current edit mode is INSERT, the REMOVE NAMES FROM SET element is inserted into the open structure after the element pointed to by the current element pointer. If the edit mode is REPLACE, the REMOVE NAMES FROM SET element replaces the element pointed to by the element pointer. In either case, the element pointer is updated to point to the new element. 

C Input Parameter

setA pointer to a Pintlst structure containing the set of names to be removed.  The Pintlst data structure is defined in phigs.h as:

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

FORTRAN Input Parameters

NThe number of names to be removed. 

NAMSET
An array containing the set of N names to be removed. 

Execution

When traversal of a posted structure network starts, the ‘current name set’ is empty. During traversal, the member names specified by ADD NAMES TO SET elements are added to the current name set.  The member names specified by REMOVE NAMES FROM SET elements are removed from the current name set. 

The updated current name set applies to primitives which follow in the structure network by set-intersection with the workstation’s name set filters, which are set by SET INVISIBILITY FILTER(3P), SET HIGHLIGHTING FILTER(3P), and SET PICK FILTER(3P).  Each workstation has a single ‘invisibility filter’, a single ‘highlighting filter’, and a ‘pick filter’ for each PICK input device.  The actual appearance of highlighting is workstation dependent. 

Each filter contains an inclusion set and an exclusion set of names, both empty by default.  A primitive is eligible 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 current name set is empty, subsequent primitives are not eligible.  If the workstation’s inclusion set is empty (the default), no primitives are eligible.  That is, no primitives are invisible, highlighted, or selectable by PICK input devices. 

Each name is a small non-negative integer.  PHIGS conformance requires support for at least 64 names; SunPHIGS supports the range 0 to 1023.  The same names may be added and removed any number of times during traversal.  Since the presence or absence of each name in the current nameset and the workstation’s filter affects the eligibility of subsequent primitives, 1024 names provide up to 1024 different simultaneous groupings of primitives. 

ERRORS

005Ignoring function, function requires state (PHOP, ∗, STOP, ∗)

SEE ALSO

ADD NAMES TO SET (3P)
SET INVISIBILITY FILTER (3P)
SET HIGHLIGHTING FILTER (3P)
SET PICK FILTER (3P)
INCREMENTAL SPATIAL SEARCH (3P)
INCREMENTAL SPATIAL SEARCH 3 (3P)

Sun Release 4.0  —  Last change: 28 July 1989

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