Module #04.03.01 : Set individual aspect source flag

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 visual effect of setting the
aspect source flags, and that a program can set up an individual
ASF element in the CSS, which will set the value of the
appropriate ASF upon traversal.

SEMANTIC REQUIREMENTS:

*** *** *** ***   <Set individual ASF>   *** *** *** ***


SR1. <Set individual ASF> creates a set individual ASF element in the CSS.
#F 62
#D 7.3.2.8
#S 4.5.2/39/6
#T P01/1 P01/2 P02/1 P02/2 P02/3 P02/4 P02/5

SR2. If current element is set individual ASF then <inquire current element type and size> returns the element type as set individual ASF and the appropriate element size.
#F 303
#D 7.3.2.8
#S 4.4.4/29/5
#T P01/1

SR3. If current element is set individual ASF then <inquire current element content> returns the appropriate data for set individual ASF.
#F 304
#D 7.3.2.8
#S 4.4.4/29/5
#T P01/2

SR4. The valid values for the aspect identifier for <set individual ASF> are LINETYPE, LINEWIDTH_SCALE_FACTOR, POLYLINE_COLOUR_INDEX, MARKER_TYPE, MARKER_SIZE_SCALE_FACTOR, POLYMARKER_COLOUR_INDEX, TEXT_FONT, TEXT_PRECISION, CHARACTER_EXPANSION_FACTOR, CHARACTER_SPACING, TEXT_COLOUR_INDEX, INTERIOR_STYLE, INTERIOR_STYLE_INDEX, INTERIOR_COLOUR_INDEX, EDGE_FLAG, EDGETYPE, EDGEWIDTH_SCALE_FACTOR, and EDGE_COLOUR_INDEX.
#F 62
#D 7.3.2.8
#S 4.5.2/39/5 4.5.2/40/3ff
#T P01/1 P01/2 P02/1 P02/2 P02/3 P02/4 P02/5 P03/2 P03/3 P03/4 P03/5
#T P03/6 P03/7 P03/8 P03/9

SR5. The valid values for the aspect source for <set individual ASF> are BUNDLED and INDIVIDUAL.
#F 62
#D 7.3.2.8
#S 4.5.2/39/5
#T P01/1 P01/2 P02/1 P02/2 P02/3 P02/4 P02/5 P03/1 P03/2 P03/3 P03/4
#T P03/5 P03/6 P03/7 P03/8 P03/9

SR6. Upon traversal of a "set individual ASF" element, the entry in the PHIGS traversal state list (PTSL) corresponding to the aspect identifier parameter is set to the value of the aspect source parameter.
#F 62
#D 7.3.2.8 3.1.5 3.1.6 3.1.7 3.2.5 3.2.6 3.2.7 3.3.7 3.3.8 3.3.9
#D 3.3.10 3.3.11 3.5.5 3.5.6 3.5.7 3.6.6 3.6.7 3.6.8 3.6.9
#S 4.5.2/39/5
#T P02/1 P02/2 P02/3 P02/4 P02/5 P03/2 P03/3 P03/4 P03/5 P03/6 P03/7
#T P03/8 P03/9

SR7. Upon traversal of the following elements (either the 2D or 3D version), the indicated current ASFs in the PTSL are bound to the resulting primitive: POLYLINE: linetype ASF, linewidth scale factor ASF, polyline colour index ASF; POLYMARKER: marker type ASF, marker size scale factor ASF, polymarker colour index ASF; TEXT: text font ASF, text precision ASF, character expansion factor ASF, character spacing ASF, text colour index ASF; ANNOTATION TEXT: text font ASF, text precision ASF, character expansion factor ASF, character spacing ASF, text colour index ASF; FILL AREA: interior style ASF, interior style index ASF, interior colour index ASF; FILL AREA SET: interior style ASF, interior style index ASF, interior colour index ASF, edge flag ASF, edgetype ASF, edgewidth scale factor ASF, edge colour index ASF;
#F 62
#D 3.1.5 3.1.6 3.1.7 3.2.5 3.2.6 3.2.7 3.3.7 3.3.8 3.3.9 3.3.10
#D 3.3.11 3.5.5 3.5.6 3.5.7 3.6.6 3.6.7 3.6.8 3.6.9
#D 7.3.1.1 7.3.1.2 7.3.1.3 7.3.1.4 7.3.1.5 7.3.1.6 7.3.1.7
#D 7.3.1.8 7.3.1.9 7.3.1.10 7.3.1.11 7.3.1.12
#S 4.5.2/38/3 4.5.2/40/3ff
#T P02/1 P02/2 P02/3 P02/4 P02/5 P03/1 P03/2 P03/3 P03/4 P03/5 P03/6
#T P03/7 P03/8 P03/9 #C For example, the traversal of a <fill area 3> element
generates a fill area 3 primitive with the current interior style
ASF, interior style index ASF, and interior colour index ASF
bound to it

SR8. When a primitive is displayed, each of its non-geometric aspects for which the corresponding ASF is INDIVIDUAL is determined by its corresponding bound individual attribute.
#F 62
#D 3.1 3.2 3.3 3.5 3.6
#S 4.5.2/39/2 4.5.2/39/7 4.5.2/42/2
#T P02/1 P02/2 P02/3 P02/4 P02/5 P03/1 P03/2 P03/3 P03/4 P03/5 P03/6
#T P03/7 P03/8 P03/9 #C For example, a fill area 3 primitive with bound interior style
index ASF = INDIVIDUAL gets its interior style index aspect from
its bound interior style index attribute. (This value may then
itself be used as a hatch index or pattern index.)

