DESCRIPTION: This module tests the functions provided by PHIGS to support the manipulation and inquiry of the entries for the workstation transformation in the WSL. SEMANTIC REQUIREMENTS:#F
SR1. The workstation transformation is specified by the description of the workstation window in NPC space (px-py-pz) and the workstation viewport in DC space (dx-dy-dz), both of which are rectangular parallelpipeds, oriented with their edges parallel to the axes of their coordinate system.
#F 254
SR2. <Inquire display space size 3> returns the 3D maximum display space size in both DC and addressable units, in all 3 dimensions.
#F 255
SR3. <Inquire display space size> returns the 2D maximum display space size in both DC and addressable units, in the dx and dy dimensions.
#F 254 255
SR4. DC units may be either METRES or OTHER.
#F 3
SR5. <Open workstation> initializes the workstation window to [0,1] in all three dimensions, the workstation viewport to the 3D maximum display volume size, and the `workstation transformation update state' to NOTPENDING.
#F 87
SR6. <Set workstation window 3> sets the requested value of the workstation window in all 3 dimensions.
#F 88
SR7. <Set workstation window> sets the requested value of the workstation window in the px and py dimensions, but leaves the pz limits unchanged.
#F 87 88
SR8. The valid values for workstation window are between 0 and 1, inclusive, in all 3 dimensions, with a positive size in the px and py dimensions, and a non-negative size in the pz dimension.
#F 89
SR9. <Set workstation viewport 3> sets the requested value of the workstation viewport in all 3 dimensions.
#F 90
SR10. <Set workstation viewport> sets the requested value of the workstation viewport in the dx and dy dimensions, but leaves the dz limits unchanged.
#F 89 90
SR11. For each dimension, the valid values for workstation viewport are between 0 and the maximum display space size in that dimension, with a positive size in the px and py dimensions, and a non-negative size in the pz dimension.
#F 239
SR12. <Inquire workstation transformation 3> returns the current and requested entries for the workstation window and viewport in all 3 dimensions.
#F 240
SR13. <Inquire workstation transformation> returns the current and requested entries for the workstation window and viewport in the x and y dimensions.
#F 87 88 89 90
SR14. The requested values of the workstation transformation are those most recently set.
#F 239 240
SR15. <Inquire workstation transformation> and <Inquire workstation transformation 3> return the `workstation transformation update state' of the workstation transformation as PENDING or NOTPENDING.
#F 239 240
SR16. The `workstation transformation update state' is PENDING if and only if the current values of the workstation transformation have not yet been copied from the requested values.
#F 239 240
SR17. The `workstation transformation update state' is NOTPENDING if and only if the current values of the workstation transformation have been copied from the requested values.
#F 239 240 221
SR18. If the `workstation transformation update state' is PENDING, then the `state of visual representation' for that workstation is DEFERRED.
#F 239 240 221
SR19. If the `state of visual representation' for a workstation is CORRECT, then the `workstation transformation update state' is NOTPENDING.
#F 239 240
SR20. For workstations of category INPUT, the `workstation transformation update state' is always NOTPENDING.
LOCAL DICTIONARY:
Functions --- 003: popwk <open workstation> 087: pswkw3 <set workstation window 3> 088: pswkw <set workstation window> 089: pswkv3 <set workstation viewport 3> 090: pswkv <set workstation viewport> 221: pqdus <inquire display update state> 239: pqwkt3 <inquire workstation transformation 3> 240: pqwkt <inquire workstation transformation> 254: pqdsp3 <inquire display space size 3> 255: pqdsp <inquire display space size> Data Structures --- 5 ... workstation_state_list 5.6 ... workstation_transformation_entry 5.6.1 ... workstation_transformation_update_state 5.6.2 ... requested_workstation_window 5.6.3 ... current_workstation_window 5.6.4 ... requested_workstation_viewport 5.6.5 ... current_workstation_viewport 5.8 ... update_status 5.8.4 ... state_of_visual_representation 6 ... workstation_description_table 6.3 ... device_coordinate_units 6.4 ... maximum_display_space_size
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.