4.2.7 Arquivos do Tipo SKEL

Arquivos do Tipo SKEL representam coleções de pontos e linhas poligonais, com vértices compartilhados. O sufixo convencional para arquivos SKEL é .skel.

Sintaxe:

[C][4][n]SKEL
[NDim]                    # Dimensão dos vértices, presente somente 
				    # se nSKEL também estiver presente
NVértices  NLinhaspoligonais

x[0]  y[0]  z[0]  # Vértices
				    # se 4SKEL, cada vértice terá 4 componentes
				    # se nSKEL, each vértice terá NDim componentes
                                    # se C[4][n]SKEL coordenadas de
                                    # vértice são seguidas por uma
                                    # especificação de cor RGBA
...
x[NVértices-1]  y[NVértices-1]  z[NVértices-1]

                        # linhas poligonais
                        # Nv = vértices sobre essa linha poligonal
                        # (1 = ponto)
                        # v[0] ... v[Nv-1]: índices de vértice
                        #               no intervalo 0..NVértices-1
Nv  v[0] v[1] ... v[Nv-1]  [colorspec]
...
                        # colorspec continua adiante de v[Nv-1]
                        # atém encontrar um fim de linha; pode ser
                        # vazia, ou 3 ou 4 números.
                        # vazia: cor padrão
			# 3 ou 4 números em ponto flutuante: valores RGB[A] no intervalo 0..1

A sintaxe é semelhante à sintaxe dos arquivos OFF, com uma tabela de vértices seguidos de uma sequência de descrições de linhas poligonais, cada descrição referindo-se a vértices através de índices na tabela. Cada linha poligonal tem uma cor opcional.

Para objetos nSKEL, cada vértice tem NDim componentes. Para objetos 4nSKEL, cada vértice tem NDim+1 componentes; a componente final é o divisor homogêneo.

Um formato [4][n]SKEL BINARY é aceito; veja Formato binário. Esse formato assemelha-se ao formato ASCII na maioria das formas que você pode esperar, com inteiros de 32-bit para todos os contadores e índices de vértice e números em ponto flutuante de 32-bit para posições de vértice.

Exceção: cada índice do vértice de linhas poligonais é seguido de um inteiro indicando quantas componentes de cor o acompanham. Componentes de cor de linhas poligonais devem ser inteiros em ponto flutuante, não valores inteiros. Dessa forma uma pouco colorida linha poligonal com 3 vértices pode ser representada como

int int int int int
3   17   5   9   0

enquanto a mesma linha poligonal colorida em vermelho pode ser

int int int int int float float float float
 3  17   5   9   4   1.0   0.0   0.0   1.0