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 binario. 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