EBGeometry’s user documentation
EBGeometry is a header-only C++17 library for constructive solid geometry (CSG) with implicit functions. It can turn surface geometries into fast, queryable signed distance functions (SDFs), and manipulate them with CSG operations.
Main features:
Turn surface meshes into SDFs, via a half-edge (DCEL) mesh representation or raw triangles.
Fast SDF evaluation using bounding volume hierarchies (BVHs).
Supports both pointer-based tree BVHs, and flattened SIMD-accelerated packed BVHs.
A library of analytic signed distance functions and implicit functions (spheres, boxes, and more).
Composable with transforms (translation, rotation, scaling, rounding, blending).
BVH-accelerated constructive solid geometry (CSG): unions, intersections, differences, and smooth blends, of both meshes and analytic shapes.
Readers for triangulated surface meshes in STL, PLY, OBJ, and VTK format.
Drop-in precision-templated for flexible usage.
No external dependencies – drop
EBGeometry.hppinto any C++17 project and include it.
Important
This is the user documentation for EBGeometry.
A PDF version of this documentation is also available.
If you are looking for the source code, it is hosted on GitHub.
The developer documentation is a separate Doxygen-generated API of EBGeometry.