from MyLine import * from MyPoint import * import string class MyWalls: def __init__(self): self.walls = [] for line in open('MyWalls.dat','r').readlines(): myline = MyLine() cols = string.split(line) myline.a.x = float(cols[0]) myline.a.y = float(cols[1]) myline.b.x = float(cols[2]) myline.b.y = float(cols[3]) self.walls.append(myline) def printit(self): for i in range(len(self.walls)): print '%2d %6.2f %6.2f %6.2f %6.2f' % (i, self.walls[i].a.x, self.walls[i].a.y, self.walls[i].b.x, self.walls[i].b.y) def findthewall(self, lookline, loc): mindist = 1000 minwall = -1 for i in range(len(self.walls)): apoint = self.walls[i].intersect(lookline) if self.walls[i].intersecterror != -1: ontheline = self.walls[i].pointonline(apoint) and lookline.pointonline(apoint) print 'i=%2d x=%15.3f y=%15.3f ontheline=%2d' % (i,apoint.x,apoint.y,ontheline), if ontheline == 1: dist = apoint.distance(loc) print ", dist=%9.3f" % (dist) if mindist > dist: mindist = dist minwall = i else: print print "Wall #",minwall," dist to wall=",mindist return minwall