Source Code
The source code of MOAN was developed on a Silicon Graphics
workstation, equipped with OpenGL. It is very simple, modular, and
extensively documented. It is written in C for portability, but its
structure follows an object-oriented paradigm. It is available in
tar archive format; use
gunzip -c source.tar.gz | tar xf -
to unpack the provided
archive. When the archive is unpacked, three subdirectories will
be created, each containing a source code module; the source code
should be compiled in the order in which the modules are listed below:
- The X Windows/OpenGL interface code, encapsulated in the general
purpose library for graphics applications (libaux),
adapted from the auxiliary library of The OpenGL Programming
Guide.
- The portion of the code handling the management of scene trees,
including I/O, rendering, navigation, and updates for various keyframe
interpolation schemes. This is encapsulated in the libst
library.
- The user interface module, encapsulated in four files available
in the moan subdirectory.
The source code is made available for three reasons:
- It illustrates how simple it is to code up the very powerful
abstraction of hierarchical modeling. The object-oriented structure
and extensive comments make it easy to follow the code once the user
has become familiar with the technique of hierarchical modeling.
- The provided executable moan executes only on Silicon
Graphics workstations equipped with OpenGL. Hence, users may wish to
port MOAN to other platforms.
- Since MOAN's user interface is fairly complex, and
possibly confusing, one may wish to code an alternative front-end to
it. This requires substituting/modifying only moan.h and
moan.c.
© 2003 Apostolos Lerios