Geomview(1) Geometry Center (December 10, 1996) Geomview(1)
NAME
Geomview - interactive geometry viewer
SYNOPSIS
geomview [-opengl] [-b r g b] [-c commandfile]
[-wins #windows] [-nopanels]
[-wpos xmin ymin xsize ysize]
[-wpos xsize,ysize[@xmin,ymin]] [-e external-module-
name] [-M[cg][sp] pipename] [-start external-module-
name [arg ...] --] [-run external-module-
path [arg ...] --] [file ...]
DESCRIPTION
Geomview is an interactive geometry viewer written at the
Geometry Center. It displays the objects in the files given
on the command line and allows the user to view and manipu-
late them interactively.
The present version (1.6.1) of geomview runs on Silicon
Graphics Irises, NeXT, and X Window System workstations. We
are very interested in hearing about any problems you may
have using it; see below for information on how to contact
us.
In addition to providing interactive control over a world of
objects via the mouse and keyboard, geomview has an inter-
preted language of commands for controlling almost every as-
pect of its display. It can execute files containing state-
ments in this language, and it can communicate with other
programs using the language. See geomview(5), e.g. the file
man/cat5/geomview.5 in the geomview distribution, for more
details of the language.
TUTORIAL
This manual page serves only as a (very) terse reference
manual for geomview. For a gentler introduction to the pro-
gram and the format of the data files it can read, see
"overview" and "oogltour" in the "doc" directory of the
geomview distribution, or better, see the full manual:
"geomview.tex" or "geomview.ps", also in the "doc" directo-
ry. The source distribution also includes a tutorial for
how to write external modules in the "src/bin/example"
directory.
OPTIONS
-opengl
Some geomview distributions include two gvx executables
-- one which displays images using only X windows
graphics, and another which uses Open GL. The -opengl
(or -OGL) option selects the latter, if it exists. If
Page 1 (printed 12/22/98)
Geomview(1) Geometry Center (December 10, 1996) Geomview(1)
used, this option must be the first option given to
geomview.
-b Set the window background color to the given r g b
values.
-c Interpret the commands in commandfile, which may be
``-'' for standard input. The command language is
described in geomview(5). Commands may be supplied
literally, as in ``-c "(ui-panel main off)"''; since
they include parentheses, they must be quoted.
-wins
Causes geomview to initially display #windows camera
windows.
-wpos
Specifies the initial location and size of the first
camera window. With ``-'', you are prompted for window
placement.
-M objname
Display (possibly dynamically changing) geometry (or
commands) sent via ``togeomview -g objname [geomview-
shell-command]'' or ``geomstuff objname file ...''.
The data appears as a geomview object named objname.
Actually listens to the named pipe
``/tmp/geomview/objname''; you can achieve the same ef-
fect with the shell commands:
mkdir /tmp/geomview;
mknod /tmp/geomview/objname p
(assuming the directory and named pipe don't already
exist), then executing the geomview command:
(geometry objname < /tmp/geomview/objname)
-M[cg][sp] pipename
The -M option accepts modifiers: a 'g' suffix expects
geometry data (the default), while 'c' suffix expects
gcl commands. A 'p' implies the connection should use
a named pipe (the default on the Iris), while 's' im-
plies using a UNIX-domain socket (default on the NeXT).
So -Mcs fred selects reading commands from the UNIX-
domain socket named /tmp/geomview/fred.
-nopanels
Start up displaying no panels, only graphics windows.
Panels may be invoked later as usual with the "Px" key-
board shortcuts or "(ui-panel ...)" command.
-noinit
Read no initialization files. By default, geomview
Page 2 (printed 12/22/98)
Geomview(1) Geometry Center (December 10, 1996) Geomview(1)
reads the system-wide ".geomview" file, followed by
those in $HOME/.geomview and ./.geomview.
-e modulename
Start an external module; modulename is the name asso-
ciated with the module, appearing in the main panel's
Applications browser, as defined by the emodule-define
command (see geomview(5) for details).
-start modulename arguments ... --
Like -e but allows you to pass arguments to the exter-
nal module. "--" signals the end of the argument list;
the "--" may be omitted if it would be the last argu-
ment on the geomview command line.
-run shell-command arguments ...
Like -start but takes the pathname of executable of the
external module instead of the module's name.
GEOMETRY FILE FORMATS
The format of the files read by geomview is described in
oogl(5); type "man 5 oogl", or see the file man/cat5/oogl.5
in the geomview distribution, for details.
Note to users of MinneView (the precursor to geomview):
geomview can read MinneView files, but MinneView cannot read
all geomview files.
STARTUP FILES
Immediately upon starting up geomview reads and executes the
commands in the system-wide .geomview file in the "data"
subdirectory of the geomview directory. Then, if there is a
file named .geomview in the current directory, it executes
the commands in that file. If no in the user's home direc-
tory, and executes it if found. The startup file of an indi-
vidual user overrides the systemwide defaults, since later
commands take precedence over earlier ones.
EXTERNAL MODULES
Geomview has the ability to interact via its command
language with other programs, called "external modules".
Many such modules have been written and appear in the "Ap-
plication" browser in the main geomview panel. To invoke a
module you click the mouse on the module's entry in this
browser. This starts the module and adds an additional en-
try to the browser, beginning with a number in square brack-
ets as in ``[1] Crayola'', which represents the running in-
stance of that module. You can terminate the module by
clicking on the numbered entry. Modules are documented
Page 3 (printed 12/22/98)
Geomview(1) Geometry Center (December 10, 1996) Geomview(1)
separately from geomview. See the manual page for each
module for details.
INSTALLING AN EXTERNAL MODULE
Geomview looks for external modules in a special directory
for modules. In the geomview distribution tree this is the
"bin/$MACHTYPE" subdirectory. A module consists of two
files: the executable program, and a "module init file",
which is a whose name is ".geomview-" followed by the module
name. The module init file tells geomview how to run that
program. Be sure to always keep these two files together;
geomview needs both of them in order to run the module. To
install a new module, simply put the module's executable
file and its init file in your geomview's module directory.
The next time you run geomview, it will know about that
module.
Geomview can actually looks for modules in a list of direc-
tories; by default only the "bin/$MACHTYPE" directory is on
this list. See the set-emodule-path command in geomview(5)
for details.
There is a tutorial for how to write external modules in the
"src/bin/example" directory.
EXTERNAL MODULE INIT FILES
An external module init file is the file that tells geomview
how to run that module. Its name must be ".geomview-" fol-
lowed by the name of the module, e.g. ".geomview-foo". It
should contain geomview commands; typically it will contain
a single emodule-define command which enters the module into
geomview's application browser:
(emodule-define "Foo" "foo")
The first string is the name that appears in the browser.
The second string is the command to invoke the module. It
may contain arguments; in fact it can be an arbitrary shell
command.
KEYBOARD SHORTCUTS
Many geomview operations are available from the keyboard.
Hitting the "?" button on the main panel, or typing "?"
with the cursor in any window, causes geomview to print a
message on standard output listing all the keyboard
shortcuts.
Keyboard commands apply while cursor is in any graphics window and most
Page 4 (printed 12/22/98)
Geomview(1) Geometry Center (December 10, 1996) Geomview(1)
control panels. Most commands allow one of the following selection prefixes
(if none is provided the command applies to the current object):
g world geom g# #'th geom g* All geoms
c current camera c# #'th camera c* All cameras
Many allow a numeric prefix: if none they toggle or reset current value.
Appearance:
Draw: Shading: Other:
af Faces 0as Constant av eVert normals: always face viewer
ae Edges 1as Flat #aw Line Width (pixels)
an Normals 2as Smooth #ac edges Closer than faces(try 5-100)
ab Bounding Boxes 3as Smooth, non-lighted al Shade lines
aV Vectors aT allow transparency at Texture-mapping
Color: aC allow concave polygons
Cf Ce Cn Cb CB face/edge/normal/bbox/backgnd
Motions: Viewing:
r rotate [ Leftmouse=X-Y plane, 0vp Orthographic view
t translate Middle=Z axis, 1vp Perspective view
z zoom FOV Shift=slow motion, vd Draw other views' cameras
f fly in r/t modes. ] #vv field of View
o orbit [Left=steer, Middle=speed ] #vn near clip distance
s scale #vf far clip distance
w/W recenter/all v+ add new camera
h/H halt/halt all vx cursor on/off
@ select center of motion (e.g. g3@) vb backfacing poly cull on/off
#vl focal length
L Look At object v~ Software shading on/off
show Panel: Pm Pa Pl Po main/appearance/lighting/obscure
Pt Pc PC Pf tools/cameras/Commands/file-browser
Ps P- saving/read commands from tty
Lights: ls le Show lights / Edit Lights
Metric: me mh ms Euclidean Hyperbolic Spherical
Model: mv mp mc Virtual Projective Conformal
Other:
N normalization < Pf load geom/command file
0N none > Ps save something to file ui motion has inertia
1N each TV NTSC mode toggle uc constrained (X/Y) motion
2N all uo motion in Own coord system
Rightmouse-doubleclick pick as current target object
Shift-Rightmouse pick interest (center) point
Renderman:
RR send RIB output to <fileprefix>NNN.rib (default fileprefix == "geom")
RC Emulate lines using cylinders (default)
RP Emulate lines using polygons
Ra choose ASCII RIB format (default)
Rb choose BINARY RIB format
Rt choose Display token to specify .tiff file (default)
Rf choose Display token to specify framebuffer
Rs Simulate background color with Polygon (default)
Rx No background simulation - fully transparent (alpha) background
NOTES
Page 5 (printed 12/22/98)
Geomview(1) Geometry Center (December 10, 1996) Geomview(1)
The "geomview" command is actually a shell script that sets
various environment variables which tell geomview about your
local setup, and then invokes the geomview executable pro-
gram "gvx" (or "gvx.OGL"). Do not run "gvx" by itself; al-
ways invoke geomview with the "geomview" shell script.
SEE ALSO
oogl(5) - OOGL geometric file formats and conventions
geomview(5) - geomview command language reference
FILES
data/.geomview - default initialization file in geomview
command language
data/geom - sample data files
ENVIRONMENT
The ``geomview'' shell script sets these internally by de-
fault; if you set them before invoking geomview, the values
you set will be used instead of the built-in defaults.
GEOMROOT - main directory under which geomview finds its
data files, modules, and gvx executable.
GEOMVIEW_GVX - geomview executable
GEOMVIEW_LOAD_PATH - colon-separated search path for data
files
GEOMVIEW_EMODULE_PATH - colon-separated search path for
external modules
GEOMVIEW_SYSTEM_INITFILE - system-wide GCL initialization
script
GEOMDATA - top directory of the default data tree, used by
some modules
AUTHORS
Stuart Levy Tamara Munzner Mark Phillips
slevy@geom.umn.edu munzner@geom.umn.edu mbp@geom.umn.edu
Celeste Fowler Nathaniel Thurston
fowler@geom.umn.edu njt@geom.umn.edu
Daniel Krech Scott Wisdom
krech@geom.umn.edu wisdom@geom.umn.edu
Daeron Meyer Timothy Rowley
daeron@geom.umn.edu trowley@geom.umn.edu
The National Science and Technology Research Center for
Computation and Visualization of Geometric Structures
(The Geometry Center)
University of Minnesota
1300 South Second Street
Minneapolis, MN 55454 USA
Page 6 (printed 12/22/98)
Geomview(1) Geometry Center (December 10, 1996) Geomview(1)
software@geom.umn.edu
BUGS
Sometimes core dumps on bad input files.
Zoom and scale have no inertia.
Virtual spherical mode doesn't work on VGXes.
If you find a bug, please let us know about it by sending
email to software@geom.umn.edu, or by contacting us at the
address above.
Page 7 (printed 12/22/98)