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 *** *** *** ***#F 303
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 304
SR2. If current element is edge index then <inquire current element content> returns the appropriate data for edge index.
*** *** *** Edge index traversal binding *** *** ***#F 29
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.
*** *** *** Edge index: element creation *** *** ***#F 29
SR4. <Set edge index> creates a "set edge index" element, (in the open structure), whose associated value is taken from the function's parameter.
*** *** Edge index: effect during traversal *** ***#F 29
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
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
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.
*** *** *** Edge index: network traversal *** *** ***#F
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 113
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.
*** *** *** Edge Representation *** *** ***#F 67
SR10. <Set edge representation> causes an entry to be defined.
#F 67
SR11. <Set edge representation> sets bundle's edge flag, edgetype, edgewidth scale factor, and colour index.
#F 230
SR12. <Inquire list of edge indices> returns list of all defined edge indices.
#F 230 231
SR13. <Inquire edge representation> works for all defined entries.
#F 231
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
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 230 231
SR16. <Inquire edge representation> returns representation for bundle number 1, if type of returned values is REALIZED, and bundle index is undefined.
*** *** *** Maximum size of bundle table *** *** ***#F 285
SR17. <Inquire workstation state table lengths> returns the maximum size of edge bundle table.
#F 67 285
SR18. There must be at least 20 settable entries available in the edge bundle table.
*** *** *** *** Predefined bundle facilities *** *** *** ***#F 272
SR19. <Inquire edge facilities> returns the number of predefined edge bundle entries.
#F 273
SR20. <Inquire predefined edge representation> returns the edge flag, edgetype, edgewidth scale factor, and edge colour index for a predefined edge bundle.
#F 272 273
SR21. Every workstation must have at least 5 predefined edge bundles.
#F 273
SR22. No two of the first 5 predefined edge bundles have identical sets of attributes.
#F 273
SR23. The n predefined edge bundles in the Workstation Description Table (WDT) are indexed as 1-n.
#F 230 231 273 3
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
SR25. Immediately after <open workstation>, the edge bundle table contains nothing but the entries initialized from the WDT predefined edge bundle table.
*** *** *** Validity of predefined bundles *** *** ***#F 272 273
SR26. Each predefined edge bundle has an edgetype within the list of available edgetypes.
#F 272 273
SR27. Each predefined edge bundle has a edgewidth scale factor which generates an edgewidth within the minimum and maximum edgewidths.
#F 273 277
SR28. Each predefined edge bundle has a color index within range of the predefined color indices.
*** *** *** Available attributes: edge flag *** *** ***#F 67 231 273
SR29. The only valid values for edge flag are: OFF or ON.
#F 29 62 67
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
SR31. If the edge flag aspect is ON, then the edges of fill area sets are drawn; otherwise, they are not.
*** *** *** Available attributes: edgetype *** *** ***#F 272
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
SR33. The list of available edgetypes contains all registered types, and includes edgetype 1.
#F 272
SR34. If the number of available edgetypes is positive, the list of available edgetypes contains any implementation-dependent types.
#F 272
SR35. If the number of available edgetypes is negative, the list of available edgetypes does not contain any implementation dependent types.
#F 67 272
SR36. All the edgetypes in the list of available edgetypes are valid and realizable for the workstation.
#F 67 272
SR37. Positive edgetypes are standard or registered; non-positive edgetypes are implementation-dependent.
#F 29 62 67
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
SR39. When available on the workstation to which posted, edgetypes 1 through 4 appear as solid, dashed, dotted, and dashed-dotted edges, respectively.
#F
SR40. When available on the workstation to which posted, edgetypes greater than 4 appear as specified in the ISO register.
#F
SR41. When available on the workstation to which posted, edgetypes less than 1 appear as specified in the implementor documentation.
*** *** Available attributes: edgewidth scale factor *** ***#F 272
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
SR43. The nominal edgewidth, minimum edgewidth, and maximum edgewidth are all positive.
#F 67 272
SR44. Workstations must support at least one edgewidth.
#F 67
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 29 62 67
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
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
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.
*** *** *** Available attributes: edge color index *** *** ***#F 67
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 29 62 67
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 231 235
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
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.
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.
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.
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.
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.
You may inspect either the design or code for this program.