summaryrefslogtreecommitdiff
path: root/graphics/pgf/base/source/CircularLayout_script.h
blob: d0840e64f6b8d7c482df4cc420f86b0833cd3523 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#include <pgf/gd/ogdf/c/InterfaceFromOGDF.h>
#include <ogdf/misclayout/CircularLayout.h>

struct CircularLayout_script :
  scripting::declarations,
  scripting::ogdf_runner
{
  void run () {
    using namespace ogdf;
    CircularLayout layout;
    
    parameters->configure_option ("CircularLayout.minDistCircle",
				  &CircularLayout::minDistCircle, layout);
    parameters->configure_option ("CircularLayout.minDistLevel",
				  &CircularLayout::minDistLevel, layout);
    parameters->configure_option ("CircularLayout.minDistSibling",
				  &CircularLayout::minDistSibling, layout);
    
    layout.call (graph_attributes);
  }
  
  void declare (scripting::script s) {
    using namespace scripting;
    using namespace ogdf;
    
    s.declare (key ("CircularLayout")
	       .precondition ("connected")
	       .algorithm (this)
	       .documentation_in ("pgf.gd.doc.ogdf.misclayout.CircularLayout"));
    
    s.declare (key ("CircularLayout.minDistCircle")
	       .type ("length")
	       .alias_function ("function (o) return o['part pre sep'] + o['part post sep'] end")
	       .documentation_in ("pgf.gd.doc.ogdf.layered.CircularLayout"));

    s.declare (key ("CircularLayout.minDistLevel")
	       .type ("length")
	       .alias_function ("function (o) return o['level pre sep'] + o['level post sep'] end")
	       .documentation_in ("pgf.gd.doc.ogdf.layered.CircularLayout"));

    s.declare (key ("CircularLayout.minDistSibling")
	       .type ("length")
	       .alias_function ("function (o) return o['sibling pre sep'] + o['sibling post sep'] end")
	       .documentation_in ("pgf.gd.doc.ogdf.layered.CircularLayout"));
  }
};