sig
module type CCC =
sig
type point
val ccw :
Delaunay.CCC.point ->
Delaunay.CCC.point -> Delaunay.CCC.point -> bool
val in_circle :
Delaunay.CCC.point ->
Delaunay.CCC.point ->
Delaunay.CCC.point -> Delaunay.CCC.point -> bool
end
module type Triangulation =
sig
module S : CCC
type triangulation
val triangulate : S.point array -> Delaunay.Triangulation.triangulation
val iter :
(S.point -> S.point -> unit) ->
Delaunay.Triangulation.triangulation -> unit
val fold :
(S.point -> S.point -> 'a -> 'a) ->
Delaunay.Triangulation.triangulation -> 'a -> 'a
end
module Make :
functor (S : CCC) ->
sig
module S :
sig
type point = S.point
val ccw : point -> point -> point -> bool
val in_circle : point -> point -> point -> point -> bool
end
type triangulation
val triangulate : S.point array -> triangulation
val iter : (S.point -> S.point -> unit) -> triangulation -> unit
val fold :
(S.point -> S.point -> 'a -> 'a) -> triangulation -> 'a -> 'a
end
module IntPoints :
sig
type point = int * int
val ccw : point -> point -> point -> bool
val in_circle : point -> point -> point -> point -> bool
end
module Int :
sig
module S :
sig
type point = int * int
val ccw : point -> point -> point -> bool
val in_circle : point -> point -> point -> point -> bool
end
type triangulation
val triangulate : S.point array -> triangulation
val iter : (S.point -> S.point -> unit) -> triangulation -> unit
val fold :
(S.point -> S.point -> 'a -> 'a) -> triangulation -> 'a -> 'a
end
module FloatPoints :
sig
type point = float * float
val ccw : point -> point -> point -> bool
val in_circle : point -> point -> point -> point -> bool
end
module Float :
sig
module S :
sig
type point = float * float
val ccw : point -> point -> point -> bool
val in_circle : point -> point -> point -> point -> bool
end
type triangulation
val triangulate : S.point array -> triangulation
val iter : (S.point -> S.point -> unit) -> triangulation -> unit
val fold :
(S.point -> S.point -> 'a -> 'a) -> triangulation -> 'a -> 'a
end
end