#include <WalkerManager.h>
Public 成员函数 | |
bool | AddWalker (ActorId id) |
create a new walker route | |
Navigation * | GetNavigation () |
return the navigation object | |
SharedPtr< carla::client::TrafficLight > | GetTrafficLightAffecting (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 | |
NonCopyable & | operator= (const NonCopyable &)=delete |
NonCopyable & | operator= (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.h 第 45 行定义.
carla::nav::WalkerManager::WalkerManager | ( | ) |
在文件 WalkerManager.cpp 第 20 行定义.
carla::nav::WalkerManager::~WalkerManager | ( | ) |
在文件 WalkerManager.cpp 第 23 行定义.
bool carla::nav::WalkerManager::AddWalker | ( | ActorId | id | ) |
create a new walker route
在文件 WalkerManager.cpp 第 37 行定义.
引用了 _walkers, GetAllTrafficLightWaypoints(), carla::nav::WalkerInfo::state , 以及 carla::nav::WALKER_IDLE.
被这些函数引用 carla::nav::Navigation::AddWalker().
|
private |
在文件 WalkerManager.cpp 第 267 行定义.
引用了 carla::nav::WalkerInfo::currentIndex, carla::nav::WalkerRoutePoint::event , 以及 carla::nav::WalkerInfo::route.
被这些函数引用 Update().
|
private |
在文件 WalkerManager.cpp 第 277 行定义.
引用了 _simulator, _traffic_lights , 以及 carla::client::World::GetActor().
被这些函数引用 AddWalker().
|
inline |
return the navigation object
在文件 WalkerManager.h 第 81 行定义.
引用了 _nav.
被这些函数引用 carla::nav::WalkerEventVisitor::operator()().
SharedPtr< carla::client::TrafficLight > carla::nav::WalkerManager::GetTrafficLightAffecting | ( | carla::geom::Location | UnrealPos, |
float | max_distance = -1.0f ) |
return the trafficlight affecting that position
在文件 WalkerManager.cpp 第 306 行定义.
引用了 _traffic_lights , 以及 carla::geom::Location::DistanceSquared().
被这些函数引用 carla::nav::WalkerEventVisitor::operator()().
bool carla::nav::WalkerManager::GetWalkerCrosswalkEnd | ( | ActorId | id, |
carla::geom::Location & | location ) |
get the point in the route that end current crosswalk
在文件 WalkerManager.cpp 第 241 行定义.
引用了 _nav, _walkers, carla::nav::CARLA_AREA_CROSSWALK, carla::nav::WalkerInfo::currentIndex , 以及 carla::nav::WalkerInfo::route.
被这些函数引用 carla::nav::WalkerEventVisitor::operator()().
bool carla::nav::WalkerManager::GetWalkerNextPoint | ( | ActorId | id, |
carla::geom::Location & | location ) |
get the next point in the route
在文件 WalkerManager.cpp 第 219 行定义.
引用了 _nav, _walkers, carla::nav::WalkerInfo::currentIndex , 以及 carla::nav::WalkerInfo::route.
bool carla::nav::WalkerManager::RemoveWalker | ( | ActorId | id | ) |
remove a walker route
在文件 WalkerManager.cpp 第 50 行定义.
引用了 _walkers.
被这些函数引用 carla::nav::Navigation::RemoveAgent().
void carla::nav::WalkerManager::SetNav | ( | Navigation * | nav | ) |
assign the navigation module
在文件 WalkerManager.cpp 第 27 行定义.
引用了 _nav.
被这些函数引用 carla::nav::Navigation::Navigation().
void carla::nav::WalkerManager::SetSimulator | ( | std::weak_ptr< carla::client::detail::Simulator > | simulator | ) |
reference to the simulator to access API functions
在文件 WalkerManager.cpp 第 32 行定义.
引用了 _simulator.
被这些函数引用 carla::nav::Navigation::SetSimulator().
bool carla::nav::WalkerManager::SetWalkerNextPoint | ( | ActorId | id | ) |
set the next point in the route
在文件 WalkerManager.cpp 第 184 行定义.
引用了 _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().
bool carla::nav::WalkerManager::SetWalkerRoute | ( | ActorId | id | ) |
set a new route from its current position
在文件 WalkerManager.cpp 第 114 行定义.
引用了 _nav, carla::nav::Navigation::GetRandomLocation() , 以及 SetWalkerRoute().
被这些函数引用 SetWalkerNextPoint(), SetWalkerRoute(), carla::nav::Navigation::SetWalkerTarget(), Update() , 以及 carla::nav::Navigation::UpdateCrowd().
bool carla::nav::WalkerManager::SetWalkerRoute | ( | ActorId | id, |
carla::geom::Location | to ) |
在文件 WalkerManager.cpp 第 128 行定义.
引用了 _nav, _walkers, carla::nav::CARLA_AREA_CROSSWALK, carla::nav::CARLA_AREA_ROAD, carla::nav::CARLA_AREA_SIDEWALK, carla::nav::WalkerInfo::currentIndex, carla::nav::WalkerInfo::from, carla::nav::Navigation::GetAgentRoute(), carla::nav::Navigation::GetWalkerPosition(), carla::nav::WalkerInfo::route, SetWalkerNextPoint(), carla::nav::WalkerInfo::state, carla::nav::WalkerInfo::to , 以及 carla::nav::WALKER_IDLE.
bool carla::nav::WalkerManager::Update | ( | double | delta | ) |
update all routes
在文件 WalkerManager.cpp 第 61 行定义.
引用了 _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().
|
private |
在文件 WalkerManager.h 第 94 行定义.
被这些函数引用 GetNavigation(), GetWalkerCrosswalkEnd(), GetWalkerNextPoint(), SetNav(), SetWalkerNextPoint(), SetWalkerRoute(), SetWalkerRoute() , 以及 Update().
|
private |
在文件 WalkerManager.h 第 95 行定义.
被这些函数引用 GetAllTrafficLightWaypoints() , 以及 SetSimulator().
|
private |
在文件 WalkerManager.h 第 93 行定义.
被这些函数引用 GetAllTrafficLightWaypoints() , 以及 GetTrafficLightAffecting().
|
private |
在文件 WalkerManager.h 第 92 行定义.
被这些函数引用 AddWalker(), GetWalkerCrosswalkEnd(), GetWalkerNextPoint(), RemoveWalker(), SetWalkerNextPoint(), SetWalkerRoute() , 以及 Update().