Module Mlpost__.Arrow
val normalize : Mlpost__.Point_lib.t -> Mlpost__.Point_lib.tval neg : Mlpost__.Point_lib.t -> Mlpost__.Point_lib.tval direction_on_path : float -> Mlpost__.Types.path -> Mlpost__.Spline_lib.pointval point_on_path : float -> Mlpost__.Types.path -> Mlpost__.Spline_lib.pointval subpath_01 : float -> float -> Mlpost__.Types.path -> Mlpost__.Types.path
type line={brush : Mlpost__.Types.brush;from_point : float;to_point : float;dist : Mlpost.Num.t;}type head_description={hd_command : Mlpost.Command.t;hd_cut : Mlpost__.Types.path option;}
val make_head : ?cut:Mlpost__.Types.path -> Mlpost.Command.t -> head_description
type head= Mlpost.Point.t -> Mlpost.Point.t -> head_descriptiontype belt={clip : bool;rev : bool;point : float;head : head;}type kind={lines : line list;belts : belt list;}
val empty : kindval add_line : ?brush:Mlpost__.Types.brush -> ?dashed:Mlpost__.Types.dash -> ?color:Mlpost__.Types.color -> ?pen:Mlpost__.Types.pen -> ?from_point:float -> ?to_point:float -> ?dist:Mlpost.Num.t -> kind -> kindval head_classic_points : ?angle:float -> ?size:float -> Mlpost__.Point_lib.t -> Mlpost__.Point_lib.t -> Mlpost__.Point_lib.t * Mlpost__.Point_lib.tval head_classic : ?color:Mlpost__.Types.color -> ?brush:Mlpost__.Types.brush -> ?pen:Mlpost__.Types.pen -> ?dashed:Mlpost__.Types.dash -> ?angle:float -> ?size:float -> Mlpost__.Point_lib.t -> Mlpost__.Point_lib.t -> head_descriptionval head_triangle : ?color:Mlpost__.Types.color -> ?brush:Mlpost__.Types.brush -> ?pen:Mlpost__.Types.pen -> ?dashed:Mlpost__.Types.dash -> ?angle:float -> ?size:float -> Mlpost__.Point_lib.t -> Mlpost__.Point_lib.t -> head_descriptionval head_triangle_full : ?color:Mlpost__.Types.color -> ?angle:float -> ?size:float -> Mlpost__.Point_lib.t -> Mlpost__.Point_lib.t -> head_descriptionval add_belt : ?clip:bool -> ?rev:bool -> ?point:float -> ?head:head -> kind -> kindval add_head : ?head:head -> kind -> kindval add_foot : ?head:head -> kind -> kindval parallel_path : Mlpost__.Types.path -> float -> Mlpost__.Types.pathval make_arrow_line : Mlpost__.Types.path -> line -> line * Mlpost__.Types.pathval make_arrow_belt : Mlpost__.Types.path -> belt -> belt * Mlpost.Command.t * Mlpost__.Types.path optionval clip_line_with_belt : ('a * Mlpost__.Types.path) -> (belt * 'b * Mlpost__.Types.path option) -> 'a * Mlpost__.Types.pathval draw_line : (line * Mlpost__.Types.path) -> Mlpost__.Types.commandpicval mk_classic : ?color:Mlpost__.Types.color -> unit -> kindval mk_implies : ?color:Mlpost__.Types.color -> unit -> kindval classic : kindval triangle : kindval triangle_full : kindval implies : kindval iff : kindval draw : ?kind:kind -> ?tex:string -> ?pos:float -> ?anchor:Mlpost__.Types.position -> Mlpost__.Types.path -> Mlpost__.Types.commandpic
type ('a, 'b) arrow_from_to= ?kind:kind -> ?tex:string -> ?pos:float -> ?anchor:Mlpost.Command.position -> ?style:Mlpost.Path.joint -> ?outd:Mlpost.Path.direction -> ?ind:Mlpost.Path.direction -> ?sep:Mlpost.Num.t -> 'a -> 'b -> Mlpost.Command.t
val point_to_point : ?kind:kind -> ?tex:string -> ?pos:float -> ?anchor:Mlpost__.Types.position -> ?style:Mlpost__.Types.joint -> ?outd:Mlpost__.Types.direction -> ?ind:Mlpost__.Types.direction -> ?sep:float -> Mlpost__.Types.point -> Mlpost__.Types.point -> Mlpost__.Types.commandpicval box_to_box : ?kind:kind -> ?tex:string -> ?pos:float -> ?anchor:Mlpost__.Types.position -> ?style:Mlpost__.Types.joint -> ?outd:Mlpost__.Types.direction -> ?ind:Mlpost__.Types.direction -> ?sep:float -> Mlpost.Box.t -> Mlpost.Box.t -> Mlpost__.Types.commandpicval box_to_point : ?kind:kind -> ?tex:string -> ?pos:float -> ?anchor:Mlpost__.Types.position -> ?style:Mlpost__.Types.joint -> ?outd:Mlpost__.Types.direction -> ?ind:Mlpost__.Types.direction -> ?sep:float -> Mlpost.Box.t -> Mlpost__.Types.point -> Mlpost__.Types.commandpicval point_to_box : ?kind:kind -> ?tex:string -> ?pos:float -> ?anchor:Mlpost__.Types.position -> ?style:Mlpost__.Types.joint -> ?outd:Mlpost__.Types.direction -> ?ind:Mlpost__.Types.direction -> ?sep:float -> Mlpost__.Types.point -> Mlpost.Box.t -> Mlpost__.Types.commandpicval simple_point_point : ?style:Mlpost__.Types.joint -> ?outd:Mlpost__.Types.direction -> ?ind:Mlpost__.Types.direction -> ?sep:float -> Mlpost__.Types.point -> Mlpost__.Types.point -> Mlpost__.Types.pathval neg : Mlpost__.Point_lib.t -> Mlpost__.Point_lib.tval thick_path : ?style:Mlpost__.Types.joint -> ?outd:Mlpost__.Types.direction -> ?ind:Mlpost__.Types.direction -> ?width:float -> ?head_length:float -> ?head_width:float -> Mlpost__.Types.point -> Mlpost__.Types.point -> Mlpost__.Types.pathval draw_thick : ?style:Mlpost__.Types.joint -> ?boxed:bool -> ?line_color:Mlpost__.Types.color -> ?fill_color:Mlpost__.Types.color -> ?outd:Mlpost__.Types.direction -> ?ind:Mlpost__.Types.direction -> ?width:float -> ?head_length:float -> ?head_width:float -> Mlpost__.Types.point -> Mlpost__.Types.point -> Mlpost__.Types.commandpicval simple : ?color:Mlpost__.Types.color -> ?brush:Mlpost__.Types.brush -> ?pen:Mlpost__.Types.pen -> ?dashed:Mlpost__.Types.dash -> Mlpost__.Types.path -> Mlpost__.Types.commandpic