Module Mlpost__Tree
type arrow_style
=
|
Directed
|
Undirected
type edge_style
=
|
Straight
|
Curve
|
Square
|
HalfSquare
type 'a tree
=
|
Node of 'a * 'a tree list
type extend
= (Mlpost.Num.t * Mlpost.Num.t) list
type 'a positionedtree
= ('a * Mlpost.Num.t * Mlpost.Num.t) tree
val movetree : ('a * float * 'b) tree -> float -> ('a * float * 'b) tree
val moveextend : extend -> Mlpost.Num.t -> extend
val merge : ('a * 'b) list -> ('a * 'b) list -> ('a * 'b) list
val mergelist : ('a * 'b) list list -> ('a * 'b) list
val fit : float -> extend -> extend -> Mlpost.Num.t
val fitlistl : float -> extend list -> Mlpost.Num.t list
val fitlistr : float -> extend list -> Mlpost.Num.t list
val mean : float -> float -> float
val fitlist : float -> extend list -> Mlpost.Num.t list
val bfs : ((Mlpost.Box.t * 'a) * 'b * 'c) tree -> Mlpost.Num.t list
val dfs : 'a list -> ('b * 'c * 'd) tree -> ('b * 'c * 'a) tree
type node_info
=
{
ls : Mlpost.Num.t;
cs : Mlpost.Num.t;
arrow_style : arrow_style;
edge_style : edge_style;
stroke : Mlpost.Color.t option;
pen : Mlpost.Pen.t option;
sep : Mlpost.Num.t option;
lab : (Mlpost.Command.position * Mlpost.Picture.t) list option;
}
val dummy_info : node_info
val design : (Mlpost.Box.t * node_info) tree -> ((Mlpost.Box.t * node_info) * float * Mlpost.Num.t) tree
val strip : ?sep:float -> Mlpost__.Types.path -> Mlpost__.Types.path
val cpath : ?style:Mlpost__.Types.joint -> ?outd:Mlpost__.Types.direction -> ?ind:Mlpost__.Types.direction -> ?sep:float -> Mlpost.Box.t -> Mlpost.Box.t -> Mlpost__.Types.path
val box_arrow : ?color:Mlpost__.Types.color -> ?brush:Mlpost__.Types.brush -> ?pen:Mlpost__.Types.pen -> ?dashed:Mlpost__.Types.dash -> ?style:Mlpost__.Types.joint -> ?outd:Mlpost__.Types.direction -> ?ind:Mlpost__.Types.direction -> ?sep:float -> Mlpost.Box.t -> Mlpost.Box.t -> Mlpost__.Types.commandpic
val box_line : ?color:Mlpost__.Types.color -> ?brush:Mlpost__.Types.brush -> ?pen:Mlpost__.Types.pen -> ?dashed:Mlpost__.Types.dash -> ?style:Mlpost__.Types.joint -> ?outd:Mlpost__.Types.direction -> ?ind:Mlpost__.Types.direction -> ?sep:float -> Mlpost.Box.t -> Mlpost.Box.t -> Mlpost__.Types.commandpic
val arc : arrow_style -> edge_style -> ?stroke:Mlpost__.Types.color -> ?brush:Mlpost__.Types.brush -> ?pen:Mlpost__.Types.pen -> ?sep:float -> ?lab:(Mlpost__.Types.position * Mlpost__.Types.commandpic) -> Mlpost.Box.t -> Mlpost.Box.t -> Mlpost__.Types.commandpic
val is_leaf : Mlpost.Box.t -> bool
val root : Mlpost.Box.t -> Mlpost.Box.t
val children : Mlpost.Box.t -> Mlpost.Box.t list
type t
= (Mlpost.Box.t * node_info) tree
val leaf : 'a -> ('a * node_info) tree
val node : ?ls:Mlpost.Num.t -> ?cs:Mlpost.Num.t -> ?arrow_style:arrow_style -> ?edge_style:edge_style -> ?stroke:Mlpost.Color.t -> ?brush:'a -> ?pen:Mlpost.Pen.t -> ?sep:Mlpost.Num.t -> 'b -> ('b * node_info) tree list -> ('b * node_info) tree
val nodel : ?ls:Mlpost.Num.t -> ?cs:Mlpost.Num.t -> ?arrow_style:arrow_style -> ?edge_style:edge_style -> ?stroke:Mlpost.Color.t -> ?brush:'a -> ?pen:Mlpost.Pen.t -> ?sep:Mlpost.Num.t -> 'b -> (('b * node_info) tree * (Mlpost.Command.position * Mlpost.Picture.t)) list -> ('b * node_info) tree
val bin : ?ls:Mlpost.Num.t -> ?cs:Mlpost.Num.t -> ?arrow_style:arrow_style -> ?edge_style:edge_style -> ?stroke:Mlpost.Color.t -> ?brush:'a -> ?pen:Mlpost.Pen.t -> ?sep:Mlpost.Num.t -> 'b -> ('b * node_info) tree -> ('b * node_info) tree -> ('b * node_info) tree
val to_box : (Mlpost.Box.t * node_info) tree -> Mlpost.Box.t
val draw : ?debug:bool -> (Mlpost.Box.t * node_info) tree -> Mlpost__.Types.commandpic
module Simple : sig ... end