Module #04.02.05.02 : Interior bundles

All PVT documentation can be found under PHIGS Validation Tests - Overview. You may also return to the hierarchical table of topics covered by the PVT. For an explanation of the format of the individual module documentation, please see section 2.5 of the User's Guide.


DESCRIPTION:  This module tests the bundled entries and other
workstation facilities for interior.  These entries control the
appearance of fill area and fill area set when they are under
bundled (as opposed to individual) control.

SEMANTIC REQUIREMENTS:

*** *** *** ***   Interior index inquiry   *** *** *** ***


SR1. If current element is interior index then <inquire current element type and size> returns the element type as interior index and the appropriate element size.
#F 303
#D 7.3.2.1.4
#S 4.4.4/29/5
#T P01/1

SR2. If current element is interior index then <inquire current element content> returns the appropriate data for interior index.
#F 304
#D 7.3.2.1.4
#S 4.4.4/29/5
#T P01/2
*** *** ***   Interior attribute traversal binding   *** *** ***


SR3. Upon traversal of a "fill area" or "fill area 3" element, the current interior index in the PTSL is bound to the resulting primitive.
#F 28
#D 3.5.1 7.3.1.9 7.3.1.10
#S 4.5.2/38/3
#T P10/1 P10/2 P10/3 P11/1 P11/2 P12/1 P12/2 P12/3 P12/4 P12/5 P12/6
#T P12/7 P12/8 P13/1

SR4. Upon traversal of a "fill area set" or "fill area set 3" element, the current interior index in the PTSL is bound to the resulting primitive.
#F 28
#D 3.5.1 7.3.1.11 7.3.1.12
#S 4.5.2/38/3
#T P10/1 P10/2 P10/3 P11/1 P11/2 P12/5 P12/7 P12/8 P13/1
*** *** ***   Interior index: element creation   *** *** ***


SR5. <Set interior index> creates a "set interior index" element (in the open structure), whose associated value is taken from the function's parameter.
#F 28
#D 7.3.2.1.4
#S 4.4.1/23/1 4.5.2/38/3
#T P01/1 P01/2 P11/1 P11/2 P12/1 P12/2 P12/3 P12/4 P12/5 P12/6 P12/7
#T P12/8
*** ***   Interior index: effect during traversal   *** ***


SR6. Upon traversal of a "set interior index" element, the current interior index entry in the PHIGS traversal state list (PTSL) is set to the element's associated value.
#F 28
#D 3.5.1 7.3.2.1.4
#S 4.4.1/23/1 4.5.2/38/3
#T P11/1 P11/2 P12/1 P12/2 P12/3 P12/4 P12/5 P12/6 P12/7 P12/8 P13/1

SR7. When a fill area or fill area set is displayed, if its bound interior index is defined on the workstation, then the indicated bundle is the source for the bundled aspects of that interior.
#F 28
#D 3.5.1 5.12.1 5.12.2
#S 4.5.2/38/7 4.5.2/39/7 4.5.8/58/2
#T P10/1 P10/2 P10/3 P11/1 P12/1 P12/2 P12/3 P12/4 P12/5 P12/6 P12/7
#T P12/8 P13/1

SR8. When a fill area or fill area set is displayed, if its bound interior index is undefined on the workstation, then bundle number 1 in the interior bundle table is the source for the bundled aspects of that interior.
#F 28
#D 3.5.1 5.12.1 5.12.2
#S 4.5.2/38/7 4.5.2/39/7 4.5.2/43/3 4.5.8/58/2
#T P11/2
*** *** ***   Interior index: network traversal   *** *** ***


SR9. At the start of a top-level traversal of a structure network (not a sub-traversal caused by execute structure), the current interior index of the PTSL is set to 1.
#F
#D 2.14.1 3.5.1
#S 4.4.3/26/2 4.4.3/28/1 6.3/310/1
#T P13/1

SR10. As part of the PTSL, the current interior index is saved (but not changed) by execute structure and then, upon completion of the sub-traversal of the invoked network, restored to the saved value.
#F 113
#D 3.5.1
#S 4.4.3/28/1
#T P13/1
*** *** ***   Interior Representation   *** *** ***


