A relatively new concept is that of the name set: A name set controls visibility, highlighting and structure element detectability without the structures having to be edited (this control does not require the location of the elements in the CSS to be known).
To assign these characteristics to a primitive, the application starts by grouping the primitive in a logical set or class. The application then controls which of the classes must be visible, highlighted and/or picked. A set of classes defined by the application is a name set.
Each primitive has the name set attribute:
A name set can thus be the empty set, or a set containing one or more class names.
Also, each workstation state list contains:
These sets are used as filters during traversal. They are called INCLUSION SET xxx and EXCLUSION SET xxx ("xxx" can be "invisibility", "highlighting" or "detectability"). Each two-set group is defined by the SET xxx FILTER function.
For a primitive to be eligible for highlighting, invisibility or picking, the name set of the primitive must:
This can be shown mathematically:
Let
N = the current name set in the PHIGS Traversal State list
S = the specified name set
I = INCLUSION SET xxx
E = EXCLUSION SET xxx
Ø = the empty set
Thus the ADD NAMES TO SET operation is:
N = N + S
and the REMOVE NAMES FROM SET operation is:
N = N - S
And the eligibility for one of the xxx operations is defined by:
(N inter I != Ø) AND (N inter E = Ø)
If N or I = Ø, nothing will ever be included, while if E = Ø, none of that which is included will be excluded.
Default NAME SET: Ø This means everything is visible, nothing can be detected or highlighted
Example: For a GPHIGS structure representing the construction of an airplane.
The designer decides that the parts of the plane which are of interest to the end user include the fuel system, the electrical system and the hydraulic system to operate the wings. The primitive structures are then arranged in classes representing the different aspects of the airplane: (right (starboard) wing, left (port) wing, fuel system, electrical system, hydraulic system).
The "plane" structure will be constructed as shown in Figure 5.22.a. The application will allow the end user to design only the fuel system for the left wing by defining an inclusion set which will be (left wing, fuel system) and an exclusion set which will be (right wing, electrical system, hydraulic system); this will allow only the primitives with the name set attributes left wing and fuel system to be designated.

Figure 5.22.a