Geomview/OOGL Release 1.6.1 The Geometry Center December 10, 1996 ----------------- CONTENTS -------- Introduction Installation More about Geomview External Modules Auxiliary Programs Documentation Geomview E-mail History Miscellaneous Known Bugs Improvements/Wish list Bug Reports and Comments INTRODUCTION ------------ This is version 1.6.1 of Geomview/OOGL. It runs on many UNIX workstations using X/Motif, including Silicon Graphics, Sun, Linux, HP-UX, DEC Alpha, and RS/6000, using plain Xlib graphics, Open GL if available, or GL (on SGIs). A version also runs on NextStep 3.1 or later using Quick Renderman graphics. Geomview is an interactive geometry viewing program. OOGL, which stands for Object Oriented Graphics Library, is the library upon which Geomview is built. NOTE: Please read the file REGISTER. We need to know how our users are using Geomview so that we can better serve you. In addition, if you use geomview please send an email note to email@example.com requesting to be added to the geomview-users mailing list; this list is for announcements regarding geomview and for geomview users to communicate with each other. See the details in the GEOMVIEW E-MAIL section below. INSTALLATION ------------ See the INSTALL-BINARY file for installation details. Disk space required: geomview-hpux.tar.Z, untarred 23 MB geomview-linux.tar.Z, untarred 22 MB geomview-sgi.tar.Z, untarred 23 MB geomview-solaris.tar.Z, untarred 21 MB geomview-src.tar.Z, assuming you've installed XForms and Tcl/Tk "Compiled for" values are peak sizes, after "make install" and before "make clean", and compiling with -O and not -g. source only, untarred 15 MB source, compiled for SGI 72 MB source, compiled for Sun (Solaris Sparc) 51 MB source, compiled for Linux 'x86 49 MB source, compiled for HP-UX 53 MB MORE ABOUT GEOMVIEW ------------------- Geomview represents the current state of an ongoing effort at the Geometry Center to provide interactive geometry software which is particularly appropriate for mathematics research and education. In particular, geomview can display things in hyperbolic and spherical space as well as Euclidean space. Geomview allows multiple independently controllable objects and cameras. It provides interactive control for motion, appearances (including lighting, shading, and materials), picking on an object, edge or vertex level, snapshots in SGI image file or Renderman RIB format, and adding or deleting objects is provided through direct mouse manipulation, control panels, and keyboard shortcuts. External programs can drive desired aspects of the viewer (such as continually loading changing geometry or controlling the motion of certain objects) while allowing interactive control of everything else. Geomview supports the following simple data types: polyhedra with shared vertices (.off), quadrilaterals, rectangular meshes, vectors, and Bezier surface patches of arbitrary degree including rational patches. Object hierarchies can be constructed with lists of objects and instances of object(s) transformed by one or many 4x4 matrices. Arbitrary portions of changing hierarchies may be transmitted by creating named references. Geomview can display Mathematica and Maple 3-D graphics output; for information on this see the files OOGL.m.doc and gvplot.doc, respectively, in the "doc" subdirectory. EXTERNAL MODULES ---------------- Geomview comes with several "external modules" --- programs that communicate with geomview through a command language. The list of currently installed modules appears in the "Modules" browser on geomview's main panel. To invoke a module, click the mouse on the appropriate line in this browser. The modules in this distribution are: MODULE PLATFORMS DESCRIPTION addbbox: SNX create a wireframe box around an object animate: SNX flip through a sequence of objects clipboard: SX cut, copy and paste geometric objects cplxview: SX complex-function viewer, using geomview N-D projection crayola: SNX interactively color objects drawbdy: SNX compute and draw the boundary of an object example: SX generic FORMS example external module flythrough: SX interactive version of "Not Knot" hyperbolic flythrough ginsu: SX interactively slice objects (see "clip") graffiti: SNX draw line segments on objects gvclock: SNX 3D clock, demonstrates real-time motion hinge: SX hinge copies of a polyhedron around its edges labeler: X turn text into geometric objects maniview: SX 3-manifold viewer NDview: SX N-dimensional viewing controls NDdemo: SX N-dimensional viewing demonstration nose: SNX demonstrates picking stereo: SX hardware, crosseyed, red/cyan stereo sweep: SN generate objects of rotation from line segments tackdown: SX redefine an object's "home" position transformer: SX explicitly control an object's transformation matrix trigrp: S explore triangle symmetry groups (S means SGI version exists, N means NeXTStep version exists, X means X version exists.) AUXILIARY PROGRAMS ------------------ PROGRAM PLATFORMS DESCRIPTION anytooff: SNX convert any OOGL object into OFF format anytoucd: SNX convert any OOGL object into UCD format bdy: SNX compute the boundary edges of a geom as a VECT file bez2mesh: SNX convert Bezier object to MESH clip: SNX clip OOGL objects against planes or other surfaces hvectext: SNX produce VECT text from Ghostscript Hershey fonts math2oogl: SNX convert Mathematica graphics object to OOGL format offconsol: SNX consolidate duplicate vertices in an OFF file oogl2rib SNX convert OOGL to RenderMan RIB (see OOGL.m.doc) polymerge: SNX merge vertices, edges, and faces in an OFF file togeomview: SNX pipe GCL commands or geometry to a copy of geomview, invoking geomview if necessary ucdtooff: SNX convert UCD format file into an OFF OOGL file (S means SGI version exists, N means NeXTStep version exists, X means X version exists) DOCUMENTATION ------------- A comprehensive manual is in the "doc" subdirectory. This manual was written specifically for the SGI version. Most, but not all of it, applies to the NeXT and X11 version as well. There is also a copy of this manual on the World Wide Web at URL: http://www.geom.umn.edu/docs/software/geomview/geomview_toc.html. The file doc/oogltour gives an introduction to the OOGL file format, which is the format of geometry files that geomview reads. More details are in the manual. Further documentation is in the "man" directory, which contains Unix manual pages in both nroff source and formatted form. Each external module, as well as geomview itself, has a manual page. Of particular interest are: man/cat1/geomview.1 geomview man page man/cat5/geomview.5 geomview command language reference man/cat5/oogl.5 OOGL file format reference doc/OOGL.m.doc documentation for interface to Mathematica doc/gvplot.doc documentation for interface to Maple GEOMVIEW E-MAIL --------------- There are three electronic mail addresses for communication regarding geomview: firstname.lastname@example.org: This is a mailing list of people using geomview and can be used for communication between users regarding geomview problems, questions, experiences, etc. The geomview authors are also a part of this list and will respond to questions posted to it. We also use this list to make announcements about new releases and other things of interest to users. To be added to or removed from the geomview-users list, send a note to email@example.com firstname.lastname@example.org: This is the "official" support line; it reaches the geomview authors directly. In general if you have a question or comment that may be of interest to other users, send it to the "geomview-users" address. Use "software" for communication intended just for the authors; in particular, send bug reports and suggestions for improvement to this address. email@example.com Use this address to tell us what you are doing with Geomview. The Geometry Center is funded by the National Science Foundation, and it is important that we be able to report to NSF the ways in which our software is being used. If you use Geomview in your work please send us a note at this address telling us what you are doing with it. See the file REGISTER for more details. Please do not send bug reports or questions to this address; use "firstname.lastname@example.org" for that. HISTORY ------- This project began in the summer of 1988 with the work of Pat Hanrahan on a viewing program called MinneView. Shortly thereafter Charlie Gunn begin developing OOGL in conjunction with MinneView. In the time since then, many people have contributed, including Stuart Levy, Mark Meuer, Tamara Munzner, Steve Anderson, Mario Lopez, Todd Kaplan. In 1991, OOGL was rewritten and a new viewer geomview was begun. Both geomview and the new OOGL have a core of device-independent common code. Currently there are device drivers for SGI GL, PhotoRealistic RenderMan, Quick RenderMan on the NeXT, and the X Window System. The NeXT version of geomview was written by Daniel Krech and Scott Wisdom. Scott Wisdom wrote the Photo Realistic and Quick RenderMan OOGL drivers. The SGI version of geomview and OOGL was written by Stuart Levy, Tamara Munzner, and Mark Phillips. The geomview common kernel was written by Stuart Levy, Tamara Munzner, and Mark Phillips, with contributions from Nathaniel Thurston and Celeste Fowler. The X version was created by Daeron Meyer and Timothy Rowley. MISCELLANEOUS ------------- For a list of changes between versions, see the file CHANGES. Geomview is copyrighted software. Please read the file COPYING in this directory before using or distributing Geomview. The file MANIFEST contains a list of the files in this distribution. KNOWN BUGS ---------- (S refers to a SGI bug, N refers to a NeXTStep bug, and X refers to a X bug) Picking can fail if any part of any object is behind the camera plane. (SNX) IMPROVEMENTS AND WISH LIST ========================== Text should come soon. Meanwhile, you can use Labeler or hvectext, and the INST "origin" and "location" features to paste it on the screen. BUG REPORTS AND COMMENTS ------------------------ Please send bug reports and comments about this version to email@example.com.