SR9. When a primitive is displayed, each of its non-geometric aspects for which the corresponding ASF is BUNDLED is determined by the relevant component of the indicated (by its corresponding bound bundle index) entry of the appropriate workstation bundle.
#F 62
#D 3.1 3.2 3.3 3.5 3.6
#S 4.5.2/38/7 4.5.2/39/2 4.5.2/39/7 4.5.2/42/2
#T P02/1 P02/2 P02/3 P02/4 P02/5 P03/1 P03/2 P03/3 P03/4 P03/5 P03/6
#T P03/7 P03/8 P03/9 #C For example, a fill area 3 primitive with bound interior style
index ASF = BUNDLED and interior index = 5 gets its interior
style index aspect from the interior style index component of
entry #5 of the workstation's interior bundle table. (This value
may then itself be used as a hatch index or pattern index.)

SR10. At the start of the top-level traversal of a structure network (not a sub-traversal caused by execute structure), all current ASFs of the PTSL are set to the same value.
#F
#D 2.10.5 2.10.6 2.10.7 2.11.5 2.11.6 2.11.7 2.12.7 2.12.8 2.12.9
#D 2.12.10 2.12.11 2.14.5 2.14.6 2.14.7 2.15.6 2.15.7 2.15.8 2.15.9
#D 3.1.5 3.1.6 3.1.7 3.2.5 3.2.6 3.2.7 3.3.7 3.3.8 3.3.9
#D 3.3.10 3.3.11 3.5.5 3.5.6 3.5.7 3.6.6 3.6.7 3.6.8 3.6.9
#S 4.4.3/26/2 4.4.3/28/1 4.5.2/39/5 6.3/309/1ff
#T P03/2 P03/3 P03/4 P03/5 P03/6 P03/7 P03/8 P03/9 #C The implementation may initialize the all ASFs to either
INDIVIDUAL or BUNDLED, but may not initialize some ASFs to
INDIVIDUAL and others to BUNDLED.

SR11. As part of the PTSL, every ASF 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.1.5 3.1.6 3.1.7 3.2.5 3.2.6 3.2.7 3.3.7 3.3.8 3.3.9
#D 3.3.10 3.3.11 3.5.5 3.5.6 3.5.7 3.6.6 3.6.7 3.6.8 3.6.9
#S 4.4.3/28/1
#T P03/2 P03/3 P03/4 P03/5 P03/6 P03/7 P03/8 P03/9
LOCAL DICTIONARY:

  Functions ---
  062: psiasf  <set individual asf>
  113: pexst   <execute structure>
  303: pqcets  <inquire current element type and size>
  304: pqceco  <inquire current element content>
 
  Data Structures ---
  2  ...  phigs_description_table
  2.10 ...  default_polyline_attributes
  2.10.5  ...  default_linetype_asf
  2.10.6  ...  default_linewidth_scale_factor_asf
  2.10.7  ...  default_polyline_colour_index_asf
  2.11 ...  default_polymarker_attributes
  2.11.5  ...  default_marker_type_asf
  2.11.6  ...  default_marker_size_scale_factor_asf
  2.11.7  ...  default_polymarker_colour_index_asf
  2.12 ...  default_text_attributes
  2.12.7  ...  default_text_font_asf
  2.12.8  ...  default_text_precision_asf
  2.12.9  ...  default_character_expansion_factor_asf
  2.12.10 ...  default_character_spacing_asf
  2.12.11 ...  default_text_colour_index_asf
  2.14  ...  default_interior_attributes
  2.14.5  ...  default_interior_style_asf
  2.14.6  ...  default_interior_style_index_asf
  2.14.7  ...  default_interior_colour_index_asf
  2.15  ...  default_edge_attributes
  2.15.6  ...  default_edge_flag_asf
  2.15.7  ...  default_edgetype_asf
  2.15.8  ...  default_edgewidth_scale_factor_asf
  2.15.9  ...  default_edge_colour_index_asf
  3  ...  phigs_traversal_state_list
  3.1  ...  current_polyline_attributes
  3.1.5  ...  current_linetype_asf
  3.1.6  ...  current_linewidth_scale_factor_asf
  3.1.7  ...  current_polyline_colour_index_asf
  3.2  ...  current_polymarker_attributes
  3.2.5  ...  current_marker_type_asf
  3.2.6  ...  current_marker_size_scale_factor_asf
  3.2.7  ...  current_polymarker_colour_index_asf
  3.3  ...  current_text_attributes
  3.3.7  ...  current_text_font_asf
  3.3.8  ...  current_text_precision_asf
  3.3.9  ...  current_character_expansion_factor_asf
  3.3.10 ...  current_character_spacing_asf
  3.3.11 ...  current_text_colour_index_asf
  3.5  ...  current_interior_attributes
  3.5.5  ...  current_interior_style_asf
  3.5.6  ...  current_interior_style_index_asf
  3.5.7  ...  current_interior_colour_index_asf
  3.6  ...  current_edge_attributes
  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
  7  ...  structure_state_list
  7.3  ...  list_of_structure_elements
  7.3.1  ...  graphical_primitives
  7.3.1.1  ...  polyline_3
  7.3.1.2  ...  polyline
  7.3.1.3  ...  polymarker_3
  7.3.1.4  ...  polymarker
  7.3.1.5  ...  text_3
  7.3.1.6  ...  text
  7.3.1.7  ...  annotation_text_relative_3
  7.3.1.8  ...  annotation_text_relative
  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.8  ...  individual_asf
 



PROGRAM 1: Set individual ASF element

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


PROGRAM 2: Selective control of primitive aspects

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


PROGRAM 3: Network inheritance and initialization of ASFs

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

End of documentation for 04.03.01