TKE_Mesh
Opcode
ASCII | M |
Hexadecimal | 0x4D |
Decimal | 77 |
Operands
Byte suboptions, int rows, int columns, variable points, [variable attributes]
suboptions | information about formatting. Uses a subset of the bits defined in TKE_Shell |
rows | the number of rows of vertices in the mesh |
columns | the number of columns of vertices in the mesh |
points | the vertex locations |
attributes | polyhedron attributes bound to faces, edges or vertices. Present if and only if suboptions has the TKSH_HAS_OPTIONALS bit set. See attributes.html for details. |
Suboptions
As mentioned above, TKE_Mesh
suboption share a definition with TKE_Shell
, and use a subset of its suboptions bits. The following bits are relevant here:
0x01 | TKSH_COMPRESSED_POINTS – Points are compressed |
0x08 | TKSH_HAS_OPTIONALS – Vertices, edges and/or faces have attributes, and the attributes section of the format exists. See attributes.html |
0x80 | TKSH_EXPANDED – Suboptions2 currently has no bits relevant to TKE_Mesh , so this bit will not be set (and thus there is currently no suboptions2) |
Notes
A mesh is a rectangular array of faces with implicit regular connectivity. The mesh is inserted into the currently opened segment.
As in TKE_Shell
, points are either compressed or uncompressed vertex data. Compression status is dictated by the TKSH_COMPRESSED_POINTS
bit in the shell suboptions. If uncompressed, it will consist of triples of 32-bit floating point coordinates in the order xyzxyz… If compressed, it will consist of a compression scheme identifier, followed by data that is specific to that compression scheme. The specifics of the compressed format are described in attributes.html in the “array of compressed floats” section.
Points (uncompressed)
int
pointcount, float array
uncompressed triplets of point data, in order xyzxyz…
Points (compressed)
byte
compression scheme, int
pointcount, variable
array of compressed floats. See the “array of compressed floats” section of attributes.html.