Next: SKEL, Previous: OFF, Up: Formatos de Arquivo de Objeto

#### 4.2.6 Arquivos do Tipo VECT

O sufixo convencional para arquivos `VECT` é `.vect`.

Sintaxe:

         [4]VECT
         NLinhaspoligonais  NVértices  NCores

         Nv[0] ... Nv[NLinhaspoligonais-1]     # número de vértices
                                                    # em cada linha poligonal

         Nc[0] ... Nc[NLinhaspoligonais-1]     # número de cores fornecido
                                                    # em cada linha poligonal

         Vert[0] ... Vert[NVertices-1]  # Todos os vértices
                                                    # (3*NVertices números em
                                                    # ponto flutuante)

         Color[0] ... Color[NCores-1]  # Todas as cores
                                                    # (4*NCores números em ponto
                                                    # flutuante, RGBA)

Objetos do tipo `VECT` representam listas de linhas poligonais (sequência de caracteres que representam segmentos de reta, possivelmente fechados). Uma linha poligonal degenerada pode ser usada para representar um ponto.

Um arquivo `VECT` inicia-se com a palavra chave `VECT` ou com `4VECT` e três inteiros: NLinhas, NVértices, e NCores. Aqui NLinhas é o nŽumero de linhas poligonais no arquivo, NVértices o número total de vertices vértices, e NCores o número de cores como explanado abaixo.

A seguir vem NLinhas que são inteiros de 16-bit

Nv[0] Nv[1] Nv[2] ... Nv[NLinhas-1]

fornecendo o número de vértices em cada linha poligonal. Um número negativo indica uma linha poligonal fechada; 1 denota ponto composto por um pixel simples. O somatório (dos valores absolutos) de Nv[i] deve ser igual a NVértices.

A seguir vem NLinhas que são formadas por inteiros de 16-bit Nc[i]: o número de cores em cada linha poligonal. Normalmente um dos três valores abaixo:

0
  Nenhuma cor é especificada para esta linha poligonal. Seu desenho na mesma cor que a linha poligonal anterior.
1
  Uma cor simples é especificada. A linha poligonal completa é desenhada nessa cor.
abs(Nv[i])
  Cada vértice tem uma cor. Ou cada segmento é desenhado na correspondente cor, ou as cores são linearmente interpoladas ao longo dos segmentos de reta, dependendo da implementação.

A seguir vem NVértices grupos de 3 ou 4 números em ponto flutuante: as coordenadas de todos os vértices. Se a palavra chave for 4VECT então existirão 4 valores por vértice. O primeiro grupo abs(Nv[0]) forma a primeira linha poligonal, o grupo seguinte abs(Nv[1]) forma a segunda e assim por diante.

Finalmente NCores grupos de 4 números em ponto flutuante fornecendo valores de vermelho, verde, azul e alfa (opacidade). O primeiro grupo Nc[0] aplica-se à primeira linha poligonal, e assim por diante.

Um formato VECT BINARY é aceito; veja Formato binario. O formato binário segue exatamente o formato ASCII, com inteiros de 32-bit Big-Endian onde aparecem os números inteiros comuns, e com inteiros de 16-bit Big-Endian onde aparecem inteiros de 16-bit; números em ponto flutuante de 32-bit Big-Endian onde aparecem os valores reais. NOTA REALMENTE GRANDE: Os contadores de vértice Nv[i] e os contadores de cor Nc[i] são inteiros de 16-bit Big-Endian.