SR11. <Set interior representation> causes an entry to be defined.
#F 66
#D 5.12.1 5.12.2.1
#S 4.5.2/42/3 4.5.2/43/2
#T P02/2 P02/3 P02/6 P02/7 P02/9 P02/10

SR12. <Set interior representation> sets the interior bundle's interior style, interior style index, and interior colour index.
#F 66
#D 5.12.2
#S 4.5.2/42/3
#T P01/3 P02/4 P02/8 P02/11

SR13. <Inquire list of interior indices> returns the list of defined interior indices.
#F 228
#D 5.12.1 5.12.2.1
#S
#T P02/1 P02/2 P02/3 P02/5 P02/6 P02/7 P02/9 P02/10 P02/12

SR14. <Inquire interior representation> works for all defined entries.
#F 228 229
#D 5.12.1 5.12.2.1
#S
#T P02/12

SR15. <Inquire interior representation> returns the interior bundle's interior style, interior style index, and interior colour index, as set when type of returned values specified as SET.
#F 229
#D 5.12.2
#S 4.11/108/1
#T P01/3 P02/4 P02/8 P02/11

SR16. <Inquire interior representation> returns the interior bundle's interior style, interior style index, and interior colour index, as realized when type of returned values specified as REALIZED.
#F 229
#D 5.12.2
#S 4.11/108/1
#T P02/5 P04/3 P06/1 P07/1 P07/3 P07/4 P07/5 P07/6 P08/4 P08/6 P09/1
#T P09/3

SR17. <Inquire interior representation> returns the representation for bundle number 1, if type of returned values is REALIZED, and bundle index is undefined.
#F 228 229
#D 5.12.2
#S
#T P02/5
*** *** ***   Maximum size of bundle table   *** *** ***


SR18. <Inquire workstation state table lengths> returns the maximum size of interior bundle table.
#F 285
#D 6.21.4
#S
#T P03/1 P03/2

SR19. There are at least 20 settable entries available in the interior bundle table.
#F 66 285
#D 5.12 6.21.4
#S 4.14/114/2 6.7/324/1
#T P03/1
*** *** ***   Predefined bundle facilities   *** *** ***


SR20. <Inquire interior facilities> returns the number of predefined interior bundle entries.
#F 270
#D 6.14.1.5
#S
#T P04/1 P04/7

SR21. <Inquire predefined interior representation> returns the interior style, interior style index, and interior colour index for a predefined interior bundle.
#F 271
#D 6.14.2
#S
#T P04/1 P04/2 P04/4 P04/5 P04/6 P04/8 P05/2 P10/1 P10/2 P10/3

SR22. All workstation types have at least 5 predefined interior bundles.
#F 270 271
#D 6.14.1.5 6.14.2
#S 4.14/113/3 4.14/114/2 6.7/322/1
#T P04/7

SR23. No two of the first 5 predefined interior bundles have identical sets of attributes.
#F 271
#D 6.14.2
#S 4.5.2/42/3 4.14/113/3 4.14/114/2 6.7/322/1
#T P04/8

SR24. The n predefined interior bundles in the Workstation Description Table (WDT) are indexed as 1-n.
#F 271
#D 6.14.2
#S 6.7/322/1
#T P04/1 P05/2 #C The standard presumes this because in section 6.7 the predefined
bundles in the WDT do not mention index as a data item, nor is there a
way to get a list of these indices (<inquire interior facilities> gives
the number of predefined bundles, but not a list thereof).

SR25. Immediately after <open workstation>, for each WDT predefined interior entry there exists a Workstation State List (WSL) interior entry with the same attributes, including the same interior index.
#F 228 229 271 3
#D 5.12.2 6.14.2
#S 4.5.2/42/3 6.6/317/1 6.7/322/1
#T P05/1 P05/2 P10/1 P10/2

SR26. Immediately after <open workstation>, the interior bundle table contains nothing but the entries initialized from the WDT predefined interior bundle table.
#F 228 229 270 3
#D 5.12.2 6.14.2
#S 4.5.2/42/3 6.6/317/1 6.7/322/1
#T P05/1
*** *** ***   Validity of predefined bundles   *** *** ***


