Module #04.02.05.03 : Edge 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
workstation facilities for the edges of the fill area set
primitive.  These entries control the appearance of edges when
they are under bundled (as opposed to individual) control.


SEMANTIC REQUIREMENTS:

*** *** *** ***   Edge index inquiry   *** *** *** ***


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

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


SR3. Upon traversal of a "fill area set" or "fill area set 3" element, the current edge index in the PTSL is bound to the resulting primitive.
#F 29
#D 3.6.1 7.3.1.11 7.3.1.12
#S 4.5.2/38/3 4.5.2/40/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 P12/9 P12/10 P13/1
*** *** ***   Edge index: element creation   *** *** ***


SR4. <Set edge index> creates a "set edge index" element, (in the open structure), whose associated value is taken from the function's parameter.
#F 29
#D 7.3.2.1.5
#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 P12/9 P12/10
*** ***   Edge index: effect during traversal   *** ***


SR5. Upon traversal of a "set edge index" element, the current edge index entry in the PHIGS traversal state list (PTSL) is set to the element's associated value.
#F 29
#D 3.6.1 7.3.2.1.5
#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 P12/9
#T P12/10 P13/1

SR6. When a fill area set is displayed, if its bound edge index is defined on the workstation, then the indicated bundle is the source for the bundled aspects of that edge.
#F 29
#D 3.6.1 5.13.1 5.13.2
#S 4.5.2/38/7 4.5.2/39/7 4.5.9/62/5
#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 P12/9 P12/10 P13/1

SR7. When a fill area set is displayed, if its bound edge index is undefined on the workstation, then bundle number 1 in the edge bundle table is the source for the bundled aspects of that edge.
#F 29
#D 3.6.1 5.13.1 5.13.2
#S 4.5.2/38/7 4.5.2/39/7 4.5.2/43/3 4.5.9/62/5
#T P11/2
*** *** ***   Edge index: network traversal   *** *** ***


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

SR9. As part of the PTSL, the current edge 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.6.1
#S 4.4.3/28/1
#T P13/1
*** *** ***   Edge Representation   *** *** ***


SR10. <Set edge representation> causes an entry to be defined.
#F 67
#D 5.13.1 5.13.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

SR11. <Set edge representation> sets bundle's edge flag, edgetype, edgewidth scale factor, and colour index.
#F 67
#D 5.13.2
#S 4.5.9/62/4
#T P01/3 P02/4 P02/8 P02/11 P08/5 P08/6 P08/7 P08/8 P08/9 P08/10

SR12. <Inquire list of edge indices> returns list of all defined edge indices.
#F 230
#D 5.13.1 5.13.2.1
#S
#T P02/1 P02/2 P02/3 P02/5 P02/6 P02/7 P02/9 P02/10 P02/12

SR13. <Inquire edge representation> works for all defined entries.
#F 230 231
#D 5.13.1 5.13.2.1
#S
#T P02/12

SR14. <Inquire edge representation> returns the edge bundle's edge flag, edgetype, edgewidth scale factor, and colour index as set, when type of returned values specified as SET.
#F 231
#D 5.13.2
#S 4.11/108/1
#T P01/3 P02/4 P02/8 P02/11

SR15. <Inquire edge representation> returns the edge bundle's edge flag, edgetype, edgewidth scale factor, and colour index as realized, when type of returned values specified as REALIZED.
#F 231
#D 5.13.2
#S 4.11/108/1
#T P02/5 P04/6 P06/1 P07/5 P08/5 P08/6 P08/7 P08/8 P08/9 P08/10 P09/1
#T P09/3

SR16. <Inquire edge representation> returns representation for bundle number 1, if type of returned values is REALIZED, and bundle index is undefined.
#F 230 231
#D 5.13.2
#S
#T P02/5
*** *** ***   Maximum size of bundle table   *** *** ***


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

SR18. There must be at least 20 settable entries available in the edge bundle table.
#F 67 285
#D 5.13 6.21.5
#S 4.14/114/2 6.7/324/1
#T P03/1
*** *** *** ***   Predefined bundle facilities   *** *** *** ***


SR19. <Inquire edge facilities> returns the number of predefined edge bundle entries.
#F 272
#D 6.15.1.7
#S
#T P04/1 P04/7

