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