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
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]
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