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

#include <WalkerManager.h>

+ 类 carla::nav::WalkerManager 继承关系图:
+ carla::nav::WalkerManager 的协作图:

Public 成员函数

bool AddWalker (ActorId id)
 create a new walker route
 
NavigationGetNavigation ()
 return the navigation object
 
SharedPtr< carla::client::TrafficLightGetTrafficLightAffecting (carla::geom::Location UnrealPos, float max_distance=-1.0f)
 return the trafficlight affecting that position
 
bool GetWalkerCrosswalkEnd (ActorId id, carla::geom::Location &location)
 get the point in the route that end current crosswalk
 
bool GetWalkerNextPoint (ActorId id, carla::geom::Location &location)
 get the next point in the route
 
bool RemoveWalker (ActorId id)
 remove a walker route
 
void SetNav (Navigation *nav)
 assign the navigation module
 
void SetSimulator (std::weak_ptr< carla::client::detail::Simulator > simulator)
 reference to the simulator to access API functions
 
bool SetWalkerNextPoint (ActorId id)
 set the next point in the route
 
bool SetWalkerRoute (ActorId id)
 set a new route from its current position
 
bool SetWalkerRoute (ActorId id, carla::geom::Location to)
 
bool Update (double delta)
 update all routes
 
 WalkerManager ()
 
 ~WalkerManager ()
 

Private 成员函数

EventResult ExecuteEvent (ActorId id, WalkerInfo &info, double delta)
 
void GetAllTrafficLightWaypoints ()
 
- Private 成员函数 继承自 carla::NonCopyable
 NonCopyable ()=default
 
 NonCopyable (const NonCopyable &)=delete
 
 NonCopyable (NonCopyable &&)=delete
 
NonCopyableoperator= (const NonCopyable &)=delete
 
NonCopyableoperator= (NonCopyable &&)=delete
 

Private 属性

Navigation_nav { nullptr }
 
std::weak_ptr< carla::client::detail::Simulator_simulator
 
std::vector< std::pair< SharedPtr< carla::client::TrafficLight >, carla::geom::Location > > _traffic_lights
 
std::unordered_map< ActorId, WalkerInfo_walkers
 

详细描述

在文件 WalkerManager.h45 行定义.

构造及析构函数说明

◆ WalkerManager()

carla::nav::WalkerManager::WalkerManager ( )

在文件 WalkerManager.cpp20 行定义.

◆ ~WalkerManager()

carla::nav::WalkerManager::~WalkerManager ( )

在文件 WalkerManager.cpp23 行定义.

成员函数说明

◆ AddWalker()

bool carla::nav::WalkerManager::AddWalker ( ActorId id)

create a new walker route

在文件 WalkerManager.cpp37 行定义.

引用了 _walkers, GetAllTrafficLightWaypoints(), carla::nav::WalkerInfo::state , 以及 carla::nav::WALKER_IDLE.

被这些函数引用 carla::nav::Navigation::AddWalker().

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

◆ ExecuteEvent()

EventResult carla::nav::WalkerManager::ExecuteEvent ( ActorId id,
WalkerInfo & info,
double delta )
private

在文件 WalkerManager.cpp267 行定义.

引用了 carla::nav::WalkerInfo::currentIndex, carla::nav::WalkerRoutePoint::event , 以及 carla::nav::WalkerInfo::route.

被这些函数引用 Update().

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

◆ GetAllTrafficLightWaypoints()

void carla::nav::WalkerManager::GetAllTrafficLightWaypoints ( )
private

在文件 WalkerManager.cpp277 行定义.

引用了 _simulator, _traffic_lights , 以及 carla::client::World::GetActor().

被这些函数引用 AddWalker().

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

◆ GetNavigation()

Navigation * carla::nav::WalkerManager::GetNavigation ( )
inline

return the navigation object

在文件 WalkerManager.h81 行定义.

引用了 _nav.

被这些函数引用 carla::nav::WalkerEventVisitor::operator()().

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

◆ GetTrafficLightAffecting()

SharedPtr< carla::client::TrafficLight > carla::nav::WalkerManager::GetTrafficLightAffecting ( carla::geom::Location UnrealPos,
float max_distance = -1.0f )

return the trafficlight affecting that position

在文件 WalkerManager.cpp306 行定义.

引用了 _traffic_lights , 以及 carla::geom::Location::DistanceSquared().

被这些函数引用 carla::nav::WalkerEventVisitor::operator()().

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

◆ GetWalkerCrosswalkEnd()

bool carla::nav::WalkerManager::GetWalkerCrosswalkEnd ( ActorId id,
carla::geom::Location & location )

