예제 #1
0
 def update(self, pos, angle, r=0.1):
     """Udpate casting ray."""
     for k in range(self.nir):
         v = vrotate((1, 0), angle + self.IRAngles[k])
         c = pos + [0.9 * r * v[0], 0.9 * r * v[1]]
         cdist = pos + [self.maxdist * v[0], self.maxdist * v[1]]
         self.callback.fixture = None
         world.RayCast(self.callback, c, cdist)
         if(self.callback.fixture is not None):
             self.IRValues[k] = dist(c, self.callback.point) / self.maxdist
         else:
             self.IRValues[k] = 1
예제 #2
0
 def update(self, pos, angle, r=0.1):
     """Udpate casting ray."""
     for k in range(self.retinaSize):
         v = vrotate((1, 0), angle + self.VSAngles[k])
         c = pos + [0.9 * r * v[0], 0.9 * r * v[1]]
         cdist = pos + [self.maxdist * v[0], self.maxdist * v[1]]
         self.callback.fixture = None
         world.RayCast(self.callback, c, cdist)
         if (self.callback.fixture is not None):
             if 'RGB' in self.callback.fixture.body.userData.keys():
                 self.RGB[k] = self.callback.fixture.body.userData['RGB']
             else:
                 self.RGB[k] = [255, 255, 255]
         else:
             self.RGB[k] = [0, 0, 0]
예제 #3
0
 def update(self, pos, angle, r=0.1):
     """Udpate casting ray."""
     for k in range(self.nir):
         v = vrotate((1, 0), angle + self.IRAngles[k])
         c = pos + [0.9 * r * v[0], 0.9 * r * v[1]]
         cdist = pos + [self.maxdist * v[0], self.maxdist * v[1]]
         self.callback.fixture = None
         world.RayCast(self.callback, c, cdist)
         if (self.callback.fixture is not None):
             if 'ignore' in self.callback.fixture.body.userData.keys():
                 self.IRValues[k] = 1
             elif any([
                     ig in self.callback.fixture.body.userData['name']
                     for ig in self.ignoreList
             ]):
                 self.IRValues[k] = 1
             else:
                 self.IRValues[k] = dist(c,
                                         self.callback.point) / self.maxdist
         else:
             self.IRValues[k] = 1