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

#include <LightManager.h>

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

Public 成员函数

std::vector< LightGetAllLights (LightGroup type=LightGroup::None) const
 
Color GetColor (LightId id) const
 
std::vector< ColorGetColor (std::vector< Light > &lights) const
 
float GetIntensity (LightId id) const
 
std::vector< float > GetIntensity (std::vector< Light > &lights) const
 
LightGroup GetLightGroup (LightId id) const
 
std::vector< LightGroupGetLightGroup (std::vector< Light > &lights) const
 
LightState GetLightState (LightId id) const
 
std::vector< LightStateGetLightState (std::vector< Light > &lights) const
 
std::vector< LightGetTurnedOffLights (LightGroup type=LightGroup::None) const
 
std::vector< LightGetTurnedOnLights (LightGroup type=LightGroup::None) const
 
bool IsActive (LightId id) const
 
std::vector< bool > IsActive (std::vector< Light > &lights) const
 
 LightManager ()
 
 LightManager (const LightManager &other)
 
void SetActive (LightId id, bool active)
 
void SetActive (std::vector< Light > &lights, std::vector< bool > &active)
 
void SetColor (LightId id, Color color)
 
void SetColor (std::vector< Light > &lights, Color color)
 
void SetColor (std::vector< Light > &lights, std::vector< Color > &colors)
 
void SetDayNightCycle (const bool active)
 
void SetEpisode (detail::WeakEpisodeProxy episode)
 
void SetIntensity (LightId id, float intensity)
 
void SetIntensity (std::vector< Light > &lights, float intensity)
 
void SetIntensity (std::vector< Light > &lights, std::vector< float > &intensities)
 
void SetLightGroup (LightId id, LightGroup group)
 
void SetLightGroup (std::vector< Light > &lights, LightGroup group)
 
void SetLightGroup (std::vector< Light > &lights, std::vector< LightGroup > &groups)
 
void SetLightState (LightId id, const LightState &new_state)
 
void SetLightState (std::vector< Light > &lights, LightState state)
 
void SetLightState (std::vector< Light > &lights, std::vector< LightState > &states)
 
void SetLightStateNoLock (LightId id, const LightState &new_state)
 
void TurnOff (std::vector< Light > &lights)
 
void TurnOn (std::vector< Light > &lights)
 
 ~LightManager ()
 

Private 类型

using LightGroup = rpc::LightState::LightGroup
 

Private 成员函数

void ApplyChanges ()
 
void QueryLightsStateToServer ()
 
const LightStateRetrieveLightState (LightId id) const
 
void UpdateServerLightsState (bool discard_client=false)
 

Private 属性

bool _dirty = false
 
detail::WeakEpisodeProxy _episode
 
std::unordered_map< LightId, Light_lights
 
std::unordered_map< LightId, LightState_lights_changes
 
std::unordered_map< LightId, LightState_lights_state
 
std::mutex _mutex
 
size_t _on_light_update_register_id = 0
 
size_t _on_tick_register_id = 0
 
LightState _state
 

详细描述

在文件 LightManager.h25 行定义.

成员类型定义说明

◆ LightGroup

在文件 LightManager.h28 行定义.

构造及析构函数说明

◆ LightManager() [1/2]

carla::client::LightManager::LightManager ( )
inline

在文件 LightManager.h32 行定义.

◆ ~LightManager()

carla::client::LightManager::~LightManager ( )

在文件 LightManager.cpp17 行定义.

引用了 _episode, _on_light_update_register_id , 以及 UpdateServerLightsState().

+ 函数调用图:

◆ LightManager() [2/2]

carla::client::LightManager::LightManager ( const LightManager & other)
inline

成员函数说明

◆ ApplyChanges()

void carla::client::LightManager::ApplyChanges ( )
private

在文件 LightManager.cpp323 行定义.

引用了 _lights_changes, _mutex , 以及 SetLightStateNoLock().

被这些函数引用 SetEpisode().

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

◆ GetAllLights()

std::vector< Light > carla::client::LightManager::GetAllLights ( LightGroup type = LightGroup::None) const

在文件 LightManager.cpp43 行定义.

引用了 _lights , 以及 _lights_state.

◆ GetColor() [1/2]

Color carla::client::LightManager::GetColor ( LightId id) const

在文件 LightManager.cpp198 行定义.

引用了 carla::client::LightState::_color , 以及 RetrieveLightState().

+ 函数调用图:

◆ GetColor() [2/2]

std::vector< Color > carla::client::LightManager::GetColor ( std::vector< Light > & lights) const

在文件 LightManager.cpp127 行定义.

引用了 GetColor().

被这些函数引用 GetColor().

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

◆ GetIntensity() [1/2]

float carla::client::LightManager::GetIntensity ( LightId id) const

