Functor Diagrams.MakeDiagram

module MakeDiagram: 
functor (Args : sig
val env : Document.environment
end) -> sig .. end
Parameters:
Args : sig val env : environment end

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 .. end
module MakeMathMatrix: sig .. end
module MakeMatrix: sig .. end
module MakeArray: Arr.Make(MakeMathMatrix)
module MakeTabular: Arr.Make(MakeMatrix)
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 ->
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 ->
MakeMatrix.t list list list ->
Diagrams.Node.info * Diagrams.Node.info Diagrams.Matrix.matrix