1 from obitools.tree.layout import TreeLayout
2 import math
3
5 nbotu = tree.subTreeSize(node)
6 delta = (end-start)/(nbotu+1)
7
8 layout.addNode(node)
9 layout.setAttribute(node,'x',x)
10 layout.setAttribute(node,'y',y)
11 layout.setAttribute(node,'color',(255,0,0))
12 layout.setAttribute(node,'shape','circle')
13
14 for subnode in tree.childNodeIterator(node):
15 snbotu = tree.subTreeSize(subnode)
16 end = start + snbotu * delta
17 med = start + snbotu * delta /2
18 r = subnode._dist
19 if r is None or r <=0:
20 r=default
21 subx=math.cos(med) * r + x
22 suby=math.sin(med) * r + y
23 subtreeLayout(tree, subnode, layout, start, end, subx, suby, default)
24 start=end
25
26 return layout
27
33