在文件 LightManager.cpp202 行定义.

引用了 carla::client::LightState::_intensity , 以及 RetrieveLightState().

+ 函数调用图:

◆ GetIntensity() [2/2]

std::vector< float > carla::client::LightManager::GetIntensity ( std::vector< Light > & lights) const

在文件 LightManager.cpp148 行定义.

引用了 GetIntensity().

被这些函数引用 GetIntensity().

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

◆ GetLightGroup() [1/2]

LightGroup carla::client::LightManager::GetLightGroup ( LightId id) const

在文件 LightManager.cpp210 行定义.

引用了 carla::client::LightState::_group , 以及 RetrieveLightState().

+ 函数调用图:

◆ GetLightGroup() [2/2]

std::vector< LightGroup > carla::client::LightManager::GetLightGroup ( std::vector< Light > & lights) const

在文件 LightManager.cpp169 行定义.

引用了 GetLightGroup().

被这些函数引用 GetLightGroup().

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

◆ GetLightState() [1/2]

LightState carla::client::LightManager::GetLightState ( LightId id) const

在文件 LightManager.cpp206 行定义.

引用了 RetrieveLightState().

+ 函数调用图:

◆ GetLightState() [2/2]

std::vector< LightState > carla::client::LightManager::GetLightState ( std::vector< Light > & lights) const

在文件 LightManager.cpp190 行定义.

引用了 RetrieveLightState().

+ 函数调用图:

◆ GetTurnedOffLights()

std::vector< Light > carla::client::LightManager::GetTurnedOffLights ( LightGroup type = LightGroup::None) const

◆ GetTurnedOnLights()

std::vector< Light > carla::client::LightManager::GetTurnedOnLights ( LightGroup type = LightGroup::None) const

◆ IsActive() [1/2]

bool carla::client::LightManager::IsActive ( LightId id) const

在文件 LightManager.cpp214 行定义.

引用了 carla::client::LightState::_active , 以及 RetrieveLightState().

+ 函数调用图:

◆ IsActive() [2/2]

std::vector< bool > carla::client::LightManager::IsActive ( std::vector< Light > & lights) const

在文件 LightManager.cpp76 行定义.

引用了 IsActive().

被这些函数引用 IsActive().

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

◆ QueryLightsStateToServer()

void carla::client::LightManager::QueryLightsStateToServer ( )
private

在文件 LightManager.cpp273 行定义.

引用了 _episode, _lights, _lights_state , 以及 _mutex.

被这些函数引用 SetEpisode().

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

◆ RetrieveLightState()

const LightState & carla::client::LightManager::RetrieveLightState ( LightId id) const
private

在文件 LightManager.cpp264 行定义.

引用了 _lights_state, _state , 以及 carla::log_warning().

被这些函数引用 GetColor(), GetIntensity(), GetLightGroup(), GetLightState(), GetLightState(), IsActive(), SetActive(), SetColor(), SetIntensity(), SetLightGroup(), SetLightState() , 以及 SetLightStateNoLock().

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

◆ SetActive() [1/2]

void carla::client::LightManager::SetActive ( LightId id,
bool active )

在文件 LightManager.cpp218 行定义.

引用了 carla::client::LightState::_active, _dirty, _lights_changes, _mutex , 以及 RetrieveLightState().

+ 函数调用图:

◆ SetActive() [2/2]

void carla::client::LightManager::SetActive ( std::vector< Light > & lights,
std::vector< bool > & active )

在文件 LightManager.cpp69 行定义.

引用了 SetActive().

被这些函数引用 SetActive(), TurnOff() , 以及 TurnOn().

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

◆ SetColor() [1/3]

void carla::client::LightManager::SetColor ( LightId id,
Color color )

在文件 LightManager.cpp226 行定义.

引用了 carla::client::LightState::_color, _dirty, _lights_changes, _mutex , 以及 RetrieveLightState().

+ 函数调用图:

◆ SetColor() [2/3]

void carla::client::LightManager::SetColor ( std::vector< Light > & lights,
Color color )

在文件 LightManager.cpp114 行定义.

引用了 SetColor().

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

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

◆ SetColor() [3/3]

void carla::client::LightManager::SetColor ( std::vector< Light > & lights,
std::vector< Color > & colors )

在文件 LightManager.cpp120 行定义.

引用了 SetColor().

+ 函数调用图:

◆ SetDayNightCycle()

void carla::client::LightManager::SetDayNightCycle ( const bool active)

在文件 LightManager.cpp330 行定义.

引用了 _episode.

◆ SetEpisode()

void carla::client::LightManager::SetEpisode ( detail::WeakEpisodeProxy episode)

在文件 LightManager.cpp25 行定义.

