sig
val stack : entity list ref
val env : Document.environment
val compute_intersections :
(Edge.info -> int * float -> float -> float -> Edge.info) option ref
val epsilon : float ref
val margin : float ref
val t_margin : float ref
val node : Node.Transfo.Style.t list -> Document.content list -> Node.info
val coordinate : Point.t -> Node.info
val edge :
Edge.Transfo.Style.t list ->
Node.info -> ?controls:Point.t list list -> Node.info -> Edge.info
val edges :
Edge.Transfo.Style.t list ->
(Edge.Transfo.Style.t list * Node.info * Point.t list list * Node.info)
list -> Edge.info list
val path :
Edge.Transfo.Style.t list ->
float * float -> (float * float) list list -> Edge.info
val raw : float * float -> RawContent.raw list -> Entity.raw
val edge_3d :
Edge.Transfo.Style.t list ->
Node.info ->
?controls:Point.t list list ->
?controls3d:(float * float * float) list list ->
?projection:Proj3d.projection -> Node.info -> Edge.info
val edges_3d :
Edge.Transfo.Style.t list ->
?projection:Proj3d.projection ->
(Edge.Transfo.Style.t list * Node.info * Point.t list list *
(float * float * float) list list * Node.info)
list -> Edge.info list
val matrix_full :
Matrix.T.Style.t list ->
(Node.Transfo.Style.t list * Document.content list) list list ->
Matrix.info
val math_matrix_full :
Matrix.T.Style.t list ->
(Node.Transfo.Style.t list * Maths.math list) list list -> Matrix.info
val matrix :
Matrix.T.Style.t list ->
(Node.Transfo.Style.t list * Document.content list) list list ->
Node.info * Node.info Matrix.matrix
val math_matrix :
Matrix.T.Style.t list ->
(Node.Transfo.Style.t list * Maths.math list) list list ->
Node.info * Node.info Matrix.matrix
val matrix_3d_full :
Matrix3d.T.Style.t list ->
(Node.Transfo.Style.t list * Document.content list) list list list ->
Matrix3d.info
val matrix_3d_project :
Matrix3d.info -> Node.info * Node.info Matrix.matrix array
val matrix_3d :
Matrix3d.T.Style.t list ->
(Node.Transfo.Style.t list * Document.content list) list list list ->
Node.info * Node.info Matrix.matrix array
val all_intersections :
Entity.t list ->
(Edge.t * Edge.t *
((int * float * Bezier.curve) * (int * float * Bezier.curve)))
list
val add_intersections :
(Edge.t -> int * float -> float -> float -> Edge.t) -> unit
val spit_stack : unit -> entity list
val spit_stack_with_intersections : unit -> entity list
val include_diagram : entity list -> unit
val make :
?offset:float ->
?adjust_before:bool ->
?hcenter:bool ->
?vcenter:bool -> ?width_fixed:bool -> unit -> Box.drawingBox
val defaultLabelStyle : Node.Transfo.Style.t list
val label_anchor :
anchor ->
?pos:anchor ->
?shape:Node.Transfo.Style.t ->
?style:Node.Transfo.Style.t list ->
Document.content list -> Edge.Transfo.Style.t
val labela :
?pos:anchor ->
?shape:Node.Transfo.Style.t ->
?style:Node.Transfo.Style.t list ->
Document.content list -> Edge.Transfo.Style.t
val labelb :
?pos:anchor ->
?shape:Node.Transfo.Style.t ->
?style:Node.Transfo.Style.t list ->
Document.content list -> Edge.Transfo.Style.t
val labell :
?pos:anchor ->
?shape:Node.Transfo.Style.t ->
?style:Node.Transfo.Style.t list ->
Document.content list -> Edge.Transfo.Style.t
val labelr :
?pos:anchor ->
?shape:Node.Transfo.Style.t ->
?style:Node.Transfo.Style.t list ->
Document.content list -> Edge.Transfo.Style.t
val labelal :
?pos:anchor ->
?shape:Node.Transfo.Style.t ->
?style:Node.Transfo.Style.t list ->
Document.content list -> Edge.Transfo.Style.t
val labelar :
?pos:anchor ->
?shape:Node.Transfo.Style.t ->
?style:Node.Transfo.Style.t list ->
Document.content list -> Edge.Transfo.Style.t
val labelbl :
?pos:anchor ->
?shape:Node.Transfo.Style.t ->
?style:Node.Transfo.Style.t list ->
Document.content list -> Edge.Transfo.Style.t
val labelbr :
?pos:anchor ->
?shape:Node.Transfo.Style.t ->
?style:Node.Transfo.Style.t list ->
Document.content list -> Edge.Transfo.Style.t
val label_edge :
Edge.info ->
Node.Transfo.Style.t list -> float -> Document.content list -> Node.info
val label_edge_anchor :
Edge.info -> anchor -> float -> Document.content list -> Node.info
val label_edgea :
?style:Node.Transfo.Style.t list ->
Edge.info -> Document.content list -> Node.info
val label_edgeb :
?style:Node.Transfo.Style.t list ->
Edge.info -> Document.content list -> Node.info
val label_edgel :
?style:Node.Transfo.Style.t list ->
Edge.info -> Document.content list -> Node.info
val label_edger :
?style:Node.Transfo.Style.t list ->
Edge.info -> Document.content list -> Node.info
val label_edgebr :
?style:Node.Transfo.Style.t list ->
Edge.info -> Document.content list -> Node.info
val label_edgebl :
?style:Node.Transfo.Style.t list ->
Edge.info -> Document.content list -> Node.info
val label_edgear :
?style:Node.Transfo.Style.t list ->
Edge.info -> Document.content list -> Node.info
val label_edgeal :
?style:Node.Transfo.Style.t list ->
Edge.info -> Document.content list -> Node.info
val label_edgec :
?style:Node.Transfo.Style.t list ->
Edge.info -> Document.content list -> Node.info
val edge_anchor :
Node.info ->
Node.info ->
Edge.Transfo.Style.t list ->
anchor -> float -> Document.content list -> Edge.info * Node.info
val edges_anchor :
(Node.info * Node.info * Edge.Transfo.Style.t list * anchor * float *
Document.content list)
list -> (Edge.info * Node.info) list
val edges_anchor_mid :
(Node.info * Node.info * Edge.Transfo.Style.t list * anchor *
Document.content list)
list -> (Edge.info * Node.info) list
val edge_anchor_of_gentities :
Gentity.t ->
Gentity.t ->
Edge.Transfo.Style.t list ->
anchor -> float -> Document.content list -> Edge.info * Node.info
val edges_anchor_of_gentities :
(Gentity.t * Gentity.t * Edge.Transfo.Style.t list * anchor * float *
Document.content list)
list -> (Edge.info * Node.info) list
val edges_anchor_mid_of_gentities :
(Gentity.t * Gentity.t * Edge.Transfo.Style.t list * anchor *
Document.content list)
list -> (Edge.info * Node.info) list
val edge_anchor_of_edges :
Edge.info ->
Edge.info ->
Edge.Transfo.Style.t list ->
anchor -> float -> Document.content list -> Edge.info * Node.info
val edges_anchor_of_edges :
(Edge.info * Edge.info * Edge.Transfo.Style.t list * anchor * float *
Document.content list)
list -> (Edge.info * Node.info) list
val edges_anchor_mid_of_edges :
(Edge.info * Edge.info * Edge.Transfo.Style.t list * anchor *
Document.content list)
list -> (Edge.info * Node.info) list
module Arr :
sig
val fun_max : ?max:('a -> 'a -> 'a) -> (int -> 'a) -> int -> 'a
val node_width : Edge.info -> float
val between_borders :
(int -> float) ->
(int -> float) ->
anchor array ->
(int -> int -> Node.Transfo.Style.t list) ->
Matrix.info -> int -> int -> float * float
module Make :
functor
(MkMatrix : sig
type t
val make_matrix :
Matrix.T.Style.t list ->
(Node.Transfo.Style.t list * t list) list list ->
Node.info * Node.info Matrix.matrix
end) ->
sig
val array :
anchor list ->
?vertical_padding:(int -> float) ->
?horizontal_padding:(int -> float) ->
?all_node_styles:Matrix.T.Style.t list ->
?matrix_anchor:(Matrix.info -> Point.t) ->
?main_node_style:Node.Transfo.Style.t list ->
MkMatrix.t list list list ->
Node.info * Node.info Matrix.matrix
end
end
module MakeMathMatrix :
sig
type t = Maths.math
val make_matrix :
Matrix.T.Style.t list ->
(Node.Transfo.Style.t list * Maths.math list) list list ->
Node.info * Node.info Matrix.matrix
end
module MakeMatrix :
sig
type t = Document.content
val make_matrix :
Matrix.T.Style.t list ->
(Node.Transfo.Style.t list * Document.content list) list list ->
Node.info * Node.info Matrix.matrix
end
module MakeArray :
sig
val array :
anchor list ->
?vertical_padding:(int -> float) ->
?horizontal_padding:(int -> float) ->
?all_node_styles:Matrix.T.Style.t list ->
?matrix_anchor:(Matrix.info -> Point.t) ->
?main_node_style:Node.Transfo.Style.t list ->
MakeMathMatrix.t list list list ->
Node.info * Node.info Matrix.matrix
end
module MakeTabular :
sig
val array :
anchor list ->
?vertical_padding:(int -> float) ->
?horizontal_padding:(int -> float) ->
?all_node_styles:Matrix.T.Style.t list ->
?matrix_anchor:(Matrix.info -> Point.t) ->
?main_node_style:Node.Transfo.Style.t list ->
MakeMatrix.t list list list -> Node.info * Node.info Matrix.matrix
end
val array :
anchor list ->
?vertical_padding:(int -> float) ->
?horizontal_padding:(int -> float) ->
?all_node_styles:Matrix.T.Style.t list ->
?matrix_anchor:(Matrix.info -> Point.t) ->
?main_node_style:Node.Transfo.Style.t list ->
MakeMathMatrix.t list list list -> Node.info * Node.info Matrix.matrix
val tabular :
anchor list ->
?vertical_padding:(int -> float) ->
?horizontal_padding:(int -> float) ->
?all_node_styles:Matrix.T.Style.t list ->
?matrix_anchor:(Matrix.info -> Point.t) ->
?main_node_style:Node.Transfo.Style.t list ->
MakeMatrix.t list list list -> Node.info * Node.info Matrix.matrix
end