DESCRIPTION: This module tests the ability of the programmer to control a nameset in the CSS and also tests that the provided facilities meet the minimum simulation requirements. Namesets affect the eligibility of a primitive for highlighting, invisibility, pickability, and incremental spatial search. SEMANTIC REQUIREMENTS: *** *** *** *** *** Namesets *** *** *** *** ***#F 60
SR1. <Add names to set> creates an `add names to set' element in the CSS.
#F 303
SR2. If current element is `add names to set' then <inquire current element type and size> returns the element type as `add names to set' and the appropriate element size.
#F 304
SR3. If current element is `add names to set' then <inquire current element content> returns the appropriate data for `add names to set'.
#F 61
SR4. <Remove names from set> creates a `remove names from set' element in the CSS.
#F 303
SR5. If current element is `remove names from set' then <inquire current element type and size> returns the element type as `remove names from set' and the appropriate element size.
#F 304
SR6. If current element is `remove names from set' then <inquire current element content> returns the appropriate data for `remove names from set'.
#F 205
SR7. <Inquire PHIGS facilities> returns the number of available names for namesets.
#F 205
SR8. The number of available names for namesets is at least 64.
#F 60 61
SR9. The range of accessible names for use by <add names to set> and <remove names from set> is at least 0-63.
#F 60 61
SR10. The range of valid names for use by <add names to set> and <remove names from set> consists of the consecutive integers from 0 to the implementation dependent `number of available names for namesets' - 1.
#F
SR11. At the start of a top-level traversal of a structure network (not a sub-traversal initiated by `execute structure'), the `current name set' of the PTSL is set to the null set.
#F 60
SR12. During traversal, an `add names to set' element changes the `current name set' to become the union of its former value and the specified valid names.
#F 61
SR13. During traversal, a `remove names from set' element changes the `current name set' to become the set difference of its former value minus the specified valid names.
#F 113
SR14. As part of the PHIGS traversal state list, the `current name set' is saved by `execute structure' and then, upon completion of the sub-traversal of the invoked network, restored to the saved value.
#F 9-24 60 61
SR15. Upon traversal of any element that generates an output primitive, the `current name set' of the PTSL is bound to the resulting primitive.
#F 60 61
SR16. During traversal, invalid names specified by an `add names to set' or `remove names from set' element are ignored.
LOCAL DICTIONARY:
Functions --- 009: ppl3 <polyline 3> 010: ppl <polyline> 011: ppm3 <polymarker 3> 012: ppm <polymarker> 013: ptx3 <text 3> 014: ptx <text> 015: patr3 <annotation text relative 3> 016: patr <annotation text relative> 017: pfa3 <fill area 3> 018: pfa <fill area> 019: pfas3 <fill area set 3> 020: pfas <fill area set> 021: pca3 <cell array 3> 022: pca <cell array> 023: pgdp3 <generalized drawing primitive 3> 024: pgdp <generalized drawing primitive> 060: pads <add names to set> 061: pres <remove names from set> 113: pexst <execute structure> 205: pqphf <inquire phigs facilities> 303: pqcets <inquire current element type and size> 304: pqceco <inquire current element content> Data Structures --- 2 ... phigs_description_table 2.5 ... number_of_available_names_for_name_sets 2.22 ... default_name_set 3 ... phigs_traversal_state_list 3.11 ... current_name_set 7 ... structure_state_list 7.3 ... list_of_structure_elements 7.3.1 ... graphical_primitives 7.3.1.1 ... polyline_3 7.3.2 ... primitive_attributes 7.3.2.7 ... nameset_attributes 7.3.2.7.1 ... add_names_to_set 7.3.2.7.2 ... remove_names_from_set SEMANTIC CROSS-REFERENCES: 02.03.03/SR20 LOCAL SUBROUTINES: CURNMS checks the current nameset by performing a conceptual traversal with <incremental spatial search>, and setting its filters so as to accept only the expected value.
You may inspect either the design or code for this program.
You may inspect either the design or code for this program.
You may inspect either the design or code for this program.
You may inspect either the design or code for this program.