type t
= S.path
type abscissa
= float
val length : S.path -> float
val is_closed : S.path -> bool
val is_a_point : S.path -> S.point option
val intersection : S.path -> S.path -> (S.abscissa * S.abscissa) list
val one_intersection : S.path -> S.path -> S.abscissa * S.abscissa
val reverse : S.path -> S.path
val iter : (S.point -> S.point -> S.point -> S.point -> unit) -> S.path -> unit
val fold_left : ('a -> S.point -> S.point -> S.point -> S.point -> 'a) -> 'a -> S.path -> 'a
val cut_before : S.path -> S.path -> S.path
val cut_after : S.path -> S.path -> S.path
val split : S.path -> S.abscissa -> S.path * S.path
val subpath : S.path -> S.abscissa -> S.abscissa -> S.path
val direction_of_abscissa : S.path -> S.abscissa -> S.point
val point_of_abscissa : S.path -> S.abscissa -> S.point
val bounding_box : S.path -> S.point * S.point
val dist_min_point : S.path -> S.point -> float * S.abscissa
val dist_min_path : S.path -> S.path -> float * (S.abscissa * S.abscissa)
val print : Stdlib.Format.formatter -> S.path -> unit