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:
  1. 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.

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

  3. The user interface module, encapsulated in four files available in the moan subdirectory.
The source code is made available for three reasons:
  1. 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.

  2. The provided executable moan executes only on Silicon Graphics workstations equipped with OpenGL. Hence, users may wish to port MOAN to other platforms.

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