Module #06.03 : Workstation transformations

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 functions provided by PHIGS
to support the manipulation and inquiry of the entries for the
workstation transformation in the WSL.

SEMANTIC REQUIREMENTS:


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
#D 5.6.2 5.6.3 5.6.4 5.6.5
#S 4.7.6/90/5 4.7.6/91/2
#T P01/1 P01/3 P01/4 P01/5 P01/6 P01/7 P01/8 P01/9 P01/10 P01/11

SR2. <Inquire display space size 3> returns the 3D maximum display space size in both DC and addressable units, in all 3 dimensions.
#F 254
#D 6.4
#S
#T P01/1 P01/2 P01/3 P02/3

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 255
#D 6.4
#S
#T P01/3

SR4. DC units may be either METRES or OTHER.
#F 254 255
#D 6.3
#S 4.7.6/90/6 6.7/320/1
#T P01/2

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 3
#D 5.6
#S 4.7.6/92/4 6.6/316/1
#T P02/1 P02/2 P02/3

SR6. <Set workstation window 3> sets the requested value of the workstation window in all 3 dimensions.
#F 87
#D 5.6.2
#S 4.7.6/91/3
#T P01/4 P01/5 P01/11

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 88
#D 5.6.2
#S 4.7.6/91/3
#T P01/8

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 87 88
#D 5.6.2 5.6.3
#S 4.7.6/91/2 6.6/316/1
#T P01/4 P01/5 P01/8 P01/11

SR9. <Set workstation viewport 3> sets the requested value of the workstation viewport in all 3 dimensions.
#F 89
#D 5.6.4
#S 4.7.6/91/3
#T P01/6 P01/7 P01/10

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 90
#D 5.6.4
#S 4.7.6/91/3
#T P01/9

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 89 90
#D 5.6.4 5.6.5
#S 4.7.6/91/2
#T P01/6 P01/7 P01/9 P01/10

SR12. <Inquire workstation transformation 3> returns the current and requested entries for the workstation window and viewport in all 3 dimensions.
#F 239
#D 5.6.2 5.6.3 5.6.4 5.6.5
#S
#T P01/4 P01/6 P01/8 P01/9 P01/10 P01/11 P02/1 P02/2 P02/3 P03/3

SR13. <Inquire workstation transformation> returns the current and requested entries for the workstation window and viewport in the x and y dimensions.
#F 240
#D 5.6.2 5.6.3 5.6.4 5.6.5
#S
#T P01/5 P01/7

SR14. The requested values of the workstation transformation are those most recently set.
#F 87 88 89 90
#D 5.6.2 5.6.4
#S 4.7.6/91/4
#T P01/4 P01/5 P01/6 P01/7 P01/8 P01/9 P01/10 P01/11

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
#D 5.6.1
#S 4.7.6/91/4 6.6/316/1
#T P03/1 P03/4 P03/5 P04/1

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
#D 5.6
#S 4.7.6/91/5
#T P03/3

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
#D 5.6
#S 4.7.6/91/7
#T P03/5

SR18. If the `workstation transformation update state' is PENDING, then the `state of visual representation' for that workstation is DEFERRED.
#F 239 240 221
#D 5.6.1 5.8.4
#S 4.7.6/91/5
#T P03/2
#X 05.02


SR19. If the `state of visual representation' for a workstation is CORRECT, then the `workstation transformation update state' is NOTPENDING.
#F 239 240 221
#D 5.6.1 5.8.4
#S 4.7.6/91/7
#T P03/4
#X 05.02


SR20. For workstations of category INPUT, the `workstation transformation update state' is always NOTPENDING.
#F 239 240
#D 5.6.1
#S 4.7.6/91/6
#T P04/1
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
 



PROGRAM 1: Setting and inquiring the workstation transformation

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


PROGRAM 2: Initialization of the workstation transformation

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


PROGRAM 3: Update control of the workstation transformation

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


PROGRAM 4: Update status of INPUT workstation transformation

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

End of documentation for 06.03