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