X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=share%2Fextensions%2Frtree.py;h=5d8ac9f3d6372f55ac8ff8a43cb00ae042297432;hb=8debec9945050f5a4c4836e21bca11427489f1d9;hp=8728ed7a37e413dc17b10c9eb930fa534af85b67;hpb=6b15695578f07a3f72c4c9475c1a261a3021472a;p=inkscape.git diff --git a/share/extensions/rtree.py b/share/extensions/rtree.py index 8728ed7a3..5d8ac9f3d 100755 --- a/share/extensions/rtree.py +++ b/share/extensions/rtree.py @@ -19,41 +19,44 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA import inkex, simplestyle, pturtle, random def rtree(turtle, size, min): - 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) - turtle.rt(turn) - turn = random.uniform(20, 40) - turtle.rt(turn) - rtree(turtle, size*random.uniform(0.5,0.9), min) - turtle.lt(turn) - turtle.bk(size) + 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) + turtle.rt(turn) + turn = random.uniform(20, 40) + turtle.rt(turn) + rtree(turtle, size*random.uniform(0.5,0.9), min) + turtle.lt(turn) + turtle.bk(size) class RTreeTurtle(inkex.Effect): - def __init__(self): - inkex.Effect.__init__(self) - self.OptionParser.add_option("-s", "--size", - action="store", type="float", - dest="size", default=100.0, - help="initial branch size") - self.OptionParser.add_option("-m", "--minimum", - action="store", type="float", - dest="minimum", default=4.0, - help="minimum branch size") - def effect(self): - new = self.document.createElement('svg:path') - s = {'stroke-linejoin': 'miter', 'stroke-width': '1.0px', - 'stroke-opacity': '1.0', 'fill-opacity': '1.0', - 'stroke': '#000000', 'stroke-linecap': 'butt', - 'fill': 'none'} - new.setAttribute('style', simplestyle.formatStyle(s)) - t = pturtle.pTurtle() - rtree(t, self.options.size, self.options.minimum) - new.setAttribute('d', t.getPath()) - self.document.documentElement.appendChild(new) + def __init__(self): + inkex.Effect.__init__(self) + self.OptionParser.add_option("-s", "--size", + action="store", type="float", + dest="size", default=100.0, + help="initial branch size") + self.OptionParser.add_option("-m", "--minimum", + action="store", type="float", + dest="minimum", default=4.0, + help="minimum branch size") + def effect(self): + new = self.document.createElement('svg:path') + s = {'stroke-linejoin': 'miter', 'stroke-width': '1.0px', + 'stroke-opacity': '1.0', 'fill-opacity': '1.0', + 'stroke': '#000000', 'stroke-linecap': 'butt', + 'fill': 'none'} + new.setAttribute('style', simplestyle.formatStyle(s)) + t = pturtle.pTurtle() + t.pu() + t.setpos(self.view_center) + t.pd() + rtree(t, self.options.size, self.options.minimum) + new.setAttribute('d', t.getPath()) + self.current_layer.appendChild(new) e = RTreeTurtle() e.affect()