引用了 _episode, _on_light_update_register_id, _on_tick_register_id, ApplyChanges(), QueryLightsStateToServer() , 以及 UpdateServerLightsState().

+ 函数调用图:

◆ SetIntensity() [1/3]

void carla::client::LightManager::SetIntensity ( LightId id,
float intensity )

在文件 LightManager.cpp234 行定义.

引用了 _dirty, carla::client::LightState::_intensity, _lights_changes, _mutex , 以及 RetrieveLightState().

+ 函数调用图:

◆ SetIntensity() [2/3]

void carla::client::LightManager::SetIntensity ( std::vector< Light > & lights,
float intensity )

在文件 LightManager.cpp135 行定义.

引用了 SetIntensity().

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

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

◆ SetIntensity() [3/3]

void carla::client::LightManager::SetIntensity ( std::vector< Light > & lights,
std::vector< float > & intensities )

在文件 LightManager.cpp141 行定义.

引用了 SetIntensity().

+ 函数调用图:

◆ SetLightGroup() [1/3]

void carla::client::LightManager::SetLightGroup ( LightId id,
LightGroup group )

在文件 LightManager.cpp256 行定义.

引用了 _dirty, carla::client::LightState::_group, _lights_changes, _mutex , 以及 RetrieveLightState().

+ 函数调用图:

◆ SetLightGroup() [2/3]

void carla::client::LightManager::SetLightGroup ( std::vector< Light > & lights,
LightGroup group )

在文件 LightManager.cpp156 行定义.

引用了 SetLightGroup().

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

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

◆ SetLightGroup() [3/3]

void carla::client::LightManager::SetLightGroup ( std::vector< Light > & lights,
std::vector< LightGroup > & groups )

在文件 LightManager.cpp162 行定义.

引用了 SetLightGroup().

+ 函数调用图:

◆ SetLightState() [1/3]

void carla::client::LightManager::SetLightState ( LightId id,
const LightState & new_state )

在文件 LightManager.cpp242 行定义.

引用了 _dirty, _lights_changes, _mutex , 以及 RetrieveLightState().

+ 函数调用图:

◆ SetLightState() [2/3]

void carla::client::LightManager::SetLightState ( std::vector< Light > & lights,
LightState state )

在文件 LightManager.cpp177 行定义.

引用了 SetLightState().

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

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

◆ SetLightState() [3/3]

void carla::client::LightManager::SetLightState ( std::vector< Light > & lights,
std::vector< LightState > & states )

在文件 LightManager.cpp183 行定义.

引用了 SetLightState().

+ 函数调用图:

◆ SetLightStateNoLock()

void carla::client::LightManager::SetLightStateNoLock ( LightId id,
const LightState & new_state )

在文件 LightManager.cpp250 行定义.

引用了 _lights_changes , 以及 RetrieveLightState().

被这些函数引用 ApplyChanges().

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

◆ TurnOff()

void carla::client::LightManager::TurnOff ( std::vector< Light > & lights)

在文件 LightManager.cpp63 行定义.

引用了 SetActive().

+ 函数调用图:

◆ TurnOn()

void carla::client::LightManager::TurnOn ( std::vector< Light > & lights)

在文件 LightManager.cpp57 行定义.

引用了 SetActive().

+ 函数调用图:

◆ UpdateServerLightsState()

void carla::client::LightManager::UpdateServerLightsState ( bool discard_client = false)
private

在文件 LightManager.cpp296 行定义.

引用了 _dirty, _episode, carla::rpc::LightState::_id, _lights, _lights_changes , 以及 _mutex.

被这些函数引用 SetEpisode() , 以及 ~LightManager().

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

类成员变量说明

◆ _dirty

bool carla::client::LightManager::_dirty = false
private

◆ _episode

detail::WeakEpisodeProxy carla::client::LightManager::_episode
private

◆ _lights

std::unordered_map<LightId, Light> carla::client::LightManager::_lights
private

◆ _lights_changes

std::unordered_map<LightId, LightState> carla::client::LightManager::_lights_changes
private

◆ _lights_state

std::unordered_map<LightId, LightState> carla::client::LightManager::_lights_state
private

◆ _mutex

std::mutex carla::client::LightManager::_mutex
private

◆ _on_light_update_register_id

size_t carla::client::LightManager::_on_light_update_register_id = 0
private

在文件 LightManager.h108 行定义.

被这些函数引用 LightManager(), SetEpisode() , 以及 ~LightManager().

◆ _on_tick_register_id

size_t carla::client::LightManager::_on_tick_register_id = 0
private

在文件 LightManager.h107 行定义.

被这些函数引用 LightManager() , 以及 SetEpisode().

◆ _state

LightState carla::client::LightManager::_state
private

在文件 LightManager.h106 行定义.

被这些函数引用 RetrieveLightState().


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