SR20. <Inquire predefined edge representation> returns the edge flag, edgetype, edgewidth scale factor, and edge colour index for a predefined edge bundle.
#F 273
#D 6.15.2
#S
#T P04/1 P04/2 P04/3 P04/4 P04/5 P04/8 P05/2 P10/1 P10/2 P10/3

SR21. Every workstation must have at least 5 predefined edge bundles.
#F 272 273
#D 6.15.1.7 6.15.2
#S 4.14/113/3 4.14/114/2 6.7/322/1
#T P04/7

SR22. No two of the first 5 predefined edge bundles have identical sets of attributes.
#F 273
#D 6.15.2
#S 4.5.2/42/3 4.14/113/3 4.14/114/2 6.7/323/1
#T P04/8

SR23. The n predefined edge bundles in the Workstation Description Table (WDT) are indexed as 1-n.
#F 273
#D 6.15.2
#S 6.7/323/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 edge facilities> gives
the number of predefined bundles, but not a list thereof).

SR24. Immediately after <open workstation>, for each WDT predefined edge entry there exists a Workstation State List (WSL) edge entry with the same attributes, including the same edge index.
#F 230 231 273 3
#D 5.13.2 6.15.2
#S 4.5.2/42/3 6.6/317/1 6.7/323/1
#T P05/1 P05/2 P10/1 P10/2
#X 05.01.02


SR25. Immediately after <open workstation>, the edge bundle table contains nothing but the entries initialized from the WDT predefined edge bundle table.
#F 230 231 273 3
#D 5.13.2 6.15.2
#S 4.5.2/42/3 6.6/317/1 6.7/323/1
#T P05/1
#X 05.01.02


*** *** ***   Validity of predefined bundles   *** *** ***


SR26. Each predefined edge bundle has an edgetype within the list of available edgetypes.
#F 272 273
#D 6.15.1.2 6.15.2.2
#S 5.12.1/232/2
#T P04/3 P04/6

SR27. Each predefined edge bundle has a edgewidth scale factor which generates an edgewidth within the minimum and maximum edgewidths.
#F 272 273
#D 6.15.1.4 6.15.1.5 6.15.1.6 6.15.2.3
#S 5.12.1/232/2
#T P04/4 P04/6

SR28. Each predefined edge bundle has a color index within range of the predefined color indices.
#F 273 277
#D 6.15.2.4 6.17.2.4
#S 6.7/323/1
#T P04/5 P04/6
*** *** ***   Available attributes: edge flag  *** *** ***


SR29. The only valid values for edge flag are: OFF or ON.
#F 67 231 273
#D 5.13.2.2 6.15.2.1
#S 4.5.9/62/5 6.6/317/1 6.7/323/1
#T P04/2 P04/6 P06/1

SR30. When a fill area set is displayed, if its edge flag ASF is bundled, then its edge flag aspect is taken from the edge bundle determined by the edge index.
#F 29 62 67
#D 3.6.1 3.6.6 5.13.2.1 5.13.2.2
#S 4.5.2/39/7 4.5.9/62/5
#T P12/1

SR31. If the edge flag aspect is ON, then the edges of fill area sets are drawn; otherwise, they are not.
#F
#D 5.13.2.1 5.13.2.2
#S 4.5.9/62/5
#T P12/1
*** *** ***   Available attributes: edgetype   *** *** ***


SR32. The absolute value of the number of available edgetypes returned from <inquire edge facilities> indicates the length of the list of available edgetypes.
#F 272
#D 6.15.1.1 6.15.1.2
#S 6.7/322/1
#T P07/1

SR33. The list of available edgetypes contains all registered types, and includes edgetype 1.
#F 272
#D 6.15.1.2
#S 4.5.9/62/7 4.14/113/3 4.14/114/2 6.7/322/1
#T P07/2

SR34. If the number of available edgetypes is positive, the list of available edgetypes contains any implementation-dependent types.
#F 272
#D 6.15.1.1 6.15.1.2
#S
#T P07/3

SR35. If the number of available edgetypes is negative, the list of available edgetypes does not contain any implementation dependent types.
#F 272
#D 6.15.1.1 6.15.1.2
#S
#T P07/4

SR36. All the edgetypes in the list of available edgetypes are valid and realizable for the workstation.
#F 67 272
#D 5.13.2.3 6.15.1.1 6.15.1.2
#S
#T P07/5

