sig
type info = {
params : RawContent.path_param;
mainAnchor : Diagrams.anchor;
innerSep : float;
outerSep : float;
bb : float * float * float * float;
center : Diagrams.Point.t;
pdfAnchor : Diagrams.Point.t;
node_contents : RawContent.raw list;
button : (RawContent.button_kind * string) option;
innerCurve : Diagrams.Curve.t;
midCurve : Diagrams.Curve.t;
outerCurve : Diagrams.Curve.t;
anchor : Diagrams.anchor -> Diagrams.Point.t;
decorations : Diagrams.Node.decoration list;
node_anchor : Diagrams.anchor;
at : Diagrams.Point.t;
z : float;
}
and decoration =
Curve of RawContent.path_param * Diagrams.Curve.t
| Node of Diagrams.Node.info
type t = Diagrams.Node.info
val default_params : RawContent.path_param
val default : Diagrams.Node.info
val coord : Diagrams.Point.t -> Diagrams.Node.info
val coord3d :
Proj3d.projection -> float * float * float -> Diagrams.Node.info
val decoration_to_contents :
Diagrams.Node.info -> Diagrams.Node.decoration -> RawContent.raw list
val to_contents : Diagrams.Node.info -> RawContent.raw list
val to_gentity : Diagrams.Node.info -> Diagrams.Gentity.t
module Transfo :
sig
module rec Style :
sig
type t = { pet : Pet.t; transfo : transfo; }
and transfo = info -> info
end
and Pet :
sig
type t
val name : t -> string
val append : t -> Style.t list -> Style.t -> Style.t list
val ( = ) : t -> t -> bool
val register :
?depends:t list ->
?codepends:t list ->
?append:(Style.t list -> Style.t -> Style.t list) ->
string -> (t -> 'a) -> 'a * t
module Map :
sig
type key = t
type +'a t
val empty : 'a t
val is_empty : 'a t -> bool
val mem : key -> 'a t -> bool
val add : key -> 'a -> 'a t -> 'a t
val singleton : key -> 'a -> 'a t
val remove : key -> 'a t -> 'a t
val merge :
(key -> 'a option -> 'b option -> 'c option) ->
'a t -> 'b t -> 'c t
val union :
(key -> 'a -> 'a -> 'a option) -> 'a t -> 'a t -> 'a t
val compare : ('a -> 'a -> int) -> 'a t -> 'a t -> int
val equal : ('a -> 'a -> bool) -> 'a t -> 'a t -> bool
val iter : (key -> 'a -> unit) -> 'a t -> unit
val fold : (key -> 'a -> 'b -> 'b) -> 'a t -> 'b -> 'b
val for_all : (key -> 'a -> bool) -> 'a t -> bool
val exists : (key -> 'a -> bool) -> 'a t -> bool
val filter : (key -> 'a -> bool) -> 'a t -> 'a t
val partition : (key -> 'a -> bool) -> 'a t -> 'a t * 'a t
val cardinal : 'a t -> int
val bindings : 'a t -> (key * 'a) list
val min_binding : 'a t -> key * 'a
val min_binding_opt : 'a t -> (key * 'a) option
val max_binding : 'a t -> key * 'a
val max_binding_opt : 'a t -> (key * 'a) option
val choose : 'a t -> key * 'a
val choose_opt : 'a t -> (key * 'a) option
val split : key -> 'a t -> 'a t * 'a option * 'a t
val find : key -> 'a t -> 'a
val find_opt : key -> 'a t -> 'a option
val find_first : (key -> bool) -> 'a t -> key * 'a
val find_first_opt : (key -> bool) -> 'a t -> (key * 'a) option
val find_last : (key -> bool) -> 'a t -> key * 'a
val find_last_opt : (key -> bool) -> 'a t -> (key * 'a) option
val map : ('a -> 'b) -> 'a t -> 'b t
val mapi : (key -> 'a -> 'b) -> 'a t -> 'b t
end
end
val transform : Style.t list -> info -> info
end
val transfo :
?dump_contents:bool ->
Diagrams.Node.Transfo.Style.t list ->
Diagrams.Node.info -> Diagrams.Node.info
val params : RawContent.path_param -> Transfo.Style.t
val params_pet : Transfo.Pet.t
val lineWidth : float -> Diagrams.Node.Transfo.Style.t
val dashed : float list -> Transfo.Style.t
val dashed_pet : Transfo.Pet.t
val draw : Transfo.Style.t
val setZ : float -> Transfo.Style.t
val setZ_pet : Transfo.Pet.t
val drawColor : Color.color -> Transfo.Style.t
val draw_pet : Transfo.Pet.t
val fill : Color.color -> Transfo.Style.t
val fill_pet : Transfo.Pet.t
val color : Color.color -> Transfo.Style.t
val color_pet : Transfo.Pet.t
val contents_outputcommon : RawContent.raw list -> Transfo.Style.t
val contents_pet : Transfo.Pet.t
val contents_box :
Document.environment -> Box.box list -> Diagrams.Node.Transfo.Style.t
val contents :
Document.environment ->
Document.content list -> Diagrams.Node.Transfo.Style.t
val innerSep : float -> Transfo.Style.t
val inner_sep_pet : Transfo.Pet.t
val outerSep : float -> Transfo.Style.t
val outer_sep_pet : Transfo.Pet.t
val mainAnchor : anchor -> Transfo.Style.t
val main_anchor_pet : Transfo.Pet.t
module BB :
sig
val translate :
float * float ->
float * float * float * float -> float * float * float * float
val points :
'a * 'b * 'c * 'd -> ('a * 'b) * ('c * 'b) * ('c * 'd) * ('a * 'd)
val outer_points :
Diagrams.Node.info ->
float * float * float * float ->
(float * float) * (float * float) * (float * float) * (float * float)
val mid_points :
Diagrams.Node.info ->
float * float * float * float ->
(float * float) * (float * float) * (float * float) * (float * float)
val center :
float * float * float * float -> float * float * float * float
end
val boundingBox :
(float * float * float * float -> float * float * float * float) ->
Transfo.Style.t
val bounding_box_pet : Transfo.Pet.t
val getMainAnchor : Diagrams.Node.info -> Diagrams.anchor
val ray_intersect :
float * float ->
(float array * float array) list -> float -> float * float
val rectangle : Document.environment -> Transfo.Style.t
val shape_pet : Transfo.Pet.t
val button : (unit -> RawContent.write) -> Transfo.Style.t
val button_pet : Transfo.Pet.t
val drag : (float * float -> bool -> unit) -> Transfo.Style.t
val drag_pet : Transfo.Pet.t
val default_shape : Document.environment -> Transfo.Style.t
val default_rectangle : Document.environment -> Diagrams.Node.info
val kappa : float
val circle : Diagrams.Node.Transfo.Style.t
val float_div : float -> float -> int * float
val pmod_float : float -> float -> float
val nat_mod : int -> int -> int
val scal_prod : float * float -> float * float -> float
val triangle :
?orientation:float ->
?apex_angle:float ->
Document.environment -> Diagrams.Node.Transfo.Style.t
val translate : float * float -> Diagrams.Node.info -> Diagrams.Node.info
val anchor : anchor -> Transfo.Style.t
val anchor_pet : Transfo.Pet.t
val at : float * float -> Transfo.Style.t
val at_pet : Transfo.Pet.t
val at3d : Proj3d.projection -> float * float * float -> Transfo.Style.t
val at3d_pet : Transfo.Pet.t
val make_output :
Diagrams.Node.Transfo.Style.t list ->
RawContent.raw list -> Diagrams.Node.info
val make_boxified :
Document.environment ->
Diagrams.Node.Transfo.Style.t list -> Box.box list -> Diagrams.Node.info
val make :
Document.environment ->
Diagrams.Node.Transfo.Style.t list ->
Document.content list -> Diagrams.Node.info
val label :
Document.environment ->
?pos:anchor ->
?style:Transfo.Style.t list -> Document.content list -> Transfo.Style.t
val label_pet : Transfo.Pet.t
val inter :
Diagrams.Gentity.t -> Diagrams.Gentity.t -> (float * float) list
end