TLIST - Manual do Geomview
Description: Manual do Geomview

Next: GROUP, 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` `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.