SR37. Positive edgetypes are standard or registered; non-positive edgetypes are implementation-dependent.
#F 67 272
#D 5.13.2.3 6.15.1.2
#S 4.5.9/62/7
#T P07/3 P07/4

SR38. When a fill area set is displayed, if its edgetype ASF is bundled, then its edgetype aspect is taken from the edge bundle determined by the edge index.
#F 29 62 67
#D 3.6.1 3.6.7 5.13.2.1 5.13.2.3
#S 4.5.2/39/7 4.5.9/62/5
#T P12/2 P12/3 P12/4

SR39. When available on the workstation to which posted, edgetypes 1 through 4 appear as solid, dashed, dotted, and dashed-dotted edges, respectively.
#F
#D 5.13.2.1 5.13.2.3 6.15.1.1 6.15.1.2
#S 4.5.9/62/7
#T P12/2

SR40. When available on the workstation to which posted, edgetypes greater than 4 appear as specified in the ISO register.
#F
#D 5.13.2.1 5.13.2.3 6.15.1.1 6.15.1.2
#S 4.1.2/15/2 4.5.9/62/7
#T P12/3

SR41. When available on the workstation to which posted, edgetypes less than 1 appear as specified in the implementor documentation.
#F
#D 5.13.2.1 5.13.2.3 6.15.1.1 6.15.1.2
#S 4.1.1/15/1 4.5.9/62/7
#T P12/4
*** ***   Available attributes: edgewidth scale factor   *** ***


SR42. <Inquire edge facilities> describes the realizable edgewidths for this workstation, via the number of available edgewidths, nominal edgewidth, minimum edgewidth, and maximum edgewidth.
#F 272
#D 6.15.1.3 6.15.1.4 6.15.1.5 6.15.1.6
#S
#T P08/1 P08/5 P08/6 P08/7 P08/8 P08/9 P08/10

SR43. The nominal edgewidth, minimum edgewidth, and maximum edgewidth are all positive.
#F 272
#D 6.15.1.4 6.15.1.5 6.15.1.6
#S 6.7/323/1
#T P08/2

SR44. Workstations must support at least one edgewidth.
#F 67 272
#D 5.13.2.4 6.15.1.3 6.15.1.4 6.15.1.5 6.15.1.6
#S 4.14/114/2 6.7/322/1
#T P08/3

SR45. Any edgewidth scale factor, whether or not resulting in a valid edgewidth for that workstation, may be specified for a edge bundle when invoking <set edge representation>.
#F 67
#D 5.13.2.4
#S
#T P08/4 P12/5 P12/6 P12/7 P12/8

SR46. When a fill area set is displayed, if its edgewidth scale factor ASF is bundled, then its logical edgewidth is equal to the edgewidth scale factor determined by the edge index times the workstation's nominal edgewidth.
#F 29 62 67
#D 3.6.1 3.6.8 5.13.2.1 5.13.2.4
#S 4.5.2/39/7 4.5.9/62/5
#T P12/5 P12/6 P12/7 P12/8

SR47. When a fill area set is displayed, if its logical edgewidth is available on the workstation, then the actual edgewidth agrees with the logical edgewidth.
#F 29 62 67
#D 5.13.2.1 5.13.2.4 6.15.1.3 6.15.1.4 6.15.1.5 6.15.1.6
#S 4.5.2/39/7 4.5.9/62/5 4.5.9/62/8
#T P12/5

SR48. When a fill area set is displayed, if its logical edgewidth is not available on the workstation, then the actual edgewidth is the nearest available to the logical edgewidth.
#F 29 62 67
#D 5.13.2.1 5.13.2.4 6.15.1.3 6.15.1.4 6.15.1.5 6.15.1.6
#S 4.5.2/39/7 4.5.9/62/5 4.5.9/62/8
#T P12/6 P12/7 P12/8
*** *** ***   Available attributes: edge color index   *** *** ***


SR49. Any non-negative edge color index, whether or not defined for that workstation, may be specified for an edge bundle when invoking <set edge representation>.
#F 67
#D 5.13.2.5
#S
#T P09/2 P12/9 P12/10

