65 |
def renderMain(self, vs, into): |
def renderMain(self, vs, into): |
66 |
ff.view.buoy.MainNode2D.renderMain(self, vs, into) |
ff.view.buoy.MainNode2D.renderMain(self, vs, into) |
67 |
self.context.floatingHash = java.util.HashMap() |
self.context.floatingHash = java.util.HashMap() |
68 |
|
self.floatingView.matchingParent = into |
69 |
|
|
70 |
accursed = self.context.c.getAccursed() |
accursed = self.context.c.getAccursed() |
71 |
# adding accursed to multiplexer |
# adding accursed to multiplexer |
84 |
buffer.append(obj) |
buffer.append(obj) |
85 |
|
|
86 |
buffer.extend(self.context.components) |
buffer.extend(self.context.components) |
87 |
floating = self.floatingBuffer(vs, buffer) |
floating = self.floatingBuffer(vs, into, buffer) |
88 |
i = floating.keySet().iterator() |
i = floating.keySet().iterator() |
89 |
|
|
90 |
while i.hasNext(): |
while i.hasNext(): |
91 |
node = i.next() |
node = i.next() |
92 |
if self.structLink.isLinked(node): |
if self.structLink.isLinked(node): |
|
self.floatingView.matchingParent = into |
|
93 |
self.floatingView.net = floating.get(node) |
self.floatingView.net = floating.get(node) |
94 |
self.floatingView.drawMindMap(vs) |
self.floatingView.drawMindMap(vs) |
95 |
j = self.floatingView.net.iterator(node) |
j = self.floatingView.net.iterator(node) |
98 |
else: |
else: |
99 |
self.place(vs, node, floating.get(node)) |
self.place(vs, node, floating.get(node)) |
100 |
|
|
101 |
def floatingBuffer(self, vs, buffer): |
def floatingBuffer(self, vs, into, buffer): |
102 |
map = java.util.HashMap() |
map = java.util.HashMap() |
103 |
if len(buffer) == 0: return map |
if len(buffer) == 0: return map |
104 |
|
|
107 |
if self.structLink.isLinked(buffer[i]): |
if self.structLink.isLinked(buffer[i]): |
108 |
path = java.util.ArrayList(1) |
path = java.util.ArrayList(1) |
109 |
path.add(buffer[i]) |
path.add(buffer[i]) |
110 |
cs = self.singleCS(vs, buffer[i], Math.toRadians(i*d)) |
cs = self.singleCS(vs, into, buffer[i], Math.toRadians(i*d)) |
111 |
cs = vs.coords.translate(cs, 0,0, 100) |
cs = vs.coords.translate(cs, 0,0, 100) |
112 |
vs.matcher.add(cs, "Floating_"+buffer[i]) |
vs.matcher.add(cs, "Floating_"+buffer[i]) |
113 |
map.put(buffer[i], self.floatingView.geometry.buildMindNet(vs, cs, path)) |
map.put(buffer[i], self.floatingView.geometry.buildMindNet(vs, cs, path)) |
114 |
else: |
else: |
115 |
map.put(buffer[i], self.singleCS(vs, buffer[i], Math.toRadians(i*d))) |
map.put(buffer[i], self.singleCS(vs, into, buffer[i], Math.toRadians(i*d))) |
116 |
|
|
117 |
return map |
return map |
118 |
|
|
119 |
def singleCS(self, vs, node, angle): |
def singleCS(self, vs, into, node, angle): |
120 |
angle += 0.5 * Math.PI |
angle += 0.5 * Math.PI |
121 |
angle %= 2.0 * Math.PI |
angle %= 2.0 * Math.PI |
122 |
wi, h = vs.size.width, vs.size.height |
wi, h = vs.size.width, vs.size.height |
123 |
a, b = wi/2.3, h/2.99 |
a, b = wi/2.3, h/2.3 |
124 |
x0,y0 = wi/2.0, h/2.0 |
x0,y0 = wi/2.0, h/2.0 |
125 |
bx, by = wi/7, h/27 |
bx, by = 1,1 |
126 |
|
|
127 |
e = Math.sqrt(1 - b**2/a**2) |
e = Math.sqrt(1 - b**2/a**2) |
128 |
|
|
131 |
x = r * Math.cos(angle) + x0 |
x = r * Math.cos(angle) + x0 |
132 |
y = -r * Math.sin(angle) + y0 |
y = -r * Math.sin(angle) + y0 |
133 |
|
|
134 |
cs = vs.orthoBoxCS(0, node, -100, x-bx/2,y-by/2, 1,1, bx,by) |
cs = vs.orthoBoxCS(into, node, -100, x-bx/2,y-by/2, 1,1, bx,by) |
135 |
return cs |
return cs |
136 |
|
|
137 |
def place(self, vs, node, cs): |
def place(self, vs, node, cs): |