blob: f208dbdecff5f9d4090cbb8b32ac6b829b8052bc (
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
48
49
50
51
52
53
54
55
56
|
#include <pgf/gd/ogdf/c/InterfaceFromOGDF.h>
#include <ogdf/energybased/multilevelmixer/CirclePlacer.h>
struct CirclePlacer_script :
scripting::declarations,
scripting::factory<ogdf::CirclePlacer>
{
ogdf::CirclePlacer* make (scripting::run_parameters* parameters) {
using namespace ogdf;
CirclePlacer* r = new CirclePlacer;
parameters->configure_option ("CirclePlacer.circleSize",
&CirclePlacer::setCircleSize, *r);
parameters->configure_option ("CirclePlacer.radiusFixed",
&CirclePlacer::setRadiusFixed, *r);
char* s = 0;
if (parameters->option("CirclePlacer.nodeSelection", s)) {
if (strcmp(s, "new") == 0)
r->setNodeSelection(CirclePlacer::nsNew);
else if (strcmp(s, "old") == 0)
r->setNodeSelection(CirclePlacer::nsOld);
else if (strcmp(s, "all") == 0)
r->setNodeSelection(CirclePlacer::nsAll);
free(s);
}
return r;
}
void declare (scripting::script s) {
using namespace scripting;
using namespace ogdf;
s.declare (key ("CirclePlacer")
.set_module ("InitialPlacer", this)
.documentation_in ("pgf.gd.doc.ogdf.energybased.multilevelmixer.CirclePlacer"));
s.declare (key ("CirclePlacer.circleSize")
.type ("number")
.documentation_in ("pgf.gd.doc.ogdf.energybased.multilevelmixer.CirclePlacer"));
s.declare (key ("CirclePlacer.radiusFixed")
.type ("boolean")
.documentation_in ("pgf.gd.doc.ogdf.energybased.multilevelmixer.CirclePlacer"));
s.declare (key ("CirclePlacer.nodeSelection")
.type ("string")
.documentation_in ("pgf.gd.doc.ogdf.energybased.multilevelmixer.CirclePlacer"));
}
};
|