SR27. Each predefined interior bundle has an interior style within the list of available interior styles.
#F 270 271
#D 6.14.1.2 6.14.2.1
#S 5.12.1/232/2
#T P04/3 P04/4

SR28. Each predefined interior bundle with PATTERN interior style has an interior style index within range of the predefined pattern indices.
#F 271 274
#D 6.14.2.1 6.14.2.2 6.16.1.1
#S 6.7/322/1
#T P04/3 P04/5

SR29. Each predefined interior bundle with HATCH interior style has an interior style index within range of the predefined hatch indices.
#F 270 271
#D 6.14.1.4 6.14.2.1 6.14.2.2
#S 6.7/322/1
#T P04/3 P04/6

SR30. Each predefined interior bundle has a color index within range of the predefined color indices.
#F 271 277
#D 6.14.2.3 6.17.2.4
#S 6.7/322/1
#T P04/2 P04/3
*** *** ***   interior style support   *** *** ***


SR31. The only valid values in the list of available interior styles are: HOLLOW, SOLID, PATTERN, HATCH, and EMPTY.
#F 66 229 270 271
#D 5.12.2.2 6.14.1.2 6.14.2.1
#S 4.5.8/58/3 6.7/322/1
#T P06/2

SR32. The list of available interior styles returned by <inquire interior facilities> must contain HOLLOW and EMPTY.
#F 270
#D 6.14.1.2
#S 4.5.8/62/2 4.14/113/3
#T P06/3

SR33. All the interior styles in the list of available interior styles are valid and realizable for the workstation.
#F 66 270
#D 6.14.1.2.1
#S
#T P06/1

SR34. If PATTERN interior style is supported on the workstation, there must be at least 1 predefined pattern index.
#F 270 274
#D 6.14.1.2 6.16.1.1
#S 4.14/114/2
#T P06/4
#X 04.02.05.04


SR35. When a fill area or fill area set is displayed, if its interior style ASF is bundled, then its interior style aspect is taken from the interior bundle determined by the interior index.
#F 28 62 66
#D 3.5.1 3.5.5 5.12.2.1 5.12.2.2
#S 4.5.2/39/7 4.5.8/58/2
#T P12/1 P12/2 P12/3 P12/4 P12/5 P12/6

SR36. When available on the workstation to which posted, interior styles appear as hollow, solid, pattern, hatch, and empty, in accordance with the intuitive description implied by the name of each style.
#F
#D 6.14.1.1 6.14.1.2
#S 4.5.8/58/3
#T P12/1 #C See module 04.03.05 for a full specification.
*** ***   interior style index support   *** ***


SR37. Except for pattern index, any interior style index, whether or not defined for that workstation, may be specified for an interior bundle when invoking <set interior representation>.
#F 66
#D 5.12.2.3
#S
#T P07/7

SR38. Any positive pattern index, whether or not defined for that workstation, may be specified for an interior bundle when invoking <set interior representation>.
#F 66
#D 5.12.2.3
#S
#T P07/2

SR39. When a fill area or fill area set is displayed, if its interior style index ASF is bundled, then its interior style index aspect is taken from the interior bundle determined by interior index.
#F 28 62 66
#D 3.5.1 3.5.6 5.12.2.1 5.12.2.3
#S 4.5.2/39/7 4.5.8/58/2
#T P12/2 P12/3 P12/4 P12/5 P12/6

SR40. For PATTERN and HATCH interior styles, when a fill area or fill area set is displayed, if its interior style index is defined on the workstation, then the interior style index is realized as itself.
#F 66 229
#D 5.12.2.3 5.14.2.1 6.14.1.4
#S
#T P07/1 P07/6 P08/6 P12/2 P12/3 P12/5

