[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[ff-cvs] fenfire/org/fenfire demo/mm.py view/lava/mindMa...
From: |
Asko Soukka |
Subject: |
[ff-cvs] fenfire/org/fenfire demo/mm.py view/lava/mindMa... |
Date: |
Fri, 15 Aug 2003 15:05:59 -0400 |
CVSROOT: /cvsroot/fenfire
Module name: fenfire
Branch:
Changes by: Asko Soukka <address@hidden> 03/08/15 15:05:59
Modified files:
org/fenfire/demo: mm.py
org/fenfire/view/lava: mindMapView2D.py
Log message:
geometry update
CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/demo/mm.py.diff?tr1=1.16&tr2=1.17&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/view/lava/mindMapView2D.py.diff?tr1=1.19&tr2=1.20&r1=text&r2=text
Patches:
Index: fenfire/org/fenfire/demo/mm.py
diff -u fenfire/org/fenfire/demo/mm.py:1.16 fenfire/org/fenfire/demo/mm.py:1.17
--- fenfire/org/fenfire/demo/mm.py:1.16 Fri Aug 15 11:00:07 2003
+++ fenfire/org/fenfire/demo/mm.py Fri Aug 15 15:05:59 2003
@@ -189,9 +189,10 @@
vs.coords.transformPoints3(cs, [0,0,0], into)
# scaling
- nodeScale = (100+into[2])+2
- if mindView.maxDepth > 20: nodeScale *= 20./mindView.maxDepth
- nodeScale = 1-math.log10(nodeScale/2.)
+ nodeScale = (100+into[2])+4
+ if mindView.maxDepth > 40: nodeScale *= 40./mindView.maxDepth
+ nodeScale = 1-math.log10(nodeScale/4.)
+ nodeview.setScale(1)
if node == self.context.main.getPlane():
self.context.scale = self.context.main.getFocus().getZoom()
@@ -218,11 +219,11 @@
else:
fen.graph.add(self.context.main.getPlane(),
STRUCTLINK.linkedTo, node)
elif rmb == 'unlink':
- if node == self.context.main.getPlane():
- pass
+ if node == self.context.main.getPlane(): pass
else:
- if ff.util.RDFUtil.isLinkedWith(fen.graph, node,
self.context.main.getPlane()):
- self.context.rmLinkTo(node, self.context.main.getPlane())
+# if ff.util.RDFUtil.isLinkedWith(fen.graph, node,
self.context.main.getPlane()) \
+# or ff.util.RDFUtil.isLinkedWith(fen.graph,
self.context.main.getPlane(), node):
+ self.context.rmLinkTo(node, self.context.main.getPlane())
self.context.fastMouseChg = 0
Index: fenfire/org/fenfire/view/lava/mindMapView2D.py
diff -u fenfire/org/fenfire/view/lava/mindMapView2D.py:1.19
fenfire/org/fenfire/view/lava/mindMapView2D.py:1.20
--- fenfire/org/fenfire/view/lava/mindMapView2D.py:1.19 Fri Aug 15 11:00:07 2003
+++ fenfire/org/fenfire/view/lava/mindMapView2D.py Fri Aug 15 15:05:59 2003
@@ -5,16 +5,12 @@
from java.lang import Math
import vob
-#import vob.putil.misc
import org.fenfire as ff
import org.fenfire.vocab.STRUCTLINK as LINK
from org.fenfire.vocab import *
from org.fenfire.vocab.lava import MINDSTRUCT as MIND
from org.fenfire.swamp import Nodes
-# coloredquad
-from vob.putil.misc import *
-
def p(*s):
print 'mindMapView2D', s
@@ -156,7 +152,7 @@
def getNodeSize(self, depth):
"""Node size is relative to depth as 1-math.log10(depth)."""
assert depth <= self.maxDepth, 'Depth is greater than maxDepth.'
- if depth < 1: depth = 1
+ if depth < 1: depth = 1 # same size for center and the first depth
if self.maxDepth > 10: depth = depth * (10/self.maxDepth)
s =(self.box[1] * 1./self.nodeScale) * (1-math.log10(depth))
@@ -228,7 +224,9 @@
+ rotationAngle*float(len(links)-currentIndex)
else: startAngle = 0
- self.doMindMapCS(vs, paper2screen, node, links, 0,0, startAngle +
self.rotation, rotationAngle, 1)
+ for i in range(2, self.maxDepth+1):
+ self.doMindMapCS(vs, paper2screen, node, None, links, 0,0,
+ startAngle + self.rotation, rotationAngle, 1,
i)
self.current['startAngle'] = startAngle
self.current['rotationAngle'] = rotationAngle
self.drawMindMap(vs)
@@ -276,25 +274,26 @@
if dbg: p('linked nodes: ', nodes)
return nodes
- def doMindMapCS(self, vs, into, centerNode, links, x, y, startAngle,
rotationAngle, depth):
+ def doMindMapCS(self, vs, into, centerNode, oldCenter, links, x, y,
+ startAngle, rotationAngle, depth, maxDepth):
""" Recursively go through all cs """
-
fen = self.fen
- for i in range(len(links)):
- link = links[i]
- if link == centerNode: raise 'own node!!'
- if self.net.hasBeenLinked(centerNode, link): continue
- self.net.link(centerNode, link)
+ if depth < maxDepth:
+ for i in range(len(links)):
+ link = links[i]
+ if link == centerNode: raise 'own node!!'
+ if self.net.hasBeenLinked(centerNode, link): continue
+ self.net.link(centerNode, link)
- if self.nodes.get(link) == None:
- pl = self.getPlace(vs, into, x, y, link,
startAngle+rotationAngle*i, depth)
- if dbg: p('new node', pl)
- self.nodes.put(link, pl)
- self.doLink.put(link, '1')
- else:
- pl = self.nodes.get(link)
- if dbg: p('old node', pl)
+ if self.nodes.get(link) == None:
+ pl = self.getPlace(vs, into, x, y, link,
startAngle+rotationAngle*i, depth)
+ if dbg: p('new node', pl)
+ self.nodes.put(link, pl)
+ self.doLink.put(link, '1')
+ else:
+ pl = self.nodes.get(link)
+ if dbg: p('old node', pl)
# debugging..
if dbg:
@@ -302,11 +301,13 @@
for link in links:
p(' ',self.alphContent.getText(link),self.nodes.get(link))
- if depth >= self.maxDepth: return
+ if depth >= maxDepth: return
for i in range(len(links)):
link = links[i]
- if self.doLink.get(link) != None:
- self.doLink.put(link, None)
+ if link == oldCenter: continue
+ if 1: # Ask mudyc about this, how this will affect
+# if self.doLink.get(link) != None:
+# self.doLink.put(link, None)
place = self.nodes.get(link)
newLinks = self.getLinks(fen, link)
newAngle = Math.PI*2./float(len(newLinks))
@@ -319,8 +320,8 @@
+ newAngle*float(len(newLinks)-fromIndex)
else: newStartAngle = 0
- self.doMindMapCS(vs, into, link, newLinks, place[1], place[2],
- newStartAngle, newAngle, depth + 1)
+ self.doMindMapCS(vs, into, link, centerNode, newLinks,
place[1], place[2],
+ newStartAngle, newAngle, depth + 1, maxDepth)
def getPlace(self, vs, into, x0,y0, key, angle, depth):
xy = self.getXY(x0,y0, angle, depth)
@@ -348,9 +349,9 @@
vs.coords.transformPoints3(cs, [0,0,0], into)
# scaling
- scale = (100+into[2])+2
- if self.maxDepth > 20: scale *= 20./self.maxDepth
- scale = 1-math.log10(scale/2.)
+ scale = (100+into[2])+4
+ if self.maxDepth > 40: scale *= 40./self.maxDepth
+ scale = 1-math.log10(scale/4.)
self.nodef.setScale(scale)
p = self.nodef.f(self.fen.graph, node)
- [ff-cvs] fenfire/org/fenfire demo/mm.py view/lava/mindMa..., Asko Soukka, 2003/08/14
- [ff-cvs] fenfire/org/fenfire demo/mm.py view/lava/mindMa..., Asko Soukka, 2003/08/15
- [ff-cvs] fenfire/org/fenfire demo/mm.py view/lava/mindMa...,
Asko Soukka <=
- [ff-cvs] fenfire/org/fenfire demo/mm.py view/lava/mindMa..., Asko Soukka, 2003/08/18
- [ff-cvs] fenfire/org/fenfire demo/mm.py view/lava/mindMa..., Asko Soukka, 2003/08/18
- [ff-cvs] fenfire/org/fenfire demo/mm.py view/lava/mindMa..., Asko Soukka, 2003/08/18
- [ff-cvs] fenfire/org/fenfire demo/mm.py view/lava/mindMa..., Asko Soukka, 2003/08/24
- [ff-cvs] fenfire/org/fenfire demo/mm.py view/lava/mindMa..., Asko Soukka, 2003/08/26
- [ff-cvs] fenfire/org/fenfire demo/mm.py view/lava/mindMa..., Asko Soukka, 2003/08/26
- [ff-cvs] fenfire/org/fenfire demo/mm.py view/lava/mindMa..., Asko Soukka, 2003/08/27
- [ff-cvs] fenfire/org/fenfire demo/mm.py view/lava/mindMa..., Asko Soukka, 2003/08/27
- [ff-cvs] fenfire/org/fenfire demo/mm.py view/lava/mindMa..., Asko Soukka, 2003/08/28