From 104bee8c4abe624303fe8e1b8d58fdb66c450b3d Mon Sep 17 00:00:00 2001 From: Nicolas Schodet Date: Fri, 13 Apr 2012 21:44:54 +0200 Subject: host/simu/model: add exclude callback for table search --- host/simu/model/distance_sensor.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'host/simu/model/distance_sensor.py') diff --git a/host/simu/model/distance_sensor.py b/host/simu/model/distance_sensor.py index bdc8531d..e6c2c8b7 100644 --- a/host/simu/model/distance_sensor.py +++ b/host/simu/model/distance_sensor.py @@ -27,7 +27,8 @@ from simu.utils.trans_matrix import TransMatrix class DistanceSensor: - def __init__ (self, table, pos, angle, range, into = None, level = 0): + def __init__ (self, table, pos, angle, range, into = None, level = 0, + exclude = None): self.table = table self.pos = pos self.angle = angle @@ -36,6 +37,7 @@ class DistanceSensor: pos[1] + sin (angle) * range) self.into = into or () self.level = level + self.exclude = exclude self.distance = None def evaluate (self): @@ -51,7 +53,7 @@ class DistanceSensor: pos, target = m.apply (pos, target) # Find intersection. i = self.table.intersect (pos, target, level = self.level, - comp = lambda a, b: a < b) + comp = lambda a, b: a < b, exclude = self.exclude) if i is not None: self.distance = i.distance else: -- cgit v1.2.3