This directory contains utilities for use with libctl.
First, there are ctl-io.scm and gen-ctl-io.scm, which are used to
generate C glue code (ctl-io.h and ctl-io.c) from a specifications
file for translating input/output variables to/from C.
Second, there is libctlgeom, a collection of utility code for manipulating
geometric objects, for use with libctl. libctlgeom contains:
* geom.scm: specifications file containing classes and utilities
for dealing with three-dimensional geometric objects (spheres,
cylinders, etcetera). This should be included in the specifications
file for anything using libgeom, with:
Each geometric object derives from the class geometric-object, and
has a material property whose type is the class material-type. Users
should provide their own material-type class (if none is provided,
a dummy class is used).
* geom.c, geom.h: C routines (callable from Guile) for performing
various operations on a geometry, such as finding out what object
a given point is inside. Note that most of these routines
use the global input variables defined in geom.scm--they must
be called only when these variables have been imported to C.