	    gvplot, writeoogl -- Maple 3-D graphics in Geomview

		Contents:
		  Installation Outline
		  Maple's Library Directory
		  Configurable Settings in gvplot
		  Remote Display
		

   This Maple package supports displaying Maple 3-D graphic objects (produced
for example by Maple's plot3d function) in Geomview, and saving Maple graphics
objects as Geomview-readable OOGL files.  Maple 2-D graphics aren't supported.

   This distribution (in src/bin/geomutil/maple2oogl in the Geomview source
distribution) includes Maple source files.  You'll want to run Maple to
produce library (.m) files from the source files, and possibly to install
them in the Maple library directory to be accessible via readlib(gvplot).
This process is handled by the "make install" command described here.

   Documentation for the package itself is available within Maple after
installation; for example, type
	readlib(gvplot);
	?gvplot

   To install this package:

      * Edit gvplot.mapleV3 or gvplot.mapleV4 (according to your version
	of Maple), possibly changing the settings of
	default_gvcommand and default_gvdirectories; see
	"Configurable Settings" and "Remote Display", below.

      * Determine the directory into which new Maple library (.m) files
	should be placed; see "Maple's Library Directory".
	This will be the setting of MAPLE_LIB.  A typical value might be
	/usr/local/maple/lib.

      * If geomview, togeomview, and remotegv aren't already on the
	search path of everyone who'll want to use the program, determine
	which directory they are (or will be) placed in, e.g. /usr/local/bin.
	This will be the setting of BINDIR.

      * If you have the source distribution, edit makefiles/mk.site.default
	(relative to the top of the geomview distribution) and set
	MAPLE_LIB and BINDIR to the appropriate values.

      * Make sure "maple" is on your search path.

      * Run
	  make install
	or, if you didn't set MAPLE_LIB and BINDIR in mk.site.default,
	give those values explicitly on the "make" command line:

	  make install MAPLE_LIB=maple_library_directory BINDIR=binary_directory

 	Maple V4 users: since the Geometry Center doesn't have Maple V4,
	we haven't been able to test that "make install" correctly determines
	the version of Maple if you have release 4.  If you have trouble,
	try invoking the MapleV4 installation directly with

	  make install_v4 MAPLE_LIB=maple_lib_dir BINDIR=binary_dir


			MAPLE'S LIBRARY DIRECTORY

   For convenient invocation, it's best to put the compiled Maple code for
this package -- the file gvplot.m -- in some directory known to Maple.
Users can then invoke it by typing

    readlib(gvplot);

   Since Maple V.2, Maple keeps a list of library directory names in the
global variable "libname".  Its default value is typically the single
directory `/usr/local/maple/lib`; you can check its actual value by
running Maple and typing

    libname;

    You can configure Maple to add other directories (e.g. for locally-
installed rather than Maple-supplied packages) to the libname list for all
users.  Briefly, you create a "src" subdirectory of the default library
directory (e.g.  /usr/local/maple/lib/src) and create a file there named
"init" containing something like

   libname := libname, `/usr/local/maple/otherstuff`:

You could then place library files in /usr/local/maple/otherstuff, and/or set

MAPLE_LIB = /usr/local/maple/otherstuff

in makefiles/mk.site.default.




		    Configurable Settings in gvplot

   Two values in the "gvplot" script are configurable:

      default_gvcommand, the UNIX command used to invoke geomview.
	It's normally "geomview", but might specify some geomview options,
	or might be "remotegv" if you'll want to run maple on one system and
	display via geomview on another.

      default_gvdirectories, the directory(ies) (in addition to those in the
	normal UNIX search path) to find the programs "togeomview" and
	"geomview".  There's no default; this is correct if these programs
	are installed on everyone's search path, e.g. in /usr/local/bin.
	This value is automatically configured as part of the "make install"
	process and probably won't need to be messed with.
	It can be set to a colon-separated list of directories.

    It can be useful to invoke something other than simply "geomview" to
display Maple graphics; for example, one might start geomview with
options to position its window, or with a special startup script.
To adjust this, change the setting of "gvcommand" near line 45, as in
	default_gvcommand := `geomview -nopanels -wpos 640x480@0,0`;

To regenerate the library (.m) file after such changes, start a fresh Maple
session, read the source file, and save the library file:

    read(`gvplot`);
    save(`/usr/local/maple/lib/gvplot.m`);



		REMOTE DISPLAY


It's possible to run Maple on one system and display Geomview graphics
on another.  This can sometimes be done by using the X "DISPLAY" environment
variable, so that Maple and Geomview run on one machine but Geomview's windows
appear elsewhere.  But for fastest graphics, it's better if you can run
Geomview on the computer where the display is.

To have the gvplot package invoke Geomview on another machine,
make it invoke "remotegv" rather than "geomview".
You can make "remotegv" the default for all gvplot users by editing 
the gvplot source and changing the setting of "default_gvcommand" near line 45.
Or, a user can adjust the setting of "gvcommand" within each session,
saying e.g.
   readlib(gvplot);
   gvcommand := `remotegv -h slevy@gauss`;

remotegv attempts to guess which machine to invoke geomview on by
examining the DISPLAY environment variable.  If DISPLAY isn't set or
if geomview should run on a different machine, use the -h host option.

The script also assumes that geomview should display on the machine where
it is invoked, so for that copy of geomview, it sets DISPLAY to ":0".
If the display should appear elsewhere (on an X terminal, say),
use the -display option.

Remotegv uses "rsh" (remote shell) to pass data to the other computer, so 
the remote computer must allow this -- either with an entry in
/etc/hosts.equiv, or in a .rhosts file in the user's home directory
on the machine where geomview will run.  The account name on the other
machine is assumed to be the same as on this machine; if different,
use the -l username or -h username@othermachine options.

In case permissions are not set up correctly, the symptom
is liable to be a "Permission denied." message followed by the
immediate termination of the Maple process -- so if you're using it for
the first time, check it out before doing much else in your Maple session!
Sorry, but MapleV3 is just not very good at connecting to other programs.

Note that togeomview and geomview MUST BE IN THE USER'S DEFAULT SEARCH PATH
on the remote machine.

To use this script within Maple, you'd say:
   readlib(gvplot);
then
   gvcommand := `remotegv`;
or e.g.
   gvcommand := `remotegv -h othermachine -display myxterm:0`;
or, if the account on the other machine is different from yours,
   gvcommand := `remotegv -l otheraccount`;
or
   gvcommand := `remotegv -h otheraccount@othermachine`;
Following any remotegv options, you can add the command to be invoked as
geomview, possibly including options, as in:
   gvcommand := `remotegv -l person /u/person/bin/geomview -wpos 300x200`;

Once gvcommand is properly set, you can use gvplot() as usual.

Normally, error messages reporting problems on the other machine (for
example, being unable to run geomview) are suppressed; this is unfortunately
necessary, or you'd never get another Maple prompt until quitting from
geomview.  There's a test mode to aid in tracing problems; use it as in
   gvcommand := `remotegv -test -h othermachine`;
i.e. add "-test" to whatever other options you'd give to remotegv.

Summary of remotegv options:
    -l user  or  -l user@host
    -h host  or  -h user@host
    -display host:number		(set display on remote end)
    -test
    also accepts togeomview's options (-g, -M[c][g][p][s]).
    Invokes rsh to specified machine, invokes togeomview there by default.
    By default, we assume DISPLAY points to the machine where we'd like to be;
      -h {host-portion-of-DISPLAY} -display :0
    Incorporates settings from "$RGVOPTS" environment variable.

