Started working on nth selector
Implementing using ordered dict
This commit is contained in:
parent
a54a81938c
commit
875b64a639
|
@ -306,11 +306,19 @@ class DirectionMinMaxSelector(Selector):
|
||||||
# pnt = tShape.Center()
|
# pnt = tShape.Center()
|
||||||
#return pnt.dot(self.vector)
|
#return pnt.dot(self.vector)
|
||||||
|
|
||||||
|
# import OrderedDict
|
||||||
|
from collections import OrderedDict
|
||||||
|
#make and distance to object dict
|
||||||
|
objectDict = {distance(el) : el for el in objectList}
|
||||||
|
#transform it into an ordered dict
|
||||||
|
objectDict = OrderedDict(sorted(objectDict.items(),
|
||||||
|
key=lambda x: x[0]))
|
||||||
|
|
||||||
# find out the max/min distance
|
# find out the max/min distance
|
||||||
if self.directionMax:
|
if self.directionMax:
|
||||||
d = max(map(distance, objectList))
|
d = objectDict.keys()[-1]
|
||||||
else:
|
else:
|
||||||
d = min(map(distance, objectList))
|
d = objectDict.keys()[0]
|
||||||
|
|
||||||
# return all objects at the max/min distance (within a tolerance)
|
# return all objects at the max/min distance (within a tolerance)
|
||||||
return filter(lambda o: abs(d - distance(o)) < self.TOLERANCE, objectList)
|
return filter(lambda o: abs(d - distance(o)) < self.TOLERANCE, objectList)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user