3. Cell Header

The cell header consists of two fields: the first is a decimal integer denoting the cell type and the second is a bit-field, encoded as a decimal integer, denoting a set of cell flags. By convention, the cell header is formatted on a separate line, as follows:
CellType<spc>CellFlags<nl>
where CellType is the cell type definition, CellFlags are the cell flags, <spc> is a space character and <nl> is the newline sequence.

3.1 Cell Type

The cell type value is a decimal integer value that indicates the type of cell definition that follows:

Code Cell Type
100 Triad
115 Vector list1
125 Polyhedron1
130 Arc/Circle (coarse)
131 Arc/Circle (fine)
140 Text (world)
141 Text (screen fast)
142 Text (screen normal)
143 Text (unrotate fast)
144 Text (unrotate normal)
150 Text list (world)1,3
151 Text list (screen fast)1,3
152 Text list (screen normal)1,3
153 Text list (unrotate fast)1,3
154 Text list (unrotate normal)1,3
308 Block definition1
310 Trapezoid/Box
311 Tetrahedron
315 Rectangle2
330 Hemisphere (coarse)
331 Hemisphere (fine)
340 Cone (coarse)
341 Cone (fine)
350 Cylinder (coarse)
351 Cylinder (fine)
360 Frustum (coarse)
361 Frustum (fine)
388 File reference1,4
408 Instance (of block or file definition)1
555 Compiled picture (pre-OpenInventor format)1
599 Compiled picture (embedded file)1,4
700 Set
7000 Main Set
10000 Root Set
1Not editable in ACE
2Editable (despite being described as "uneditable"), but not creatable, in ACE.
3Standard (OpenGL/IrisGL) Graphics versions only.
4VR (OpenInventor) Graphics versions only.

3.2 Cell Flags

This is a bit-field containing a number of different flags; each flag is a bit from the binary equivalent of the decimal integer value. Bits are numbered, starting from the least significant (i.e. right-most), consecutively beginning with 0. For example, the decimal value 21 is 1101 in binary, indicating that bits 0, 2, and 3 are set - all other bits are clear.

It is essential that these flags are scanned since they determine the subsequent formatting of the cell data.

Bit Value (Hex) Value (Dec) Meaning if set
0 0x01 1 Cell attributes are present.
1 0x02 2 Cell joint data (parameters and geometry) is present.
2 0x04 4 Cell geometry is present.
3 0x08 8 Cell geometry is in matrix form.
4 0x10 16 Inherit color from parent. Color attributes are ignored.
5 0x20 32 Cell has associated data in AutoMod. TODO - expand on this.
6 0x40 64 Bounding box data is present. This feature is only supported in VR Graphics versions.

3.3 Examples

Here are some sample cell headers to illustrate this section:

115 17

The above cell header defines a vector list (cell type 115). 17 is the decimal representation of the binary value 10001. Looking at the bits making up the value 17, we see that we need to set bits 0 (value 1) and bit 4 (value 16) and clear all the other bits; consequently, we can deduce that the vector list's attributes are present and that it inherits its color from its parent set.

700 5

This cell header defines a set (cell type 700) for which a set of attributes and geometry have been defined (5 decimal = 101 binary, therefore bits 0 and 2 are set).