#include <TrackTraffic.h>
Public 成员函数 | |
void | AddTakenGrid (const GeoGridId geogrid_id, const ActorId actor_id) |
void | Clear () |
void | DeleteActor (ActorId actor_id) |
从跟踪中删除参与者数据的方法 | |
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) |
更新、移除和检索经过某一路点车辆的方法 | |
void | UpdateUnregisteredGridPosition (const ActorId actor_id, const std::vector< SimpleWaypointPtr > waypoints) |
Private 类型 | |
using | WaypointIdSet = std::unordered_set<uint64_t> |
用于跟踪车辆所占用航点的结构 | |
using | WaypointOccupancyMap = std::unordered_map<ActorId, WaypointIdSet> |
using | WaypointOverlap = std::unordered_map<uint64_t, ActorIdSet> |
用于跟踪车辆间重叠航点的结构 | |
Private 属性 | |
std::unordered_map< ActorId, std::unordered_set< GeoGridId > > | actor_to_grids |
参与者路径所占据的测地线网格 | |
std::unordered_map< GeoGridId, ActorIdSet > | grid_to_actors |
参与者当前经过的网格 | |
cg::Location | hero_location = cg::Location(0,0,0) |
当前英雄位置 | |
WaypointOccupancyMap | waypoint_occupied |
WaypointOverlap | waypoint_overlap_tracker |
在文件 TrackTraffic.h 第 19 行定义.
|
private |
用于跟踪车辆所占用航点的结构
在文件 TrackTraffic.h 第 27 行定义.
|
private |
在文件 TrackTraffic.h 第 28 行定义.
|
private |
用于跟踪车辆间重叠航点的结构
在文件 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 第 98 行定义.
引用了 grid_to_actors.
被这些函数引用 carla::traffic_manager::MotionPlanStage::Update().
void carla::traffic_manager::TrackTraffic::Clear | ( | ) |
在文件 TrackTraffic.cpp 第 220 行定义.
引用了 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 | ) |
从跟踪中删除参与者数据的方法
在文件 TrackTraffic.cpp 第 135 行定义.
引用了 actor_to_grids, grid_to_actors, RemovePassingVehicle() , 以及 waypoint_occupied.
被这些函数引用 UpdateUnregisteredGridPosition().
cg::Location carla::traffic_manager::TrackTraffic::GetHeroLocation | ( | ) | const |
在文件 TrackTraffic.cpp 第 111 行定义.
引用了 hero_location.
被这些函数引用 carla::traffic_manager::MotionPlanStage::Update().
ActorIdSet carla::traffic_manager::TrackTraffic::GetOverlappingVehicles | ( | ActorId | actor_id | ) | const |
在文件 TrackTraffic.cpp 第 115 行定义.
引用了 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 第 211 行定义.
被这些函数引用 carla::traffic_manager::LocalizationStage::AssignLaneChange() , 以及 carla::traffic_manager::MotionPlanStage::SafeAfterJunction().
bool carla::traffic_manager::TrackTraffic::IsGeoGridFree | ( | const GeoGridId | geogrid_id | ) | const |
在文件 TrackTraffic.cpp 第 91 行定义.
引用了 grid_to_actors.
被这些函数引用 carla::traffic_manager::MotionPlanStage::Update().
void carla::traffic_manager::TrackTraffic::RemovePassingVehicle | ( | uint64_t | waypoint_id, |
ActorId | actor_id ) |
在文件 TrackTraffic.cpp 第 190 行定义.
引用了 waypoint_occupied , 以及 waypoint_overlap_tracker.
被这些函数引用 DeleteActor() , 以及 carla::traffic_manager::PopWaypoint().
void carla::traffic_manager::TrackTraffic::SetHeroLocation | ( | const cg::Location | location | ) |
在文件 TrackTraffic.cpp 第 107 行定义.
引用了 hero_location.
void carla::traffic_manager::TrackTraffic::UpdateGridPosition | ( | const ActorId | actor_id, |
const Buffer & | buffer ) |
在文件 TrackTraffic.cpp 第 45 行定义.
引用了 actor_to_grids , 以及 grid_to_actors.
被这些函数引用 carla::traffic_manager::LocalizationStage::Update().
void carla::traffic_manager::TrackTraffic::UpdatePassingVehicle | ( | uint64_t | waypoint_id, |
ActorId | actor_id ) |
更新、移除和检索经过某一路点车辆的方法
在文件 TrackTraffic.cpp 第 163 行定义.
引用了 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().
|
private |
参与者路径所占据的测地线网格
在文件 TrackTraffic.h 第 32 行定义.
被这些函数引用 Clear(), DeleteActor(), GetOverlappingVehicles(), UpdateGridPosition() , 以及 UpdateUnregisteredGridPosition().
|
private |
参与者当前经过的网格
在文件 TrackTraffic.h 第 34 行定义.
被这些函数引用 AddTakenGrid(), Clear(), DeleteActor(), GetOverlappingVehicles(), IsGeoGridFree(), UpdateGridPosition() , 以及 UpdateUnregisteredGridPosition().
|
private |
|
private |
在文件 TrackTraffic.h 第 29 行定义.
被这些函数引用 Clear(), DeleteActor(), RemovePassingVehicle() , 以及 UpdatePassingVehicle().
|
private |
在文件 TrackTraffic.h 第 24 行定义.
被这些函数引用 Clear(), GetPassingVehicles(), RemovePassingVehicle() , 以及 UpdatePassingVehicle().