SR50. When a fill area set is displayed, if its edge colour index ASF is bundled, then its edge colour index is taken from the edge bundle determined by the edge index.
#F 29 62 67
#D 3.6.1 3.6.9 5.13.2.1 5.13.2.5
#S 4.5.2/39/7 4.5.9/62/5
#T P09/1 P09/3 P12/9 P12/10

SR51. When a fill area set is displayed, if its edge colour index is available on the workstation, then the edge colour index is realized as itself.
#F 231 235
#D 5.13.2.1 5.13.2.5 5.15.3
#S 4.5.2/39/7 4.5.2/43/3 4.5.9/62/5 4.5.12/63/4
#T P09/1 P12/9

SR52. When a fill area set is displayed, if its edge colour index is undefined, then the edge colour index is realized as colour index 1.
#F 231 235
#D 5.13.2.1 5.13.2.5 5.15.3
#S 4.5.2/39/7 4.5.2/43/3 4.5.9/62/5 4.5.12/63/4
#T P09/3 P12/10

LOCAL DICTIONARY:

  Functions ---
  003: popwk   <open workstation>
  029: psedi   <set edge index>
  062: psiasf  <set individual asf>
  067: psedr   <set edge representation>
  113: pexst   <execute structure>
  230: pqeedi  <inquire list of edge indices>
  231: pqedr   <inquire edge representation>
  235: pqeci   <inquire list of colour indices>
  272: pqedf   <inquire edge facilities>
  273: pqpedr  <inquire predefined edge representation>
  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.15  ...  default_edge_attributes
  2.15.1  ...  default_edge_index
  3  ...  phigs_traversal_state_list
  3.6  ...  current_edge_attributes
  3.6.1  ...  current_edge_index
  3.6.6  ...  current_edge_flag_asf
  3.6.7  ...  current_edgetype_asf
  3.6.8  ...  current_edgewidth_scale_factor_asf
  3.6.9  ...  current_edge_colour_index_asf
  5  ...  workstation_state_list
  5.13  ...  edge_entry
  5.13.1  ...  number_of_edge_bundle_table_entries
  5.13.2  ...  edge_bundle_table
  5.13.2.1  ...  edge_index
  5.13.2.2  ...  edge_flag
  5.13.2.3  ...  edgetype
  5.13.2.4  ...  edgewidth_scale_factor
  5.13.2.5  ...  edge_colour_index
  5.15  ...  colour_entry
  5.15.3  ...  colour_table
  6  ...  workstation_description_table
  6.15  ...  edge_entry
  6.15.1  ...  edge_facilities
  6.15.1.1  ...  number_of_available_edgetypes
  6.15.1.2  ...  list_of_available_edgetypes
  6.15.1.3  ...  number_of_available_edgewidths
  6.15.1.4  ...  nominal_edgewidth
  6.15.1.5  ...  minimum_edgewidth
  6.15.1.6  ...  maximum_edgewidth
  6.15.1.7  ...  number_of_predefined_edge_indices
  6.15.2  ...  predefined_edge_bundle_table
  6.15.2.1  ...  edge_flag
  6.15.2.2  ...  edgetype
  6.15.2.3  ...  edgewidth_scale_factor
  6.15.2.4  ...  edge_colour_index
  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.5  ...  maximum_number_of_edge_bundle_table_entries
  7  ...  structure_state_list
  7.3  ...  list_of_structure_elements
  7.3.1  ...  graphical_primitives
  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.5  ...  edge_index
 
LOCAL SUBROUTINES:

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

DRWEDB draws a set of actual edges using the specified bundle
values, and a set of expected edges, using the attribute values
returned by <inquire predefined edge representation>. It draws
the expected edge incorrectly at the specified position.

DRBUED draws a set of edges using the specified bundle values.

SHEDBW tests the rendering of a given edgewidth, and returns the
pass/fail result, or an abort signal if the requested edge is too
wide to be tested.



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: Edge bundle table length

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


PROGRAM 4: Validity of predefined edge bundles

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


PROGRAM 5: WSL edge bundles initialized properly

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


PROGRAM 6: Edge flag facilities

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


PROGRAM 7: Edgetype facilities

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


PROGRAM 8: Edgewidth facilities

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


PROGRAM 9: Edge color index

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


PROGRAM 10: Appearance of predefined edge bundles

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


PROGRAM 11: Edge 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 edge index

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

End of documentation for 04.02.05.03