#include <TrackTraffic.h>
Public 成员函数 | |
void | AddTakenGrid (const GeoGridId geogrid_id, const ActorId actor_id) |
void | Clear () |
void | DeleteActor (ActorId actor_id) |
Method to delete actor data from tracking. | |
cg::Location | GetHeroLocation () const |
ActorIdSet | GetOverlappingVehicles (ActorId actor_id) const |
ActorIdSet | GetPassingVehicles (uint64_t waypoint_id) const |
bool | IsGeoGridFree (const GeoGridId geogrid_id) const |
void | RemovePassingVehicle (uint64_t waypoint_id, ActorId actor_id) |
void | SetHeroLocation (const cg::Location location) |
TrackTraffic () | |
void | UpdateGridPosition (const ActorId actor_id, const Buffer &buffer) |
void | UpdatePassingVehicle (uint64_t waypoint_id, ActorId actor_id) |
Methods to update, remove and retrieve vehicles passing through a waypoint. | |
void | UpdateUnregisteredGridPosition (const ActorId actor_id, const std::vector< SimpleWaypointPtr > waypoints) |
Private 类型 | |
using | WaypointIdSet = std::unordered_set<uint64_t> |
Structure to keep track of waypoints occupied by vehicles; | |
using | WaypointOccupancyMap = std::unordered_map<ActorId, WaypointIdSet> |
using | WaypointOverlap = std::unordered_map<uint64_t, ActorIdSet> |
Structure to keep track of overlapping waypoints between vehicles. | |
Private 属性 | |
std::unordered_map< ActorId, std::unordered_set< GeoGridId > > | actor_to_grids |
Geodesic grids occupied by actors's paths. | |
std::unordered_map< GeoGridId, ActorIdSet > | grid_to_actors |
Actors currently passing through grids. | |
cg::Location | hero_location = cg::Location(0,0,0) |
Current hero location. | |
WaypointOccupancyMap | waypoint_occupied |
WaypointOverlap | waypoint_overlap_tracker |
在文件 TrackTraffic.h 第 19 行定义.
|
private |
Structure to keep track of waypoints occupied by vehicles;
在文件 TrackTraffic.h 第 27 行定义.
|
private |
在文件 TrackTraffic.h 第 28 行定义.
|
private |
Structure to keep track of overlapping waypoints between vehicles.
在文件 TrackTraffic.h 第 23 行定义.
carla::traffic_manager::TrackTraffic::TrackTraffic | ( | ) |
在文件 TrackTraffic.cpp 第 12 行定义.
void carla::traffic_manager::TrackTraffic::AddTakenGrid | ( | const GeoGridId | geogrid_id, |
const ActorId | actor_id ) |
在文件 TrackTraffic.cpp 第 86 行定义.
引用了 grid_to_actors.
被这些函数引用 carla::traffic_manager::MotionPlanStage::Update().
void carla::traffic_manager::TrackTraffic::Clear | ( | ) |
在文件 TrackTraffic.cpp 第 186 行定义.
引用了 actor_to_grids, grid_to_actors, waypoint_occupied , 以及 waypoint_overlap_tracker.
被这些函数引用 carla::traffic_manager::TrafficManagerLocal::Stop().
void carla::traffic_manager::TrackTraffic::DeleteActor | ( | ActorId | actor_id | ) |
Method to delete actor data from tracking.
在文件 TrackTraffic.cpp 第 117 行定义.
引用了 actor_to_grids, grid_to_actors, RemovePassingVehicle() , 以及 waypoint_occupied.
被这些函数引用 carla::traffic_manager::ALSM::RemoveActor() , 以及 UpdateUnregisteredGridPosition().
cg::Location carla::traffic_manager::TrackTraffic::GetHeroLocation | ( | ) | const |
在文件 TrackTraffic.cpp 第 97 行定义.
引用了 hero_location.
被这些函数引用 carla::traffic_manager::MotionPlanStage::Update().
ActorIdSet carla::traffic_manager::TrackTraffic::GetOverlappingVehicles | ( | ActorId | actor_id | ) | const |
在文件 TrackTraffic.cpp 第 101 行定义.
引用了 actor_to_grids , 以及 grid_to_actors.
被这些函数引用 carla::traffic_manager::LocalizationStage::AssignLaneChange() , 以及 carla::traffic_manager::CollisionStage::Update().
ActorIdSet carla::traffic_manager::TrackTraffic::GetPassingVehicles | ( | uint64_t | waypoint_id | ) | const |
在文件 TrackTraffic.cpp 第 177 行定义.
被这些函数引用 carla::traffic_manager::LocalizationStage::AssignLaneChange() , 以及 carla::traffic_manager::MotionPlanStage::SafeAfterJunction().
bool carla::traffic_manager::TrackTraffic::IsGeoGridFree | ( | const GeoGridId | geogrid_id | ) | const |
在文件 TrackTraffic.cpp 第 79 行定义.
引用了 grid_to_actors.
被这些函数引用 carla::traffic_manager::MotionPlanStage::Update().
void carla::traffic_manager::TrackTraffic::RemovePassingVehicle | ( | uint64_t | waypoint_id, |
ActorId | actor_id ) |
在文件 TrackTraffic.cpp 第 157 行定义.
引用了 waypoint_occupied , 以及 waypoint_overlap_tracker.
被这些函数引用 DeleteActor() , 以及 carla::traffic_manager::PopWaypoint().
void carla::traffic_manager::TrackTraffic::SetHeroLocation | ( | const cg::Location | location | ) |
在文件 TrackTraffic.cpp 第 93 行定义.
引用了 hero_location.
被这些函数引用 carla::traffic_manager::ALSM::UpdateRegisteredActorsData().
void carla::traffic_manager::TrackTraffic::UpdateGridPosition | ( | const ActorId | actor_id, |
const Buffer & | buffer ) |
在文件 TrackTraffic.cpp 第 40 行定义.
引用了 actor_to_grids , 以及 grid_to_actors.
被这些函数引用 carla::traffic_manager::LocalizationStage::Update().
void carla::traffic_manager::TrackTraffic::UpdatePassingVehicle | ( | uint64_t | waypoint_id, |
ActorId | actor_id ) |
Methods to update, remove and retrieve vehicles passing through a waypoint.
在文件 TrackTraffic.cpp 第 137 行定义.
引用了 waypoint_occupied , 以及 waypoint_overlap_tracker.
被这些函数引用 carla::traffic_manager::PushWaypoint() , 以及 UpdateUnregisteredGridPosition().
void carla::traffic_manager::TrackTraffic::UpdateUnregisteredGridPosition | ( | const ActorId | actor_id, |
const std::vector< SimpleWaypointPtr > | waypoints ) |
在文件 TrackTraffic.cpp 第 14 行定义.
引用了 actor_to_grids, DeleteActor(), grid_to_actors , 以及 UpdatePassingVehicle().
被这些函数引用 carla::traffic_manager::ALSM::UpdateUnregisteredActorsData().
|
private |
Geodesic grids occupied by actors's paths.
在文件 TrackTraffic.h 第 32 行定义.
被这些函数引用 Clear(), DeleteActor(), GetOverlappingVehicles(), UpdateGridPosition() , 以及 UpdateUnregisteredGridPosition().
|
private |
Actors currently passing through grids.
在文件 TrackTraffic.h 第 34 行定义.
被这些函数引用 AddTakenGrid(), Clear(), DeleteActor(), GetOverlappingVehicles(), IsGeoGridFree(), UpdateGridPosition() , 以及 UpdateUnregisteredGridPosition().
|
private |
Current hero location.
在文件 TrackTraffic.h 第 36 行定义.
被这些函数引用 GetHeroLocation() , 以及 SetHeroLocation().
|
private |
在文件 TrackTraffic.h 第 29 行定义.
被这些函数引用 Clear(), DeleteActor(), RemovePassingVehicle() , 以及 UpdatePassingVehicle().
|
private |
在文件 TrackTraffic.h 第 24 行定义.
被这些函数引用 Clear(), GetPassingVehicles(), RemovePassingVehicle() , 以及 UpdatePassingVehicle().