Module Diagrams.Curve

module Curve: sig .. end

type t = Bezier.curve list 
val first : (float array * float array) list -> float * float
val last : (float array * float array) list -> float * float
val bezier_of_point_list : ('a * 'b) list -> 'a array * 'b array
val nb_beziers : 'a list -> int
val of_point_lists : ('a * 'b) list list -> ('a array * 'b array) list
val of_contents : RawContent.raw -> Bezier.curve list list
val draw : ?parameters:RawContent.path_param -> t -> RawContent.raw list
val translate : float * float ->
(float array * float array) list -> (float array * float array) list
val global_time : 'a list -> int * float -> float
val local_time : 'a list -> float -> int * float
val compare_lt : 'a * 'b -> 'a * 'b -> int
val make_quadratic : float * float -> float * float -> float * float -> (float * float) list list
val intersections_aux : float array * float array ->
(float array * float array) list ->
(float * (int * float * (float array * float array))) list
val intersections : (float array * float array) list ->
(float array * float array) list ->
((int * float * (float array * float array)) *
(int * float * (float array * float array)))
list
val print_point_lists : (float array * float array) list -> unit
val latest_intersection : (float array * float array) list ->
(float array * float array) list -> (int * float) option
val earliest_intersection : (float array * float array) list ->
(float array * float array) list -> (int * float) option
val bezier_evaluate : float array * float array -> float -> float * float
val eval : (float array * float array) list -> float -> float * float
val eval_local : (float array * float array) list -> int * float -> float * float
val gradient : (float array * float array) list -> (float array * float array) list
val internal_restrict : (float array * float array) list ->
int * float -> int * float -> (float array * float array) list
val restrict : (float array * float array) list ->
float -> float -> (float array * float array) list
val split2 : (float array * float array) list ->
float ->
float ->
(float array * float array) list * (float array * float array) list *
(float array * float array) list
val bezier_linear_length : float array * float array -> float
val linear_length : (float array * float array) list -> float
val length : int -> (float array * float array) list -> float
val curvilinear : (float array * float array) list -> float -> float
val map : ('a -> 'b) ->
('c -> 'd) -> ('a array * 'c array) list -> ('b array * 'd array) list
val rotate : float -> (float array * float array) list -> (float array * float array) list