Next: , Previous: LIST, Up: Formatos de Arquivo de Objeto


4.2.11 Arquivos do Tipo TLIST

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.