package patoline

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type
val debug : bool ref
val debug_union : bool ref
val debug_mediatrice : bool ref
val debug_bissectrice : bool ref
val debug_addpro : bool ref
type point = float * float
type interval = point * point
type vecteur = point
type droite = point * vecteur
val (--) : (float * float) -> (float * float) -> float * float
val (++) : (float * float) -> (float * float) -> float * float
val comblin : float -> (float * float) -> float -> (float * float) -> float * float
val opp : (float * float) -> float * float
val sprod : float -> (float * float) -> float * float
val det22 : (float * float) -> (float * float) -> float
val solve22 : (float * float) -> (float * float) -> (float * float) -> float * float
val solve22' : (float * float) -> (float * float) -> (float * float) -> float
val coef_inter_lines : ((float * float) * (float * float)) -> ((float * float) * (float * float)) -> float * float * (float * float)
val rotate_90 : ('a * float) -> float * 'a
val rotate_180 : (float * float) -> float * float
val rotate_270 : (float * 'a) -> 'a * float
val dot_prod : (float * float) -> (float * float) -> float
val norm2 : (float * float) -> float
val near : (float * float) -> (float * float) -> bool
val norm : (float * float) -> float
type lin_obj =
  1. | Line of point * vecteur
  2. | HalfLine of point * vecteur * bool
  3. | Segment of point * point
val print_pt : out_channel -> (float * float) -> unit
val print_pt16 : out_channel -> (float * float) -> unit
val print_pto : out_channel -> [> `Some of float * float ] -> unit
val print_pt' : out_channel -> (float * float) list -> unit
val print_obj : out_channel -> lin_obj -> unit
val carrier : lin_obj -> point * vecteur
val length2 : lin_obj -> float
val cut' : point -> lin_obj -> lin_obj
val cut : point -> lin_obj -> lin_obj
val renverse : lin_obj -> lin_obj
val in_range : lin_obj -> float -> bool
val in_range_far : lin_obj -> float -> bool
exception Extrem
val in_range' : lin_obj -> float -> unit
val inter : lin_obj -> lin_obj -> float * float
val inter_far : lin_obj -> lin_obj -> float * float
val next : (float * float) -> point -> point list -> lin_obj
val next' : vecteur -> point -> point list -> lin_obj
val hd_dir : 'a list -> [> `Some of 'a | `Sup ]
val opt_dir : 'a option -> [> `Inf | `Some of 'a ]
val push : (float * float) -> (float * float) list -> (float * float) list
val profile_union : ((float * float) * (float * float)) -> point list -> point list -> point list
val segment_profile : ((float * float) * (float * float)) -> (float * float) -> (float * float) -> (float * float) list
val middle : (float * float) -> (float * float) -> float * float
val normalize : (float * float) -> float * float
val bissectrice : lin_obj -> lin_obj -> lin_obj
val mediatrice : (float * float) -> (float * float) -> lin_obj
val project : (float * float) -> lin_obj -> float * float
type mstate =
  1. | Bissectrice of lin_obj * lin_obj
  2. | Mediatrice of point * lin_obj * lin_obj * point
  3. | LeftParabola of point * lin_obj * lin_obj
  4. | RightParabola of lin_obj * lin_obj * point
  5. | LeftBack of point * lin_obj * lin_obj
  6. | RightBack of lin_obj * lin_obj * point
val print_st : out_channel -> mstate -> unit
val oboth : mstate -> lin_obj * lin_obj
val oleft : mstate -> lin_obj
val oright : mstate -> lin_obj
val advance_parabola : (float * float) -> lin_obj -> (float * float) -> (float * float) * (float * float)
val find_parabola : (float * float) -> lin_obj -> (float * float) -> float * float
val ftrue : 'a -> bool
val fand : ('a -> bool) -> ('a -> bool) -> 'a -> bool
val frange : lin_obj -> (float * float) -> bool
val fortho : lin_obj -> (float * float) -> bool
val eqdist : lin_obj -> (float * float) -> lin_obj -> (float * float) -> (float * float) -> ((float * float) -> bool) -> (float * float) * (float * float)
val ortho : point -> vecteur -> point -> vecteur -> 'a -> point
val mediatrice_profile : (vecteur * vecteur) -> point list -> point list -> ((float * float) * (float * float) * (float * float)) list
val add_dprofile : float -> float -> float -> (float * float * float) list -> (float * float * float) list
val area : (float * float) -> (float * float) -> (float * float) -> (float * float) -> float
val swap_min : float -> float -> float * float
val add_pqprofile : (float * float) -> (float * float) -> (float * float) -> (float * float) -> (float * float * float) list -> (float * float * float) list
val add_qprofile : (float * (float * float * float) list) -> point -> point -> point -> (float * float) -> float * (float * float * float) list
val add_allprofile : (point * 'a * point) list -> float * (float * float * float) list
val find_distance : float -> 'a -> (float * float * float) list -> float
module Profile_data : sig ... end
module Profile_cache : sig ... end
module Distance_data : sig ... end
module Distance_cache : sig ... end
type distance_cache = {
  1. mutable generation : int;
  2. mutable profile_cache : ((float * float) list * int ref) Profile_cache.t;
  3. mutable distance_cache : (float * int ref) Distance_cache.t;
}
val distance_cache : distance_cache
val read_cache : string -> unit
val write_cache : string -> unit
val bezier_profile : ((float * float) * (float * float)) -> float -> (float array * float array) list -> (float * float) list
val distance : float -> ((float * float) * (float * float)) -> (float * float) list -> (float * float) list -> float
val translate_profile : (float * 'a) list -> float -> (float * 'a) list