Module #06.02.02 : Control of workstation view table

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 manipulation and inquiry of
the entries in the view table of the WSL and also the effect of
the predefined view table in the WDT.

SEMANTIC REQUIREMENTS:

*** *** *** *** ***   Setting view index   *** *** *** *** ***


SR1. <Set view index> creates a `view index' element in the CSS for any non-negative index.
#F 83
#D 7.3.2.10
#S 4.7.4/84/6
#T P01/1 P01/2 P01/3

SR2. If current element is `view index' then <inquire current element type and size> returns the element type as `view index' and the appropriate size.
#F 303
#D 7.3.2.10
#S 4.4.4/29/5
#T P01/1

SR3. If current element is `view index' then <inquire current element content> returns the appropriate data for `view index'.
#F 304
#D 7.3.2.10
#S 4.4.4/29/5
#T P01/2 P01/3

*** *** *** ***   Initialization of view table  *** *** *** ***


SR4. <Inquire viewing facilities> returns the number of predefined view entries.
#F 257
#D 6.6.1
#S
#T P02/1 P02/2 P03/2

SR5. The number of predefined viewing entries is at least 6.
#F 257
#D 6.6.1
#S 4.14/114/2 6.7/320/1
#T P02/1

SR6. <Inquire predefined view representation> returns the specified entry in the predefined view table.
#F 258
#D 6.6.2
#S
#T P02/2 P02/3 P02/4 P02/5 P03/4

SR7. Entry number 0 of the WDT predefined viewing table has the following contents: the view orientation matrix and view mapping matrix are both 4x4 identity matrices; the view clipping limits are [0,1] in all three dimensions (x,y,z); and the three clipping indicators (x-y, front, and back) are all set to CLIP.
#F 258
#D 6.6.2.1 6.6.2.2 6.6.2.3 6.6.2.4 6.6.2.5 6.6.2.6
#S 4.7.4/83/4
#T P02/3 P02/4 P02/5

SR8. The set of view indices in the view table of the WSL are always numbered by the integers between 0 and N-1, where N is the number of entries.
#F 217
#D 5.4.1 5.4.2.1
#S 4.7.4/83/3
#T P03/1

SR9. <Open workstation> causes each requested and current entry in the WSL view table to be initialized from the corresponding entry, if one exists, in the WDT predefined view table.
#F 3 218 258
#D 5.4.2 6.6.2
#S 4.7.4/83/6 6.6/316/1
#T P03/2 P03/4

SR10. <Open workstation> causes each requested and current entry in the WSL view table, up to the maximum table size, for which there is no corresponding entry in the WDT predefined view table, to be initialized to the same values as entry number 0.
#F 3 218
#D 5.4.2
#S 4.7.4/83/6 6.6/316/1
#T P03/3 P03/5

SR11. <Open workstation> causes the `view transformation update state' for each entry in the WSL view table to be set to NOTPENDING.
#F 3 218
#D 5.4.2.2
#S 4.7.4/83/6 6.6/316/1
#T P03/6
*** *** *** ***   Setting view representation   *** *** *** ***


SR12. <Inquire workstation state table lengths> returns the maximum size of the view table.
#F 285
#D 6.21.8
#S
#T P03/3 P04/1 P04/2

SR13. The maximum size of the view table is at least 6.
#F 285
#D 6.21.8
#S 4.14/114/2 6.7/324/1
#T P04/1

SR14. <Set view representation 3> and <set view representation> can re-set a requested entry, other than number 0, which has been initialized by default.
#F 84 85
#D 5.4.2.4.1 5.4.2.4.2 5.4.2.4.3 5.4.2.4.4 5.4.2.4.5 5.4.2.4.6
#S 4.7.4/83/6
#T P04/2

SR15. <Set view representation 3> and <set view representation> can re-set a user-defined requested entry.
#F 84 85
#D 5.4.2.4.1 5.4.2.4.2 5.4.2.4.3 5.4.2.4.4 5.4.2.4.5 5.4.2.4.6
#S 4.7.4/83/6
#T P04/3

SR16. When <set view representation> is used to set a requested entry, the following default values are stored: a) the 3x3 matrices specified are expanded to 4x4 as follows: | a b 0 c | | a b c | | d e 0 f | replaces | d e f | | 0 0 1 0 | | g h i | | g h 0 i | b) ZMIN and ZMAX are set to 0 and 1, respectively, and c) the front and back clipping indicators are set to CLIP.
#F 85
#D 5.4.2.4.1 5.4.2.4.2 5.4.2.4.3 5.4.2.4.5 5.4.2.4.6
#S 4.7.4/83/7
#T P04/3

SR17. <Inquire view representation> returns the specified current and requested entry in the view table.
#F 218
#D 5.4.2.3 5.4.2.4
#S
#T P03/4 P03/5 P04/2 P04/3 P06/3 P06/5
*** *** *** ***   Order of view table   *** *** *** ***


SR18. <Inquire list of view indices> returns the ordered list of defined entries in the view table.
#F 217
#D 5.4.2 5.4.2.1
#S
#T P03/1 P05/1 P05/2 P05/3 P05/4 P05/5

SR19. Immediately after <open workstation> the entries in the view table are in ascending index order (0,1,2,..,N-1).
#F 3 217
#D 5.4.2 5.4.2.1
#S 4.7.4/84/5
#T P03/1

SR20. The order of entries in the view table is the same as the order of their input priority (highest priority first).
#F 217
#D 5.4.2 5.4.2.1
#S 4.7.4/84/5
#T P05/1 P05/2 P05/3 P05/4

SR21. <Set view transformation input priority> sets the specified view entry to the next higher or lower (as specified) priority relative to the reference view entry, when these are distinct.
#F 86
#D 5.4.2 5.4.2.1
#S
#T P05/1 P05/2 P05/3 P05/4

SR22. <Set view transformation input priority> has no effect when the specified view entry is the same as the reference view entry.
#F 86
#D 5.4.2 5.4.2.1
#S
#T P05/5
*** *** *** ***   Update control of view table   *** *** *** ***


SR23. The requested values of the entries in the view table are those most recently set.
#F 84 85
#D 5.4.2.4.1 5.4.2.4.2 5.4.2.4.3 5.4.2.4.4 5.4.2.4.5 5.4.2.4.6
#S 4.7.4/84/1
#T P04/2 P04/3

SR24. <Inquire view representation> returns the `view transformation update state' of a specified entry in the view table as PENDING or NOTPENDING.
#F 218
#D 5.4.2.2
#S
#T P03/6 P06/1

