O sufixo convencional para um arquivo TLIST é .grp ("grupo")
ou .prj (matrizes "projetivas").
Coleções de matrizes 4x4, usadas na seção transforms de/e
objeto INST.
Sintaxe:
TLIST # palavra chave
<matriz 4x4 (16 números em ponto flutuante)>
... # qualquer número de matrizes 4x4
transform { # referência a um objeto de transformação
<objeto de transformação (pode ser um manipulador)>
}
tlist { # TLIST aninhada
<objeto TLIST OOGL (pode ser um manipulador)>
}
Objetos TLIST são usados somente dentro de cláusulas transforms de um
objeto INST. Objetos TLIST fazem com que os objetos geom INSTs sejam
instanciados uma vez sob cada uma das transformações na TLIST.
O efeito é como aquele de um LIST de INSTs cada uma com uma
transformação simples, e todas as transformações referindo-se ao mesmo objeto, mas é mais
eficiente.
TLISTs podem ser aninhadas: efetivamente isto significa que todas as
transformações em cada objeto TLIST aninhado são multiplicadas (à
esquerda) através das transformações no objeto TLIST mais externo.
Esteja informado de que uma TLIST é um tipo de geom, distinto de um
objeto transform. Alguns contextos esperam um geom,
alguns contextos esperam um transform. Por exemplo em
INST transform { : meuT } geom { ... }
meuT deve ser um objeto transform, que pode ter sido criado com a GCL
(read transform { define meuT 1 0 0 1 ... })
enquanto em
INST transforms { : meusTs } geom { ... }
ou
INST transforms { LIST {: meusTs} {< more.prj} } geom { ... }
meusTs deve ser um objeto geom, definido e.g. com
(read geometry { define meusTs { TLIST 1 0 0 1 ... } })
O formato TLIST BINARY é aceito. Dados binários iniciam-se com um
inteiro de 32-bit fornecendo o números de transformações, seguido por aquele
número de matrizes 4x4 no formato em número de ponto flutuante de 32-bit. A ordenação dos
elementos da matriz é a mesma do formato ASCII.