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.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. |
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. |
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).