### 3.8 Gravando Seu Trabalho

O painel Save do Geomview permite a você armazenar objetos do Geomview e outra informação em arquivos que você pode recuperar dentro do Geomview ou a partir de outros programas.

Figura 3.9: O Painel Gravar.

Para usar o painel Save você seleciona o formato desejado no navegador perto da palavra Save, informe o nome do objeto que você quer gravar no campo de texto perto da palavra for, e informe o nome do local no qual você deseja gravar o arquivo no campo longo de texto perto da palavra in. Você pode ou pressionar `<Enter>` ou clicar sobre o botão OK. Quando o arquivo tiver sido gravado no local desejado, o painel Save desaparecerá. Caso você queira dispensar o painel Save sem gravar um arquivo, clique no botão Cancel.

Caso você especifique `-` como nome de arquivo, Geomview mostra o arquivo na saída padrão, i.e. na janela de shell a partir da qual você invocou o Geomview.

Os possíveis formatos são fornecidos abaixo. O tipo de objeto que pode ser escrito com cada formato é fornecido entre parêntesis.

Commands (qualquer objeto)
  A opção "Commands" escreve um arquivo de comandos GCL contendo todas as informações sobre o objeto. Chamando o arquivo posteriormente irá restaurar o objeto bem como todas as outras informações sobre o referido objeto, tais como aparência, transformações, etc.
Geometry alone (geom)
  A opção "Geometry alone" escreve um arquivo OOGL contendo apenas a geo-metria do objeto.
Geometry [in world] (geom)
  A opção "Geometry [in world]" escreve um arquivo OOGL contendo a geometria do objeto, transformado sob a transformação atual do Geomview para esse objeto. Use a opção "Geometry [in world]" caso você tenha movido o objeto de sua posição inicial e queira a nova posição em relação ao objeto mundo.
Geometry [in universe] (geom)
  A opção "Geometry [in universe]" grava um arquivo OOGL contendo apenas a geometria do geom, transformado sob transformações sofridas pelo objeto e também sob transformações sofridas pelo objeto mundo.
RMan [->tiff] (camera)
  A opção "RMan [->tiff]" escreve um arquivo que quando for renderizado cria uma imagem tiff. Transparência e textura (a mais recente somente até certo ponto) estará disponível.
RMan [->frame] (camera)
  A opção "RMan [->frame]" escreve um arquivo RenderMan que quando for rede-rizado faz com que uma imagem apareça em uma janela na tela. Transparência e textura (a mais recente somente até certo ponto) estará disponível.
SGI snapshot (camera)
  A opção "SGI snapshot" escreve um arquivo de varredura SGI. Uma campainha toca quando o instantâneo for completado. Somente disponível em sistemas SGI.
PPM GLX-offscreen snapshot (camera)
  Renderiza uma cena completa novamente dentro da memória off-screen; GLX fornece os meios para usar um Pixmap como área de renderização. A vantagem de renderizar dentro da memória off-screen em relação a pegar um instantâneo de tela é que a janela de câmera não precisa ser mapeada e também não precisa aparece na hora do intantâneo é realizado. De forma que com o intantâneo off-screen se pode seguramente colocar a janela de câmera no formato de ícone (mas não fechá-la!), ativar a proteção de tela e ir dormir enquanto algum script avança as cenas e grava os instantâneos.
PPM Screen snapshot (camera)
  Grava os instantâneos a partir da janela fornecida e grava no formato de imagem PPM. Se você especificar uma sequência de caracteres começando com um barra vertical (`|`) como nome de arquivo, isso é interpretado com um comando de redirecionamento do shell para o qual os dados do PPM deverão ser canalizados, como em ‘`| pnmtotiff > snap.tiff`’ ou em ‘`| convert -geometry 50% ppm:- snap.gif`’.

  Instantâneos de tela PPM estão somente disponíveis com GL e open GL, não com gráficos X somente. A janela pode ocupar inteiramente tela. Geomview irá garantir que não haja outras janelas reproduzindo-a enquanto o instantâneo é gravado. É provavelmente melhor usar instantâneos GLX-off-screen, como acima exposto.

PPM software snapshot (camera)
  Escreve um instantâneo da janela atualmente visualizada, como uma imagem PPM, apra o arquivo fornecido. O nome do arquivo pode ser um comando do shell Bourne precedido por uma barra vertical (`|`), da mesma forma que com o instântâneo de tela PPM (PPM screen snapshot). O instantâneo de software, apesar disso, é produzido através do uso de software renderizador interno (relacionado ao renderizador do sistema X-window). Não é importante se a janela está visível ou não, e é independente do GL ou do OpenGL. Também essa opção não suporta alguns recursos, tais como mapeamento de textura.
Postscript snapshot (camera)
  Escreve um instantâneo Postscript da visão da câmera. O instantâneo é feito através da decomposição da cena em linhas e polígonos, ordenando por intensidade, e gerando linhas no formato Postscript e polígonos para cada uma. Vantagens desse processo sobre o processo baseado em pixes do instantâneo de imagens: a resolução é muito alta, de forma que arestas parecem na posição correta mesmo em impressoras de alta resolução, ou imagens de resolução comparável são tipicamente muito mais compactas. Desvantagens: ordenação por intensidade fornece bons resultados em algumas cenas, mas pode ser grandemente ruim como no algorítmo de remoção de cenas ocultas em outras cenas. Também, Postscript não oferece sombreamento interpolado linear, somente sombreamento linear simples para cada faceta.
Camera (camera)
  Escreve um arquivo OOGL de uma câmera.
Transform [to world] (qualquerobjeto)
  Escreve um arquivo de transformação OOGL fornecendo transformação do Geomview para o objeto.
Transform [to universe] (qualquerobjeto)
  Escreve um arquivo de transformação OOGL fornecendo uma transformação que é a composição de transformação do Geomview para o objeto e a transformação sofrida pelo objeto mundo.
Window (camera)
  Escreve um arquivo de janela OOGL para uma câmera.
Panels
  Escreve um arquivo GCL contendo comandos que gravam o estado de todos os painéis do Geomview. Chamando esse arquivo posteriormente irá restaurar as posições de todos os painéis.