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