A fast algorithm for generating constrained delaunay triangulations