packages icon
                      Geomview/OOGL Release 1.6.1
                         The Geometry Center
			  December 10, 1996


        More about Geomview
        External Modules
        Auxiliary Programs
        Geomview E-mail
        Known Bugs
        Improvements/Wish list
        Bug Reports and Comments

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 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


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


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.


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:


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.)



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)


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:

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


There are three electronic mail addresses for communication
regarding geomview:

    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

    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.

    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
    "" for that.


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.


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


(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)


Text should come soon.  Meanwhile, you can use Labeler or hvectext,
and the INST "origin" and "location" features to paste it on the screen.


Please send bug reports and comments about this version to