Module Delaunay.Int

module Int: Triangulation  with module S = IntPoints
Delaunay triangulation with integer coordinates

module S: Delaunay.CCC 
type triangulation 
val triangulate : S.point array -> triangulation
triangulate a computes the Delaunay triangulation of a set of points, given as an array a. If N is the number of points (that is Array.length a), then the running time is $O(N \log N)$ on the average and $O(N^2)$ on the worst-case. The space used is always $O(N)$.
val iter : (S.point -> S.point -> unit) -> triangulation -> unit
iter f t iterates over all edges of the triangulation t. f u v is called once for each undirected edge (u,v).
val fold : (S.point -> S.point -> 'a -> 'a) ->
triangulation -> 'a -> 'a
val iter_triangles : (S.point -> S.point -> S.point -> unit) ->
triangulation -> unit