CARLA
 
载入中...
搜索中...
未找到
Public 成员函数 | Private 成员函数 | Private 属性 | 所有成员列表
carla::client::detail::Episode类 参考

Holds the current episode, and the current episode state. 更多...

#include <Episode.h>

+ 类 carla::client::detail::Episode 继承关系图:
+ carla::client::detail::Episode 的协作图:

Public 成员函数

void AddPendingException (std::string e)
 
std::shared_ptr< WalkerNavigationCreateNavigationIfMissing ()
 
 Episode (Client &client, std::weak_ptr< Simulator > simulator)
 
boost::optional< rpc::ActorGetActorById (ActorId id)
 
std::vector< rpc::ActorGetActors ()
 
std::vector< rpc::ActorGetActorsById (const std::vector< ActorId > &actor_ids)
 
auto GetId () const
 
std::shared_ptr< const EpisodeStateGetState () const
 
bool HasMapChangedSinceLastCall ()
 
void Listen ()
 
void RegisterActor (rpc::Actor actor)
 
size_t RegisterLightUpdateChangeEvent (std::function< void(WorldSnapshot)> callback)
 
size_t RegisterOnMapChangeEvent (std::function< void(WorldSnapshot)> callback)
 
size_t RegisterOnTickEvent (std::function< void(WorldSnapshot)> callback)
 
void RemoveLightUpdateChangeEvent (size_t id)
 
void RemoveOnMapChangeEvent (size_t id)
 
void RemoveOnTickEvent (size_t id)
 
void SetPedestriansCrossFactor (float percentage)
 
void SetPedestriansSeed (unsigned int seed)
 
boost::optional< WorldSnapshotWaitForState (time_duration timeout)
 
 ~Episode ()
 

Private 成员函数

 Episode (Client &client, const rpc::EpisodeInfo &info, std::weak_ptr< Simulator > simulator)
 
void OnEpisodeChanged ()
 
void OnEpisodeStarted ()
 
- Private 成员函数 继承自 carla::NonCopyable
 NonCopyable ()=default
 
 NonCopyable (const NonCopyable &)=delete
 
 NonCopyable (NonCopyable &&)=delete
 
NonCopyableoperator= (const NonCopyable &)=delete
 
NonCopyableoperator= (NonCopyable &&)=delete
 

Private 属性

CachedActorList _actors
 
Client_client
 
CallbackList< WorldSnapshot_on_light_update_callbacks
 
CallbackList< WorldSnapshot_on_map_change_callbacks
 
CallbackList< WorldSnapshot_on_tick_callbacks
 
bool _pending_exceptions = false
 
std::string _pending_exceptions_msg
 
bool _should_update_map = true
 
std::weak_ptr< Simulator_simulator
 
RecurrentSharedFuture< WorldSnapshot_snapshot
 
AtomicSharedPtr< const EpisodeState_state
 
const streaming::Token _token
 
AtomicSharedPtr< WalkerNavigation_walker_navigation
 

详细描述

Holds the current episode, and the current episode state.

The episode state changes in the background each time a world tick is received. The episode may change with any background update if the simulator has loaded a new episode.

在文件 Episode.h34 行定义.

构造及析构函数说明

◆ Episode() [1/2]

carla::client::detail::Episode::Episode ( Client & client,
std::weak_ptr< Simulator > simulator )
explicit

在文件 Episode.cpp37 行定义.

◆ ~Episode()

carla::client::detail::Episode::~Episode ( )

在文件 Episode.cpp46 行定义.

引用了 _client, _token, carla::log_error() , 以及 carla::client::detail::Client::UnSubscribeFromStream().

+ 函数调用图:

◆ Episode() [2/2]

carla::client::detail::Episode::Episode ( Client & client,
const rpc::EpisodeInfo & info,
std::weak_ptr< Simulator > simulator )
private

在文件 Episode.cpp40 行定义.

成员函数说明

◆ AddPendingException()

void carla::client::detail::Episode::AddPendingException ( std::string e)
inline

在文件 Episode.h95 行定义.

引用了 _pending_exceptions , 以及 _pending_exceptions_msg.

