Module #04.01.07 : Cell array

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 that cell arrays are rendered
correctly and that a program can set up a cell array element in the
CSS, which will create a primitive upon traversal.

SEMANTIC REQUIREMENTS:

*** *** *** *** ***   <Cell array 3>   *** *** *** *** ***


SR1. <Cell array 3> creates a cell array 3 element in the CSS.
#F 21
#D 7.3.1.13
#S 4.4.1/22/3 4.5.1/34/1
#T P01/1 P01/2 P01/5 P01/6

SR2. If current element is cell array 3 then <inquire current element type and size> returns the element type as cell array 3 and the appropriate element size.
#F 303
#D 7.3.1.13
#S 4.4.4/29/5
#T P01/1 P01/5

SR3. If current element is cell array 3 then <inquire current element content> returns the appropriate data for cell array 3.
#F 304
#D 7.3.1.13
#S 4.4.4/29/5
#T P01/2 P01/6

SR4. A <cell array 3> primitive is a parallelogram whose corners are specified by the 3D points P, Q, R and (QX+RX-PX, QY+RY-PY, QZ+RZ-PZ), expressed in modelling coordinates (MC).
#F 21
#D 7.3.1.13
#S 4.5.1/36/3
#T P02/1 P02/3

SR5. The cell array 3 parallelogram is divided into a 2D grid of four-sided cells numbered from 1 to DX in first dimension (P to Q) and 1 to DY in second dimension (P to R). DX and DY are the sizes of the first and second dimensions, respectively, of the specified color index array. The sides of the cells are parallel (in MC) to the sides of the enclosing parallelogram.
#F 21
#D 7.3.1.13
#S 4.5.1/36/3
#T P02/3
*** *** *** *** ***   <Cell array>   *** *** *** *** ***


SR6. <Cell array> creates a cell array element in the CSS.
#F 22
#D 7.3.1.14
#S 4.4.1/22/3 4.5.1/34/1
#T P01/3 P01/4 P01/7 P01/8

SR7. If current element is cell array then <inquire current element type and size> returns the element type as cell array and the appropriate element size.
#F 303
#D 7.3.1.14
#S 4.4.4/29/5
#T P01/3 P01/7

SR8. If current element is cell array then <inquire current element content> returns the appropriate data for cell array.
#F 304
#D 7.3.1.14
#S 4.4.4/29/5
#T P01/4 P01/8

SR9. A <cell array> primitive is a rectangle in the z=0 plane, whose corners are specified by the 2D points (PX,PY), (PX,QY), (QX,QY), and (QX,PY) expressed in modelling coordinates (MC).
#F 22
#D 7.3.1.14
#S 4.5.1/37/2
#T P02/2 P02/3

SR10. The cell array rectangle is divided into a 2D grid of four-sided cells numbered from 1 to DX in first dimension (from PX,PY to QX,PY) and 1 to DY in second dimension (from PX,PY to PX,QY). DX and DY are the sizes of the first and second dimensions, respectively, of the specified color index array. The sides of the cells are parallel (in MC) to the sides of the enclosing rectangle.
#F 22
#D 7.3.1.14
#S 4.5.1/37/2
#T P02/3
*** *** *** *** ***   Rendering   *** *** *** *** ***


SR11. Every cell of a given cell array and cell array 3 primitive has the same size and shape in modelling coordinates.
#F 21 22
#D 7.3.1.13 7.3.1.14
#S 4.5.1/36/3 4.5.1/37/2
#T P02/3 #C It follows that for cell array 3, the lengths of the sides in
the 1st and 2nd dimension are distance(PQ) / DX and distance(PR)
/ DY. For cell array, the lengths are abs(PX-QX) / DX and
abs(PY-QY) / DY.

SR12. Nominally, cells are rendered as solidly colored areas. The colour of each cell of a cell array or cell array 3 is determined by taking the corresponding array element as its color index.
#F 21 22
#D 7.3.1.13 7.3.1.14
#S 4.5.1/36/6 4.5.1/37/2 4.5.1/38/1
#T P02/3 P02/4 #C This is the preferred method of display. Some implementations
or workstations may be incapable of such filling, see SR14 below.

SR13. For a cell of a cell array or cell array 3 primitive, if its colour index is not defined in the colour table for the workstation, then the index 1 is used.
#F 21 22
#D 7.3.1.13 7.3.1.14
#S 4.5.1/36/6 4.5.1/37/2
#T P02/4 #C This applies to negative color indices as well; see defect
9592-1/065.

SR14. The minimal simulation for a cell array or cell array 3 primitive is a line drawn around the extent of the primitive.
#F 21 22
#D 7.3.1.13 7.3.1.14
#S 4.5.1/36/6 4.5.1/37/2 4.5.16/65/5
#T P02/1 P02/2 #C The attributes of the line used for drawing the cell array
boundary are implementation-defined, including its color.
LOCAL DICTIONARY:

  Functions ---
  021: pca3    <cell array 3>
  022: pca     <cell array>
  303: pqcets  <inquire current element type and size>
  304: pqceco  <inquire current element content>
 
  Data Structures ---
  7  ...  structure_state_list
  7.3  ...  list_of_structure_elements
  7.3.1  ...  graphical_primitives
  7.3.1.13 ...  cell_array_3
  7.3.1.14 ...  cell_array
 



PROGRAM 1: Cell array element

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


PROGRAM 2: Appearance of cell arrays

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

End of documentation for 04.01.07