Here's an overview of how the code is arranged: Library (LGPLv3): ================= API: libdimension/dimension.h, libdimension/dimension/*.h (Implementations for libdimension/dimension/$file.h are generally at libdimension/$file.c) Ray tracing algorithm: libdimension/raytrace.c Bounding hierarchy: libdimension/prtree.{c,h} Library internals: libdimension/dimension-impl.h and its #includes Tests: libdimension/tests/*.{c,cpp} Benchmarks: libdimension/bench/*.c