From 2e95e3a33bcb34aeec66551503c692c1cb80ab61 Mon Sep 17 00:00:00 2001 From: Nicolas Schodet Date: Mon, 9 Feb 2009 20:05:30 +0100 Subject: * all python: - changed tabs to spaces. --- digital/avr/modules/path/test/test_path.py | 182 ++++++++++++++--------------- 1 file changed, 91 insertions(+), 91 deletions(-) (limited to 'digital/avr/modules/path/test') diff --git a/digital/avr/modules/path/test/test_path.py b/digital/avr/modules/path/test/test_path.py index b7eb63fd..ff9b425c 100644 --- a/digital/avr/modules/path/test/test_path.py +++ b/digital/avr/modules/path/test/test_path.py @@ -31,129 +31,129 @@ import re class Obstacle: def __init__ (self, pos, radius): - self.pos = pos - self.radius = radius + self.pos = pos + self.radius = radius def move (self, pos): - self.pos = pos + self.pos = pos class Area (Drawable): def __init__ (self, onto, border_min, border_max): - Drawable.__init__ (self, onto) - self.border_min = border_min - self.border_max = border_max - self.border = None - self.src = None - self.dst = None - self.obstacles = [ ] - self.path = [ ] + Drawable.__init__ (self, onto) + self.border_min = border_min + self.border_max = border_max + self.border = None + self.src = None + self.dst = None + self.obstacles = [ ] + self.path = [ ] def draw (self): - self.reset () - self.draw_rectangle (self.border_min, self.border_max, fill = 'white') - for o in self.obstacles: - if o.pos is not None: - self.draw_circle (o.pos, o.radius, fill = 'gray25') - if self.src is not None: - self.draw_circle (self.src, 10, fill = 'green') - if self.dst is not None: - self.draw_circle (self.dst, 10, fill = 'red') - if len (self.path) > 1: - fmt = dict (fill = 'blue', arrow = LAST) - self.draw_line (*self.path, **fmt) + self.reset () + self.draw_rectangle (self.border_min, self.border_max, fill = 'white') + for o in self.obstacles: + if o.pos is not None: + self.draw_circle (o.pos, o.radius, fill = 'gray25') + if self.src is not None: + self.draw_circle (self.src, 10, fill = 'green') + if self.dst is not None: + self.draw_circle (self.dst, 10, fill = 'red') + if len (self.path) > 1: + fmt = dict (fill = 'blue', arrow = LAST) + self.draw_line (*self.path, **fmt) def test (self): - self.src = (300, 750) - self.dst = (1200, 750) - self.obstacles.append (Obstacle ((600, 680), 100)) - self.obstacles.append (Obstacle ((900, 820), 100)) + self.src = (300, 750) + self.dst = (1200, 750) + self.obstacles.append (Obstacle ((600, 680), 100)) + self.obstacles.append (Obstacle ((900, 820), 100)) def update (self): - args = [ [ self.border_min[0], self.border_min[1], self.border_max[0], - self.border_max[1] ], self.src, self.dst ] - for o in self.obstacles: - args.append ([o.pos[0], o.pos[1], o.radius]) - args = [ ','.join (str (ai) for ai in a) for a in args ] - args[0:0] = [ './test_path.host' ] - p = Popen (args, stdout = PIPE) - output = p.communicate ()[0] - del p - output = output.split ('\n') - r = re.compile ('^// (\d+), (\d+)$') - self.path = [ ] - for line in output: - m = r.match (line) - if m is not None: - self.path.append (tuple (int (s) for s in m.groups ())) + args = [ [ self.border_min[0], self.border_min[1], self.border_max[0], + self.border_max[1] ], self.src, self.dst ] + for o in self.obstacles: + args.append ([o.pos[0], o.pos[1], o.radius]) + args = [ ','.join (str (ai) for ai in a) for a in args ] + args[0:0] = [ './test_path.host' ] + p = Popen (args, stdout = PIPE) + output = p.communicate ()[0] + del p + output = output.split ('\n') + r = re.compile ('^// (\d+), (\d+)$') + self.path = [ ] + for line in output: + m = r.match (line) + if m is not None: + self.path.append (tuple (int (s) for s in m.groups ())) class AreaView (DrawableCanvas): def __init__ (self, border_min, border_max, master = None): - self.border_min = border_min - self.border_max = border_max - width = border_max[0] - border_min[0] - height = border_max[1] - border_min[0] - DrawableCanvas.__init__ (self, width * 1.1, height * 1.1, -width / 2, - -height / 2, - master, borderwidth = 1, relief = 'sunken', - background = 'white') - self.area = Area (self, border_min, border_max) - self.area.test () - self.area.update () + self.border_min = border_min + self.border_max = border_max + width = border_max[0] - border_min[0] + height = border_max[1] - border_min[0] + DrawableCanvas.__init__ (self, width * 1.1, height * 1.1, -width / 2, + -height / 2, + master, borderwidth = 1, relief = 'sunken', + background = 'white') + self.area = Area (self, border_min, border_max) + self.area.test () + self.area.update () def draw (self): - self.area.draw () + self.area.draw () class TestPath (Frame): def __init__ (self, border_min, border_max, master = None): - Frame.__init__ (self, master) + Frame.__init__ (self, master) self.pack (expand = 1, fill = 'both') self.createWidgets (border_min, border_max) - self.move = None + self.move = None def createWidgets (self, border_min, border_max): - self.rightFrame = Frame (self) - self.rightFrame.pack (side = 'right', fill = 'y') - self.quitButton = Button (self.rightFrame, text = 'Quit', command = self.quit) - self.quitButton.pack (side = 'top', fill = 'x') - self.areaview = AreaView (border_min, border_max, self) - self.areaview.pack (expand = True, fill = 'both') - self.areaview.bind ('<1>', self.click) + self.rightFrame = Frame (self) + self.rightFrame.pack (side = 'right', fill = 'y') + self.quitButton = Button (self.rightFrame, text = 'Quit', command = self.quit) + self.quitButton.pack (side = 'top', fill = 'x') + self.areaview = AreaView (border_min, border_max, self) + self.areaview.pack (expand = True, fill = 'both') + self.areaview.bind ('<1>', self.click) def clear (self): - self.areaview.area.path = [ ] - self.areaview.area.draw () + self.areaview.area.path = [ ] + self.areaview.area.draw () def update (self): - self.areaview.area.update () - self.areaview.area.draw () + self.areaview.area.update () + self.areaview.area.draw () def click (self, ev): - pos = self.areaview.screen_coord ((ev.x, ev.y)) - pos = tuple (int (i) for i in pos) - if self.move is None: - def move_src (pos): - self.areaview.area.src = pos - def move_dst (pos): - self.areaview.area.dst = pos - objs = [ [ self.areaview.area.src, 10, move_src ], - [ self.areaview.area.dst, 10, move_dst ] ] - for o in self.areaview.area.obstacles: - objs.append ([ o.pos, o.radius, o.move ]) - for obj in objs: - dx = obj[0][0] - pos[0] - dy = obj[0][1] - pos[1] - if dx * dx + dy * dy < obj[1] * obj[1]: - self.move = obj[2] - if self.move is not None: - self.move (None) - self.clear () - else: - self.move (pos) - self.update () - self.move = None + pos = self.areaview.screen_coord ((ev.x, ev.y)) + pos = tuple (int (i) for i in pos) + if self.move is None: + def move_src (pos): + self.areaview.area.src = pos + def move_dst (pos): + self.areaview.area.dst = pos + objs = [ [ self.areaview.area.src, 10, move_src ], + [ self.areaview.area.dst, 10, move_dst ] ] + for o in self.areaview.area.obstacles: + objs.append ([ o.pos, o.radius, o.move ]) + for obj in objs: + dx = obj[0][0] - pos[0] + dy = obj[0][1] - pos[1] + if dx * dx + dy * dy < obj[1] * obj[1]: + self.move = obj[2] + if self.move is not None: + self.move (None) + self.clear () + else: + self.move (pos) + self.update () + self.move = None if __name__ == '__main__': app = TestPath ((0, 0), (1500, 1500)) -- cgit v1.2.3