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