#include <WalkerManager.h>
Public Member Functions | |
bool | AddWalker (ActorId id) |
create a new walker route More... | |
Navigation * | GetNavigation () |
return the navigation object More... | |
bool | GetWalkerCrosswalkEnd (ActorId id, carla::geom::Location &location) |
get the point in the route that end current crosswalk More... | |
bool | GetWalkerNextPoint (ActorId id, carla::geom::Location &location) |
get the next point in the route More... | |
bool | RemoveWalker (ActorId id) |
remove a walker route More... | |
void | SetNav (Navigation *nav) |
assign the navigation module More... | |
bool | SetWalkerNextPoint (ActorId id) |
set the next point in the route More... | |
bool | SetWalkerRoute (ActorId id) |
set a new route from its current position More... | |
bool | SetWalkerRoute (ActorId id, carla::geom::Location to) |
bool | Update (double delta) |
update all routes More... | |
WalkerManager () | |
~WalkerManager () | |
Private Member Functions | |
EventResult | ExecuteEvent (ActorId id, WalkerInfo &info, double delta) |
![]() | |
NonCopyable ()=default | |
NonCopyable (const NonCopyable &)=delete | |
NonCopyable (NonCopyable &&)=delete | |
NonCopyable & | operator= (const NonCopyable &)=delete |
NonCopyable & | operator= (NonCopyable &&)=delete |
Private Attributes | |
Navigation * | _nav { nullptr } |
std::unordered_map< ActorId, WalkerInfo > | _walkers |
Definition at line 42 of file WalkerManager.h.
carla::nav::WalkerManager::WalkerManager | ( | ) |
Definition at line 13 of file WalkerManager.cpp.
References _nav.
carla::nav::WalkerManager::~WalkerManager | ( | ) |
Definition at line 17 of file WalkerManager.cpp.
bool carla::nav::WalkerManager::AddWalker | ( | ActorId | id | ) |
create a new walker route
Definition at line 21 of file WalkerManager.cpp.
References _walkers, carla::nav::WalkerInfo::state, and carla::nav::WALKER_IDLE.
Referenced by carla::nav::Navigation::AddWalker().
|
private |
Definition at line 250 of file WalkerManager.cpp.
References carla::nav::WalkerInfo::currentIndex, carla::nav::WalkerRoutePoint::event, and carla::nav::WalkerInfo::route.
Referenced by Update().
|
inline |
return the navigation object
Definition at line 75 of file WalkerManager.h.
Referenced by 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
Definition at line 224 of file WalkerManager.cpp.
References _nav, _walkers, carla::nav::CARLA_AREA_CROSSWALK, carla::nav::WalkerInfo::currentIndex, and carla::nav::WalkerInfo::route.
Referenced by carla::nav::WalkerEventVisitor::operator()().
bool carla::nav::WalkerManager::GetWalkerNextPoint | ( | ActorId | id, |
carla::geom::Location & | location | ||
) |
get the next point in the route
Definition at line 202 of file WalkerManager.cpp.
References _nav, _walkers, carla::nav::WalkerInfo::currentIndex, and carla::nav::WalkerInfo::route.
bool carla::nav::WalkerManager::RemoveWalker | ( | ActorId | id | ) |
remove a walker route
Definition at line 32 of file WalkerManager.cpp.
References _walkers.
Referenced by carla::nav::Navigation::RemoveAgent().
|
inline |
assign the navigation module
Definition at line 50 of file WalkerManager.h.
References carla::nav::WalkerRoutePoint::location.
Referenced by carla::nav::Navigation::Navigation().
bool carla::nav::WalkerManager::SetWalkerNextPoint | ( | ActorId | id | ) |
set the next point in the route
Definition at line 167 of file WalkerManager.cpp.
References _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, and carla::nav::WALKER_WALKING.
Referenced by SetWalkerRoute(), and Update().
bool carla::nav::WalkerManager::SetWalkerRoute | ( | ActorId | id | ) |
set a new route from its current position
Definition at line 97 of file WalkerManager.cpp.
References _nav, and carla::nav::Navigation::GetRandomLocation().
Referenced by SetWalkerNextPoint(), carla::nav::Navigation::SetWalkerTarget(), Update(), and carla::nav::Navigation::UpdateCrowd().
bool carla::nav::WalkerManager::SetWalkerRoute | ( | ActorId | id, |
carla::geom::Location | to | ||
) |
Definition at line 111 of file WalkerManager.cpp.
References _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, and carla::nav::WALKER_IDLE.
bool carla::nav::WalkerManager::Update | ( | double | delta | ) |
update all routes
Definition at line 43 of file WalkerManager.cpp.
References _nav, _walkers, carla::nav::Continue, carla::nav::WalkerInfo::currentIndex, carla::nav::End, ExecuteEvent(), carla::nav::Navigation::GetWalkerPosition(), carla::nav::Navigation::PauseAgent(), 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, and carla::geom::Vector3D::z.
Referenced by carla::nav::Navigation::UpdateCrowd().
|
private |
Definition at line 82 of file WalkerManager.h.
Referenced by GetWalkerCrosswalkEnd(), GetWalkerNextPoint(), SetWalkerNextPoint(), SetWalkerRoute(), Update(), and WalkerManager().
|
private |
Definition at line 81 of file WalkerManager.h.
Referenced by AddWalker(), GetWalkerCrosswalkEnd(), GetWalkerNextPoint(), RemoveWalker(), SetWalkerNextPoint(), SetWalkerRoute(), and Update().