Design: 06.02.02/P04
This is an abstract, language-independent design. Grim
details may be found in the
corresponding source code.
You may return to the
documentation
for the module containing this program design, or to the
entire hierarchical table of
topics covered by the PVT.
PROGRAM 4: Setting and inquiring on the WSL view table
CHARACTERISTICS: ynnn
OPERATOR SCRIPT: passive test.
DESIGN:
<inquire workstation state table lengths> to determine
maxvw = maximum size of the view table
TEST: #SR 12 13
"Reported maximum size of the view table should be
at least 6."
pass/fail depending on (maxvw > 5)
expected values for entry are:
exvom(4,4) = orientation matrix =
| -5.378 -2.251 -7.886 30.706 |
| -0.4014 0.6207 9.1292E-02 -5.423 |
| -104.806 0.0 2.804 8.502E-02 |
| -7.375E-02 -21.465 -128.958 -0.2066 |
exvmm(4,4) = mapping matrix =
| 28.482 106.135 -131.300 16.022 |
| -150.45 0.0 0.0 13.851 |
| 35.318 -0.5466 84.676 0.7512 |
| 2.4107 -5.7922 -101.682 1.1572 |
exvclm(6) = view clipping limits = .2 .3 .4 .5 .6 .7
exvcid(3) = clipping indicators = NOCLIP, CLIP, NOCLIP
TEST: #SR 12 14 17 23
"<Set view representation 3> should be able to set all
requested entries, up to the maximum table size."
for ivwdx = 1 to maxvw-1
<Set view representation 3> for index #ivwdx, with entry value =
exvom, exvmm, exvclm, exvcid
if (error signalled) then
fail
informational message re error code
goto end_set3
endif
<Inquire view representation> for index #ivwdx, to determine
invom, invmm, invclm, invcid
if (invom = exvom .and.
invmm = exvmm .and.
invclm = exvclm .and.
invcid = exvcid .and. ) then
OK so far
else
fail
informational message re ivwdx
goto end_set3
endif
next ivwdx
pass
end_set3:
Set/expected values for entry are:
e2vom(3,3) = orientation matrix =
| -5.378 -2.251 30.706 |
| -0.4014 0.6207 -5.423 |
| -7.375E-02 -21.465 -0.2066 |
exvom(4,4) = expanded version of e2vom
e2vmm(3,3) = mapping matrix =
| 28.482 106.135 16.022 |
| -150.45 0.0 13.851 |
| 2.4107 -5.7922 1.1572 |
exvmm(4,4) = expanded version of e2vmm
e2vclm(4) = view clipping limits = .1 .2 .3 .4
e2vcid = x-y clipping indicator = NOCLIP
TEST: #SR 15 16 17 23
"<Set view representation> should be able to re-set a
user-defined requested entry, with correct defaults
supplied by the implementation."
<Set view representation> for index #1, with entry value =
e2vom, e2vmm, e2vclm, e2vcid
if (error signalled) then
fail
informational message re error code
goto end_set2
endif
<Inquire view representation> for index #1, to determine
invom, invmm, invclm, invcid
pass/fail depending on
(invom = exvom .and.
invmm = exvmm .and.
invclm = e2vclm, 0.0, 1.0 .and.
invcid = e2vcid, CLIP, CLIP .and. )
end_set2:
END PROGRAM 4