Next: , Previous: LIST, Up: Object File Formats

4.2.11 TLIST Files

The conventional suffix for a TLIST file is .grp ("group") or or .prj ("projective" matrices).

Collection of 4x4 matrices, used in the transforms section of and INST object.


     TLIST			# key word
     <4x4 matrix (16 floats)>
     ...				# Any number of 4x4 matrices

TLISTs are used only within the transforms clause of an INST object. They cause the INSTs geom object to be instantiated once under each of the transforms in the TLIST. The effect is like that of a LIST of INSTs each with a single transform, and all referring to the same object, but is more efficient.

Be aware that a TLIST is a kind of geometry object, distinct from a transform object. Some contexts expect one type of object, some the other. For example in

     INST transform { : myT } geom { ... }

myT must be a transform object, which might have been created with the GCL

     (read transform { define myT 1 0 0 1 ... })

while in

       INST transforms { : myTs } geom { ... }
       INST transforms { LIST {: myTs} {< more.prj} } geom { ... }

myTs must be a geometry object, defined e.g. with

       (read geometry { define myTs { TLIST 1 0 0 1 ... } })

A TLIST BINARY format is accepted. Binary data begins with a 32-bit integer giving the number of transformations, followed by that number of 4x4 matrices in 32-bit floating-point format. The order of matrix elements is the same as in the ASCII format.