Next: , Previous: Matrizes de transformacao ND, Up: Convencoes


4.1.8 Formato binário

Muitos objetos OOGL aceitam formatos o formato de arquivo binário bem como o formato de arquivo ASCII. Esses arquivos começam com a indicação usual (e.g. CQUAD) seguida pela palavra BINARY. Dados binários iniciam-se no byte imediatamente seguinte ao primeiro caractere de nova linha após a palavra BINARY. Espaços em branco e um simples comentário podem atrapalhar, e.g.

     OFF BINARY	# binary-format "OFF" data follows

Dados binários compreendem inteiros de 32 bits e os inteiros em ponto flutuante de 32 bits conforme definido pela IEEE (IEEE Standard for Binary Floating-Point Arithmetic (ANSI/IEEE Std 754-1985 - Institute of Electrical and Electronics Engineers), ambos os formatos seguem à forma de ordenação "big-endian" (i.e., com o byte mais significativo em primeiro lugar). Esse é o formato nativo para tipos de dado int e tipos de dado float em sistemas do tipo Sun-3, Sun-4, e Irises, além de muitos outros sistemas.

Formatos de dados binários assemelham-se aos formatos correspondentes em ASCII, com tipos de dado "int" e tipos de dado "float" nos lugares que você está acostumado a encontrar. Existe algumas excessões todavia, especificamente dos formatos d arquivo QUAD, OFF e COMMENT. Detalhes são fornecidos no arquivo individual das descrições do formato específico. Veja em QUAD, OFF, e em See COMMENT.

Objetos OOGL binários podem ser livremente misturados em fluxos de objetos ASCII:

     LIST
     { = MESH BINARY
     ... dados binários de uma malha aqui ...
     }
     { = QUAD
     	1 0 0   0 0 1   0 1 0  0 1 0
     }

Note que dados ASCII continuam seguindo imediatamente o último byte dos dados binários.

Naturalmente, é impossível incluir comentários dentro de um objeto em formato binário OOGL, todavia comentários podem aparecer no cabeçalho antes do início dos dados binários.