SR41. For PATTERN and HATCH interior styles, when a fill area or fill area set is displayed, if its interior style index is undefined on the workstation and interior style index #1 is available, then it is realized as index #1.
#F 66 229
#D 5.12.2.3 5.14.2.1 6.14.1.4
#S
#T P07/3 P07/4 P07/5 P08/4 P12/4 P12/6
#X 04.02.05.04
#C Pattern index #1 should always be available; see SRs in
04.02.05.04.  Hatch index #1 may or may not be supported.  If
not, then the effect of requesting an unavailable hatch style
(either #1 or some other unsupported style) is workstation
dependent.

*** *** ***   hatch index support   *** *** ***


SR42. For workstations supporting HATCH interior style, at least 3 hatch styles must be available.
#F 270
#D 6.14.1.2 6.14.1.3
#S 4.14/114/2 6.7/322/1
#T P08/2

SR43. If HATCH interior style is not available, the number of available hatch styles returned by <inquire interior facilities> is 0.
#F 270
#D 6.14.1.2 6.14.1.3
#S
#T P08/1

SR44. For HATCH interior style, the absolute value of the number of available hatch styles types returned from <inquire interior facilities> indicates the length of the list of available hatch styles.
#F 270
#D 6.14.1.3 6.14.1.4
#S 6.7/322/1
#T P08/3

SR45. For HATCH interior style, if the number of available hatch styles types is positive, the list of available hatch styles contains any implementation dependent types.
#F 270
#D 6.14.1.3 6.14.1.4
#S
#T P08/4

SR46. For HATCH interior style, if the number of available hatch styles is negative, the list of available hatch styles does not contain any implementation dependent types.
#F 270
#D 6.14.1.3 6.14.1.4
#S
#T P08/5

SR47. For HATCH interior style, positive hatch styles are registered; non-positive hatch styles are implementation dependent.
#F 270
#D 6.14.1.4
#S 4.5.8/61/2
#T P08/4 P08/5 P12/2 P12/3

SR48. When available on the workstation to which posted, hatch styles greater than 0 appear as specified in the ISO register.
#F
#D 6.14.1.4
#S 4.5.8/61/2
#T P12/2

SR49. When available on the workstation to which posted, hatch styles less than 1 appear as specified in the implementor documentation.
#F
#D 6.14.1.4
#S 4.1.1/15/1 4.5.8/62/1
#T P12/3
*** ***   interior color index support   *** ***


SR50. Any non-negative interior color index, whether or not defined for that workstation, may be specified for an interior bundle when invoking <set interior representation>.
#F 66
#D 5.12.2.4
#S
#T P09/2 P12/7 P12/8

SR51. When a fill area or fill area set is displayed, if its interior color index ASF is bundled, then its interior color index is taken from the interior bundle determined by the interior index.
#F 28 62 66
#D 3.5.1 3.5.7 5.12.2.1 5.12.2.4
#S 4.5.2/39/7 4.5.8/58/2
#T P09/1 P09/3 P12/7 P12/8

SR52. When a fill area or fill area set is displayed, if its interior color index is available on the workstation, then the interior color index is realized as itself.
#F 229 235
#D 5.12.2.4 5.15.3
#S 4.5.2/39/7 4.5.8/58/2 4.5.12/63/4
#T P09/1 P12/7

SR53. When a fill area or fill area set is displayed, if its interior color index is undefined, then the interior color index is realized as color index 1.
#F 229 235
#D 5.12.2.4 5.15.3
#S 4.5.2/39/7 4.5.2/43/3 4.5.8/58/2 4.5.12/63/4
#T P09/3 P12/8

LOCAL DICTIONARY:

  Functions ---
  003: popwk   <open workstation>
  028: psii    <set interior index>
  062: psiasf  <set individual asf>
  066: psir    <set interior representation>
  113: pexst   <execute structure>
  228: pqeii   <inquire list of interior indices>
  229: pqir    <inquire interior representation>
  235: pqeci   <inquire list of colour indices>
  270: pqif    <inquire interior facilities>
  271: pqpir   <inquire predefined interior representation>
  274: pqpaf   <inquire pattern facilities>
  277: pqcf    <inquire colour facilities>
  285: pqwksl  <inquire workstation state table lengths>
  303: pqcets  <inquire current element type and size>
  304: pqceco  <inquire current element content>
 
  Data Structures ---
  2  ...  phigs_description_table
  2.14  ...  default_interior_attributes
  2.14.1  ...  default_interior_index
  3  ...  phigs_traversal_state_list
  3.5  ...  current_interior_attributes
  3.5.1  ...  current_interior_index
  3.5.5  ...  current_interior_style_asf
  3.5.6  ...  current_interior_style_index_asf
  3.5.7  ...  current_interior_colour_index_asf
  5  ...  workstation_state_list
  5.12  ...  interior_entry
  5.12.1  ...  number_of_interior_bundle_table_entries
  5.12.2  ...  interior_bundle_table
  5.12.2.1  ...  interior_index
  5.12.2.2  ...  interior_style
  5.12.2.3  ...  interior_style_index
  5.12.2.4  ...  interior_colour_index
  5.14  ...  pattern_entry
  5.14.2  ...  pattern_table
  5.14.2.1  ...  pattern_index
  5.15  ...  colour_entry
  5.15.3  ...  colour_table
  6  ...  workstation_description_table
  6.14  ...  interior_entry
  6.14.1  ...  interior_facilities
  6.14.1.1  ...  number_of_available_interior_styles
  6.14.1.2  ...  list_of_available_interior_styles
  6.14.1.2.1  ...  interior_style
  6.14.1.3  ...  number_of_available_hatch_styles
  6.14.1.4  ...  list_of_available_hatch_styles
  6.14.1.5  ...  number_of_predefined_interior_indices
  6.14.2  ...  predefined_interior_bundle_table
  6.14.2.1  ...  interior_style
  6.14.2.2  ...  interior_style_index
  6.14.2.3  ...  interior_colour_index
  6.16  ...  pattern_entry
  6.16.1  ...  pattern_facilities
  6.16.1.1  ...  number_of_predefined_pattern_indices
  6.17  ...  colour_entry
  6.17.2  ...  colour_facilities
  6.17.2.4  ...  number_of_predefined_colour_indices
  6.21  ...  maximum_table_lengths
  6.21.4  ...  maximum_number_of_interior_bundle_table_entries
  7  ...  structure_state_list
  7.3  ...  list_of_structure_elements
  7.3.1  ...  graphical_primitives
  7.3.1.9  ...  fill_area_3
  7.3.1.10 ...  fill_area
  7.3.1.11 ...  fill_area_set_3
  7.3.1.12 ...  fill_area_set
  7.3.2  ...  primitive_attributes
  7.3.2.1  ...  bundle_index_attributes
  7.3.2.1.4  ...  interior_index
 
SEMANTIC CROSS-REFERENCES:
  04.02.05.04/SR13 04.02.05.04/SR14

LOCAL SUBROUTINES:

DISINB selects SAMP predefined bundles at random from the
interior bundle table which are distinct in all their attributes.
If there are not SAMP completely distinct bundles, DISINB tries
to maximize the number of different attributes.

DRWINT draws a set of rectangles where the actual interiors are
drawn using the specified bundle values, and a set of expected
interiors are drawn using the attribute values returned by
<inquire predefined interior representation>.  It draws the
expected interior incorrectly at the specified position.



PROGRAM 1: Simple setting and inquiring

You may inspect either the design or code for this program.


PROGRAM 2: Setting entries of various kinds

You may inspect either the design or code for this program.


PROGRAM 3: Interior bundle table length

You may inspect either the design or code for this program.


PROGRAM 4: Validity of predefined interior bundles

You may inspect either the design or code for this program.


PROGRAM 5: WSL interior bundles initialized properly

You may inspect either the design or code for this program.


PROGRAM 6: Interior style facilities

You may inspect either the design or code for this program.


PROGRAM 7: Interior style index facilities

You may inspect either the design or code for this program.


PROGRAM 8: Interior style index: hatch

You may inspect either the design or code for this program.


PROGRAM 9: Interior color index

You may inspect either the design or code for this program.


PROGRAM 10: Appearance of predefined interior bundles

You may inspect either the design or code for this program.


PROGRAM 11: Interior bundle index

You may inspect either the design or code for this program.


PROGRAM 12: Appearance of bundled attributes

You may inspect either the design or code for this program.


PROGRAM 13: Network inheritance and initialization of interior index

You may inspect either the design or code for this program.

End of documentation for 04.02.05.02