### 3.8 Saving your work

Geomview's Save panel lets you store Geomview objects and other information in files that you can read back into Geomview or other programs.

Figure 3.9: The Save Panel.

To use the Save panel you select the desired format in the browser next to the word Save, enter the name of the object you want to save in the text field next to the word for, and enter the name of the file you wish to save to in the long text field next to the word in. You can then either hit `<Enter>` or click on the OK button. When the file has been written, the Save panel disappears. If you want to dismiss the Save panel without writing a file, click the Cancel button.

If you specify `-` as the file name, Geomview will write the file to standard output, i.e. in the shell window from which you invoked Geomview.

The possible formats are given below. The kind of object that can be written with each format is given in parentheses.

Commands (any object)
  This write a file of GCL commands containing all information about the object. Loading this file later will restore the object as well as all other information about it, such as appearance, transformations, etc.
Geometry alone (geom)
  This writes an OOGL file containing just the geometry of the object.
Geometry [in world] (geom)
  This writes an OOGL file containing just the geometry of the object, transformed under Geomview's current transformation for this object. Use this if you have moved the object from its initial position and want to save the new position relative to the world.
Geometry [in universe] (geom)
  This writes an OOGL file containing just the geometry of the geom, transformed under both the object's transformation and the world's transformation.
RMan [->tiff] (camera)
  Writes a RenderMan file which when rendered creates a tiff image. Transparency and texturing (the latter only to some extent) will be available.
RMan [->frame] (camera)
  Writes a RenderMan file which when rendered causes an image to appear in a window on the screen. Transparency and texturing (the latter only to some extent) will be available.
SGI snapshot (camera)
  Write an SGI raster file. A bell rings when the snapshot is complete. Only available on SGI systems.
PPM GLX-offscreen snapshot (camera)
  Render the complete scene anew into off-screen memory; GLX provides the means to use a Pixmap as rendering area. The advantage of rendering into off-screen memory over taking screen snapshot is that the camera windows need not be mapped and even raised at the time the snapshot is taken. So with off-screen snapshot one can safely iconify the camera window (but do not close it!), activate the screen-saver and go to bed while some script advances the scenes and takes snapshots.
PPM Screen snapshot (camera)
  Take a snapshot of the given window and save it as a PPM image. If you specify a string beginning with a vertical bar (`|`) as the file name, it's interpreted as a Bourne shell command to which the PPM data should be piped, as in ‘`| pnmtotiff > snap.tiff`’ or ‘`| convert -geometry 50% ppm:- snap.gif`’.

  PPM screen snapshots are only available with GL and Open GL, not plain X graphics. The window should be entirely on the screen. Geomview will ensure that no other windows cover it while the snapshot is taken. It is probably a better idea to use GLX-off-screen snapshots, as explained above.

PPM software snapshot (camera)
  Writes a snapshot of that window's current view, as a PPM image, to the given file. The file name may be a Bourne shell command preceded by a vertical bar (`|`), as with the PPM screen snapshot. The software snapshot, though, is produced by using a built-in software renderer (related to the X-windows renderer). It doesn't matter whether the window is visible or not, and doesn't depend on GL or OpenGL. It also doesn't support some features, such as texture mapping.
Postscript snapshot (camera)
  Writes a Postscript snapshot of the camera's view. It's made by breaking up the scene into lines and polygons, sorting by depth, and generating Postscript lines and polygons for each one. Advantages over pixel-based snapshot images: resolution is very high, so edges look sharp even on high-resolution printers, or comparable-resolution images are typically much more compact. Disadvantages: depth-sorting gives good results on some scenes, but can be wildly wrong as a hidden-surface removal algorithm for other scenes. Also, Postscript doesn't offer smoothly interpolated shading, only flat shading for each facet.
Camera (camera)
  Writes an OOGL file of a camera.
Transform [to world] (any object)
  Writes an OOGL transform file giving Geomview's transform for the object.
Transform [to universe] (any object)
  Writes an OOGL transform file giving a transform which is the composition of Geomview's transform for the object and the transform for the world.
Window (camera)
  Writes an OOGL window file for a camera.
Panels
  Writes a GCL file containing commands which record the state of all the Geomview panels. Loading this file later will restore the positions of all the panels.