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