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
INST
s sejam
instanciados uma vez sob cada uma das transformações na TLIST
.
O efeito é como aquele de um LIST
de INST
s cada uma com uma
transformação simples, e todas as transformações referindo-se ao mesmo objeto, mas é mais
eficiente.
TLIST
s 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.