GCL has the syntax of lisp – i.e. an expression of the form (f a b ...) means pass the values of a, b, ... to the function f. GCL is very limited and is by no means an implementation of lisp. It is simply a language for expressing commands to be executed in the order given, rather than a programming language. It does not support variable or function definition.
GCL is the language that Geomview understands for files that it loads
as well as for communication with other programs.
To execute a GCL command interactively, you can bring up the
Commands panel which lets you type in a command; Geomview
executes the command when you hit the <Enter> key. Output from such
commands is printed to standard output. Alternately, you can invoke
geomview -c - which causes it to read GCL commands
from standard input.
GCL functions return a value, and you can nest function calls in ways which use this returned value. For example
(f (g a b))
(g a b) and then evaluates
(f x) where
is the result returned by
(g a b). Geomview maintains these
return values internally but does not normally print them out.
To print out a return value pass it to the
For example the
geomview-version function returns a string
representing the version of Geomview that is running, and
prints out this string.
Many functions simply return
t for success or
failure; this is the case if the documentation for the function does not
indicate otherwise. These are the lisp symbols for true and false,
respectively. (They correspond to the C variables
Lnil which you are likely to see if you look at the source code
for Geomview or some of the external modules.)
In the descriptions of the commands below several references are made to "OOGL" formats. OOGL is the data description language that Geomview uses for describing geometry, cameras, appearances, and other basic objects. For details of the OOGL formats, See OOGL File Formats. (Or equivalently, see the oogl(5) manual page, distributed with Geomview in the file man/cat5/oogl.5.
The GCL commands and argument types are listed below. Most
of the documentation in this section of the manual is available within
Geomview via the
?? commands. The command
) causes Geomview to print out a one-line summary of the
syntax of command, and
) prints out an
explanation of what command does. You can include the wild-card
* in command to print information for a group of
commands matching a pattern. For example,
(?? *emodule*) will
print all information about all commands containing the string
(? *) will print a short list of all commands.