SR25. The `view transformation update state' of an entry is PENDING if and only if the current values of that entry in the view table have not yet been copied from the requested values.
#F 218
#D 5.4.2.3 5.4.2.4
#S 4.7.4/84/2
#T P06/3

SR26. The `view transformation update state' of an entry is NOTPENDING if and only if the current values of that entry in the view table have been copied from the requested values.
#F 218
#D 5.4.2.3 5.4.2.4
#S 4.7.4/84/2
#T P06/5 P07/1

SR27. If the `view transformation update state' of an entry is PENDING, then the `state of visual representation' for that workstation is DEFERRED.
#F 218 221
#D 5.4.2.2 5.8.4
#S 4.7.4/84/2
#T P06/2
#X 05.02


SR28. If the `state of visual representation' for a workstation is CORRECT, then the `view transformation update state' of all entries is NOTPENDING.
#F 218 221
#D 5.4.2.2 5.8.4
#S 4.7.4/84/4
#T P06/4
#X 05.02


SR29. For workstations of category INPUT, the `view transformation update state' of all entries is NOTPENDING.
#F 218
#D 5.4.2.2
#S 4.7.4/84/3
#T P07/1

LOCAL DICTIONARY:

  Functions ---
  003: popwk   <open workstation>
  083: psvwi   <set view index>
  084: psvwr3  <set view representation 3>
  085: psvwr   <set view representation>
  086: psvtip  <set view transformation input priority>
  217: pqevwi  <inquire list of view indices>
  218: pqvwr   <inquire view representation>
  221: pqdus   <inquire display update state>
  257: pqvwf   <inquire view facilities>
  258: pqpvwr  <inquire predefined view representation>
  285: pqwksl  <inquire workstation state table lengths>
  303: pqcets  <inquire current element type and size>
  304: pqceco  <inquire current element content>
 
  Data Structures ---
  5  ...  workstation_state_list
  5.4  ...  view_table
  5.4.1  ...  number_of_view_table_entries
  5.4.2  ...  view_table_ordered_by_input_priority
  5.4.2.1  ...  view_index
  5.4.2.2  ...  view_transformation_update_state
  5.4.2.3  ...  current_view
  5.4.2.4  ...  requested_view
  5.4.2.4.1  ...  requested_view_orientation_matrix
  5.4.2.4.2  ...  requested_view_mapping_matrix
  5.4.2.4.3  ...  requested_view_clipping_limits
  5.4.2.4.4  ...  requested_x_y_clipping_indicator
  5.4.2.4.5  ...  requested_back_clipping_indicator
  5.4.2.4.6  ...  requested_front_clipping_indicator
  5.8  ...  update_status
  5.8.4  ...  state_of_visual_representation
  6  ...  workstation_description_table
  6.6  ...  predefined_view_table
  6.6.1  ...  number_of_predefined_view_indices
  6.6.2  ...  table_of_predefined_view_representations
  6.6.2.1  ...  view_orientation_matrix
  6.6.2.2  ...  view_mapping_matrix
  6.6.2.3  ...  view_clipping_limits
  6.6.2.4  ...  x_y_clipping_indicator
  6.6.2.5  ...  back_clipping_indicator
  6.6.2.6  ...  front_clipping_indicator
  6.21  ...  maximum_table_lengths
  6.21.8  ...  maximum_number_of_view_table_indices
  7  ...  structure_state_list
  7.3  ...  list_of_structure_elements
  7.3.2  ...  primitive_attributes
  7.3.2.10 ...  view_index
 
LOCAL SUBROUTINES: TSTVIP is used to compute the expected result
from <set view transformation input priority> and compare this
with the actual results.



PROGRAM 1: View index

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


PROGRAM 2: Validity of predefined view table

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


PROGRAM 3: Initialization of WSL view table

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


PROGRAM 4: Setting and inquiring on the WSL view table

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


PROGRAM 5: Order of view indices

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


PROGRAM 6: Update control of view table

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


PROGRAM 7: Update status of view table for INPUT workstations

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

End of documentation for 06.02.02