jmEscher is a Java library for creating and interactively manipulating 2D constrained Delaunay triangulations that can be used to form 3D meshes.
An implementation of Lawson's incremental insertion algorithm performs the Delaunay triangulation. In addition, constraint insertion and removal, non-convex boundaries, and vertex removal and relocation are supported.
For full details, see the "Interactive Constrained Delaunay Triangulation" section of:
Howison, M. CAD Tools for Creating Space-filling 3D Escher Tiles. Master’s thesis, U.C. Berkeley, Berkeley, CA, May 2009. (Tech Report EECS-2009-56)
Or contact the author: mark.howison (at) gmail (dot) com