◆ CreateNavigationIfMissing()

std::shared_ptr< WalkerNavigation > carla::client::detail::Episode::CreateNavigationIfMissing ( )

在文件 Episode.cpp152 行定义.

引用了 _simulator , 以及 _walker_navigation.

◆ GetActorById()

boost::optional< rpc::Actor > carla::client::detail::Episode::GetActorById ( ActorId id)

在文件 Episode.cpp113 行定义.

引用了 _actors, _client, carla::client::detail::CachedActorList::GetActorById(), carla::client::detail::Client::GetActorsById() , 以及 carla::client::detail::CachedActorList::Insert().

+ 函数调用图:

◆ GetActors()

std::vector< rpc::Actor > carla::client::detail::Episode::GetActors ( )

在文件 Episode.cpp129 行定义.

引用了 _actors, _client, carla::client::detail::GetActorsById_Impl() , 以及 GetState().

+ 函数调用图:

◆ GetActorsById()

std::vector< rpc::Actor > carla::client::detail::Episode::GetActorsById ( const std::vector< ActorId > & actor_ids)

在文件 Episode.cpp125 行定义.

引用了 _actors, _client , 以及 carla::client::detail::GetActorsById_Impl().

+ 函数调用图:

◆ GetId()

auto carla::client::detail::Episode::GetId ( ) const
inline

在文件 Episode.h45 行定义.

引用了 GetState().

+ 函数调用图:

◆ GetState()

std::shared_ptr< const EpisodeState > carla::client::detail::Episode::GetState ( ) const
inline

在文件 Episode.h49 行定义.

引用了 _state.

被这些函数引用 GetActors(), GetId() , 以及 carla::client::detail::SynchronizeFrame().

+ 这是这个函数的调用关系图:

◆ HasMapChangedSinceLastCall()

bool carla::client::detail::Episode::HasMapChangedSinceLastCall ( )

在文件 Episode.cpp144 行定义.

引用了 _should_update_map.

◆ Listen()

void carla::client::detail::Episode::Listen ( )

Check for pending exceptions (Mainly TM server closed)

Mark pending exception false

Create exception for the error message

Sensor case: inconsistent data

Episode change

在文件 Episode.cpp54 行定义.

引用了 _client, _token, carla::client::detail::CastData(), carla::sensor::Deserializer::Deserialize() , 以及 carla::client::detail::Client::SubscribeToStream().

+ 函数调用图:

◆ OnEpisodeChanged()

void carla::client::detail::Episode::OnEpisodeChanged ( )
private

在文件 Episode.cpp140 行定义.

引用了 carla::traffic_manager::TrafficManager::Reset().

+ 函数调用图:

◆ OnEpisodeStarted()

void carla::client::detail::Episode::OnEpisodeStarted ( )
private

在文件 Episode.cpp133 行定义.

引用了 _actors, _on_tick_callbacks, _walker_navigation, carla::client::detail::CachedActorList::Clear() , 以及 carla::traffic_manager::TrafficManager::Release().

+ 函数调用图:

◆ RegisterActor()

void carla::client::detail::Episode::RegisterActor ( rpc::Actor actor)
inline

在文件 Episode.h53 行定义.

引用了 _actors , 以及 carla::client::detail::CachedActorList::Insert().

+ 函数调用图:

◆ RegisterLightUpdateChangeEvent()

size_t carla::client::detail::Episode::RegisterLightUpdateChangeEvent ( std::function< void(WorldSnapshot)> callback)
inline

在文件 Episode.h83 行定义.

引用了 _on_light_update_callbacks.

◆ RegisterOnMapChangeEvent()

size_t carla::client::detail::Episode::RegisterOnMapChangeEvent ( std::function< void(WorldSnapshot)> callback)
inline

在文件 Episode.h75 行定义.

引用了 _on_map_change_callbacks.

◆ RegisterOnTickEvent()

size_t carla::client::detail::Episode::RegisterOnTickEvent ( std::function< void(WorldSnapshot)> callback)
inline

在文件 Episode.h67 行定义.

引用了 _on_tick_callbacks.

◆ RemoveLightUpdateChangeEvent()