get the point in the route that end current crosswalk

在文件 WalkerManager.cpp241 行定义.

引用了 _nav, _walkers, carla::nav::CARLA_AREA_CROSSWALK, carla::nav::WalkerInfo::currentIndex , 以及 carla::nav::WalkerInfo::route.

被这些函数引用 carla::nav::WalkerEventVisitor::operator()().

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

◆ GetWalkerNextPoint()

bool carla::nav::WalkerManager::GetWalkerNextPoint ( ActorId id,
carla::geom::Location & location )

get the next point in the route

在文件 WalkerManager.cpp219 行定义.

引用了 _nav, _walkers, carla::nav::WalkerInfo::currentIndex , 以及 carla::nav::WalkerInfo::route.

◆ RemoveWalker()

bool carla::nav::WalkerManager::RemoveWalker ( ActorId id)

remove a walker route

在文件 WalkerManager.cpp50 行定义.

引用了 _walkers.

被这些函数引用 carla::nav::Navigation::RemoveAgent().

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

◆ SetNav()

void carla::nav::WalkerManager::SetNav ( Navigation * nav)

assign the navigation module

在文件 WalkerManager.cpp27 行定义.

引用了 _nav.

被这些函数引用 carla::nav::Navigation::Navigation().

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

◆ SetSimulator()

void carla::nav::WalkerManager::SetSimulator ( std::weak_ptr< carla::client::detail::Simulator > simulator)

reference to the simulator to access API functions

在文件 WalkerManager.cpp32 行定义.

引用了 _simulator.

被这些函数引用 carla::nav::Navigation::SetSimulator().

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

◆ SetWalkerNextPoint()

bool carla::nav::WalkerManager::SetWalkerNextPoint ( ActorId id)

set the next point in the route

在文件 WalkerManager.cpp184 行定义.

引用了 _nav, _walkers, carla::nav::WalkerInfo::currentIndex, carla::nav::Navigation::PauseAgent(), carla::nav::WalkerInfo::route, carla::nav::Navigation::SetWalkerDirectTarget(), SetWalkerRoute(), carla::nav::WalkerInfo::state, carla::nav::WALKER_STOP , 以及 carla::nav::WALKER_WALKING.

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

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

◆ SetWalkerRoute() [1/2]

bool carla::nav::WalkerManager::SetWalkerRoute ( ActorId id)

set a new route from its current position

在文件 WalkerManager.cpp114 行定义.

引用了 _nav, carla::nav::Navigation::GetRandomLocation() , 以及 SetWalkerRoute().

被这些函数引用 SetWalkerNextPoint(), SetWalkerRoute(), carla::nav::Navigation::SetWalkerTarget(), Update() , 以及 carla::nav::Navigation::UpdateCrowd().

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

◆ SetWalkerRoute() [2/2]

bool carla::nav::WalkerManager::SetWalkerRoute ( ActorId id,
carla::geom::Location to )

◆ Update()

bool carla::nav::WalkerManager::Update ( double delta)

update all routes

在文件 WalkerManager.cpp61 行定义.

引用了 _nav, _walkers, carla::nav::Continue, carla::nav::WalkerInfo::currentIndex, carla::nav::End, ExecuteEvent(), carla::nav::Navigation::GetWalkerPosition(), carla::nav::WalkerInfo::route, SetWalkerNextPoint(), SetWalkerRoute(), carla::geom::Vector3D::SquaredLength(), carla::nav::WalkerInfo::state, carla::nav::TimeOut, carla::nav::WALKER_IDLE, carla::nav::WALKER_IN_EVENT, carla::nav::WALKER_STOP, carla::nav::WALKER_WALKING, carla::geom::Vector3D::x, carla::geom::Vector3D::y , 以及 carla::geom::Vector3D::z.

被这些函数引用 carla::nav::Navigation::UpdateCrowd().

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

类成员变量说明

◆ _nav

Navigation* carla::nav::WalkerManager::_nav { nullptr }
private

◆ _simulator

std::weak_ptr<carla::client::detail::Simulator> carla::nav::WalkerManager::_simulator
private

在文件 WalkerManager.h95 行定义.

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

◆ _traffic_lights

std::vector<std::pair<SharedPtr<carla::client::TrafficLight>, carla::geom::Location> > carla::nav::WalkerManager::_traffic_lights
private

在文件 WalkerManager.h93 行定义.

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

◆ _walkers

std::unordered_map<ActorId, WalkerInfo> carla::nav::WalkerManager::_walkers
private

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