27 class WalkerNavigation;
35 :
public std::enable_shared_from_this<Episode>,
39 explicit Episode(
Client &client, std::weak_ptr<Simulator> simulator);
49 std::shared_ptr<const EpisodeState>
GetState()
const {
59 std::vector<rpc::Actor>
GetActorsById(
const std::vector<ActorId> &actor_ids);
AtomicSharedPtr< const EpisodeState > _state
Holds the current episode, and the current episode state.
CallbackList< WorldSnapshot > _on_map_change_callbacks
std::vector< rpc::Actor > GetActors()
std::string _pending_exceptions_msg
RecurrentSharedFuture< WorldSnapshot > _snapshot
This file contains definitions of common data structures used in traffic manager. ...
std::shared_ptr< WalkerNavigation > CreateNavigationIfMissing()
void AddPendingException(std::string e)
Keeps a list of actor descriptions to avoid requesting each time the descriptions to the server...
void RegisterActor(rpc::Actor actor)
void SetPedestriansCrossFactor(float percentage)
size_t RegisterLightUpdateChangeEvent(std::function< void(WorldSnapshot)> callback)
void Insert(rpc::Actor actor)
Inserts an actor into the list.
void RemoveOnTickEvent(size_t id)
This class is meant to be used similar to a shared future, but the value can be set any number of tim...
const streaming::Token _token
boost::optional< rpc::Actor > GetActorById(ActorId id)
CallbackList< WorldSnapshot > _on_light_update_callbacks
A token that uniquely identify a stream.
size_t RegisterOnTickEvent(std::function< void(WorldSnapshot)> callback)
std::vector< rpc::Actor > GetActorsById(const std::vector< ActorId > &actor_ids)
void RemoveOnMapChangeEvent(size_t id)
std::shared_ptr< const EpisodeState > GetState() const
Provides communication with the rpc and streaming servers of a CARLA simulator.
size_t RegisterOnMapChangeEvent(std::function< void(WorldSnapshot)> callback)
Episode(Client &client, std::weak_ptr< Simulator > simulator)
Positive time duration up to milliseconds resolution.
A very simple atomic shared ptr with release-acquire memory order.
boost::optional< WorldSnapshot > WaitForState(time_duration timeout)
CallbackList< WorldSnapshot > _on_tick_callbacks
void SetPedestriansSeed(unsigned int seed)
std::weak_ptr< Simulator > _simulator
Inherit (privately) to suppress copy/move construction and assignment.
bool HasMapChangedSinceLastCall()
void RemoveLightUpdateChangeEvent(size_t id)
AtomicSharedPtr< WalkerNavigation > _walker_navigation