void carla::client::detail::Episode::RemoveLightUpdateChangeEvent ( size_t id)
inline

在文件 Episode.h87 行定义.

引用了 _on_light_update_callbacks.

◆ RemoveOnMapChangeEvent()

void carla::client::detail::Episode::RemoveOnMapChangeEvent ( size_t id)
inline

在文件 Episode.h79 行定义.

引用了 _on_map_change_callbacks.

◆ RemoveOnTickEvent()

void carla::client::detail::Episode::RemoveOnTickEvent ( size_t id)
inline

在文件 Episode.h71 行定义.

引用了 _on_tick_callbacks.

◆ SetPedestriansCrossFactor()

void carla::client::detail::Episode::SetPedestriansCrossFactor ( float percentage)

◆ SetPedestriansSeed()

void carla::client::detail::Episode::SetPedestriansSeed ( unsigned int seed)

◆ WaitForState()

boost::optional< WorldSnapshot > carla::client::detail::Episode::WaitForState ( time_duration timeout)
inline

在文件 Episode.h63 行定义.

引用了 _snapshot.

类成员变量说明

◆ _actors

CachedActorList carla::client::detail::Episode::_actors
private

在文件 Episode.h118 行定义.

被这些函数引用 GetActorById(), GetActors(), GetActorsById(), OnEpisodeStarted() , 以及 RegisterActor().

◆ _client

Client& carla::client::detail::Episode::_client
private

在文件 Episode.h112 行定义.

被这些函数引用 GetActorById(), GetActors(), GetActorsById(), Listen() , 以及 ~Episode().

◆ _on_light_update_callbacks

CallbackList<WorldSnapshot> carla::client::detail::Episode::_on_light_update_callbacks
private

在文件 Episode.h124 行定义.

被这些函数引用 RegisterLightUpdateChangeEvent() , 以及 RemoveLightUpdateChangeEvent().

◆ _on_map_change_callbacks

CallbackList<WorldSnapshot> carla::client::detail::Episode::_on_map_change_callbacks
private

在文件 Episode.h122 行定义.

被这些函数引用 RegisterOnMapChangeEvent() , 以及 RemoveOnMapChangeEvent().

◆ _on_tick_callbacks

CallbackList<WorldSnapshot> carla::client::detail::Episode::_on_tick_callbacks
private

在文件 Episode.h120 行定义.

被这些函数引用 OnEpisodeStarted(), RegisterOnTickEvent() , 以及 RemoveOnTickEvent().

◆ _pending_exceptions

bool carla::client::detail::Episode::_pending_exceptions = false
private

在文件 Episode.h132 行定义.

被这些函数引用 AddPendingException().

◆ _pending_exceptions_msg

std::string carla::client::detail::Episode::_pending_exceptions_msg
private

在文件 Episode.h116 行定义.

被这些函数引用 AddPendingException().

◆ _should_update_map

bool carla::client::detail::Episode::_should_update_map = true
private

在文件 Episode.h134 行定义.

被这些函数引用 HasMapChangedSinceLastCall().

◆ _simulator

std::weak_ptr<Simulator> carla::client::detail::Episode::_simulator
private

在文件 Episode.h136 行定义.

被这些函数引用 CreateNavigationIfMissing().

◆ _snapshot

RecurrentSharedFuture<WorldSnapshot> carla::client::detail::Episode::_snapshot
private

在文件 Episode.h126 行定义.

被这些函数引用 WaitForState().

◆ _state

AtomicSharedPtr<const EpisodeState> carla::client::detail::Episode::_state
private

在文件 Episode.h114 行定义.

被这些函数引用 GetState().

◆ _token

const streaming::Token carla::client::detail::Episode::_token
private

在文件 Episode.h130 行定义.

被这些函数引用 Listen() , 以及 ~Episode().

◆ _walker_navigation

AtomicSharedPtr<WalkerNavigation> carla::client::detail::Episode::_walker_navigation
private

在文件 Episode.h128 行定义.

被这些函数引用 CreateNavigationIfMissing() , 以及 OnEpisodeStarted().


该类的文档由以下文件生成: