(self)
| 167 | self.recording_start = 0 |
| 168 | |
| 169 | def restart(self): |
| 170 | # Keep same camera config if the camera manager exists. |
| 171 | cam_index = self.camera_manager.index if self.camera_manager is not None else 0 |
| 172 | cam_pos_index = self.camera_manager.transform_index if self.camera_manager is not None else 0 |
| 173 | # Get a random blueprint. |
| 174 | blueprint = random.choice(self.world.get_blueprint_library().filter(self._actor_filter)) |
| 175 | blueprint.set_attribute('role_name', self.actor_role_name) |
| 176 | if blueprint.has_attribute('color'): |
| 177 | color = random.choice(blueprint.get_attribute('color').recommended_values) |
| 178 | blueprint.set_attribute('color', color) |
| 179 | if blueprint.has_attribute('driver_id'): |
| 180 | driver_id = random.choice(blueprint.get_attribute('driver_id').recommended_values) |
| 181 | blueprint.set_attribute('driver_id', driver_id) |
| 182 | if blueprint.has_attribute('is_invincible'): |
| 183 | blueprint.set_attribute('is_invincible', 'true') |
| 184 | # Spawn the player. |
| 185 | if self.player is not None: |
| 186 | spawn_point = self.player.get_transform() |
| 187 | spawn_point.location.z += 2.0 |
| 188 | spawn_point.rotation.roll = 0.0 |
| 189 | spawn_point.rotation.pitch = 0.0 |
| 190 | self.destroy() |
| 191 | self.player = self.world.try_spawn_actor(blueprint, spawn_point) |
| 192 | while self.player is None: |
| 193 | spawn_points = self.map.get_spawn_points() |
| 194 | spawn_point = random.choice(spawn_points) if spawn_points else carla.Transform() |
| 195 | self.player = self.world.try_spawn_actor(blueprint, spawn_point) |
| 196 | # Set up the sensors. |
| 197 | self.collision_sensor = CollisionSensor(self.player, self.hud) |
| 198 | self.lane_invasion_sensor = LaneInvasionSensor(self.player, self.hud) |
| 199 | self.gnss_sensor = GnssSensor(self.player) |
| 200 | self.rss_sensor = RssSensor(self.player) |
| 201 | self.camera_manager = CameraManager(self.player, self.hud) |
| 202 | self.camera_manager.transform_index = cam_pos_index |
| 203 | self.camera_manager.set_sensor(cam_index, notify=False) |
| 204 | actor_type = get_actor_display_name(self.player) |
| 205 | self.hud.notification(actor_type) |
| 206 | |
| 207 | def next_weather(self, reverse=False): |
| 208 | self._weather_index += -1 if reverse else 1 |
no test coverage detected