summaryrefslogtreecommitdiffstats
path: root/share/extensions/rtree.py
diff options
context:
space:
mode:
authorJabier Arraiza Cenoz <jabier.arraiza@marker.es>2016-03-14 16:47:47 +0000
committerJabiertxof <jtx@jtx.marker.es>2016-03-14 16:47:47 +0000
commitfee7ec667cc353e1efda6a1a92f1f4715836fa4f (patch)
tree63fe115530cd3f8511b29cf2e250fcf23dc8fe08 /share/extensions/rtree.py
parentupdate credits (diff)
parent"Relative to" option for node alignment. (diff)
downloadinkscape-fee7ec667cc353e1efda6a1a92f1f4715836fa4f.tar.gz
inkscape-fee7ec667cc353e1efda6a1a92f1f4715836fa4f.zip
update to trunk
(bzr r13682.1.32)
Diffstat (limited to 'share/extensions/rtree.py')
-rwxr-xr-xshare/extensions/rtree.py20
1 files changed, 15 insertions, 5 deletions
diff --git a/share/extensions/rtree.py b/share/extensions/rtree.py
index db677d0d5..c0dc1cca6 100755
--- a/share/extensions/rtree.py
+++ b/share/extensions/rtree.py
@@ -1,6 +1,7 @@
#!/usr/bin/env python
'''
Copyright (C) 2005 Aaron Spike, aaron@ekips.org
+Copyright (C) 2015 su_v, suv-sf@users.sf.net
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -17,20 +18,25 @@ along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
'''
import inkex, simplestyle, pturtle, random
+from simpletransform import computePointInNode
-def rtree(turtle, size, min):
+def rtree(turtle, size, min, pt=False):
if size < min:
return
turtle.fd(size)
turn = random.uniform(20, 40)
turtle.lt(turn)
- rtree(turtle, size*random.uniform(0.5,0.9), min)
+ rtree(turtle, size*random.uniform(0.5,0.9), min, pt)
turtle.rt(turn)
turn = random.uniform(20, 40)
turtle.rt(turn)
- rtree(turtle, size*random.uniform(0.5,0.9), min)
+ rtree(turtle, size*random.uniform(0.5,0.9), min, pt)
turtle.lt(turn)
+ if pt:
+ turtle.pu()
turtle.bk(size)
+ if pt:
+ turtle.pd()
class RTreeTurtle(inkex.Effect):
def __init__(self):
@@ -43,6 +49,10 @@ class RTreeTurtle(inkex.Effect):
action="store", type="float",
dest="minimum", default=4.0,
help="minimum branch size")
+ self.OptionParser.add_option("--pentoggle",
+ action="store", type="inkbool",
+ dest="pentoggle", default=False,
+ help="Lift pen for backward steps")
def effect(self):
self.options.size = self.unittouu(str(self.options.size) + 'px')
self.options.minimum = self.unittouu(str(self.options.minimum) + 'px')
@@ -52,9 +62,9 @@ class RTreeTurtle(inkex.Effect):
'fill': 'none'}
t = pturtle.pTurtle()
t.pu()
- t.setpos(self.view_center)
+ t.setpos(computePointInNode(list(self.view_center), self.current_layer))
t.pd()
- rtree(t, self.options.size, self.options.minimum)
+ rtree(t, self.options.size, self.options.minimum, self.options.pentoggle)
attribs = {'d':t.getPath(),'style':simplestyle.formatStyle(s)}
inkex.etree.SubElement(self.current_layer, inkex.addNS('path','svg'), attribs)