10namespace traffic_manager {
15using Buffer = std::deque<SimpleWaypointPtr>;
49 const std::vector<SimpleWaypointPtr> waypoints);
void UpdatePassingVehicle(uint64_t waypoint_id, ActorId actor_id)
更新、移除和检索经过某一路点车辆的方法
cg::Location GetHeroLocation() const
std::unordered_map< ActorId, std::unordered_set< GeoGridId > > actor_to_grids
参与者路径所占据的测地线网格
WaypointOverlap waypoint_overlap_tracker
void UpdateGridPosition(const ActorId actor_id, const Buffer &buffer)
ActorIdSet GetPassingVehicles(uint64_t waypoint_id) const
cg::Location hero_location
当前英雄位置
std::unordered_map< uint64_t, ActorIdSet > WaypointOverlap
用于跟踪车辆间重叠航点的结构
ActorIdSet GetOverlappingVehicles(ActorId actor_id) const
bool IsGeoGridFree(const GeoGridId geogrid_id) const
std::unordered_set< uint64_t > WaypointIdSet
用于跟踪车辆所占用航点的结构
void UpdateUnregisteredGridPosition(const ActorId actor_id, const std::vector< SimpleWaypointPtr > waypoints)
std::unordered_map< ActorId, WaypointIdSet > WaypointOccupancyMap
void RemovePassingVehicle(uint64_t waypoint_id, ActorId actor_id)
void DeleteActor(ActorId actor_id)
从跟踪中删除参与者数据的方法
WaypointOccupancyMap waypoint_occupied
void AddTakenGrid(const GeoGridId geogrid_id, const ActorId actor_id)
void SetHeroLocation(const cg::Location location)
std::unordered_map< GeoGridId, ActorIdSet > grid_to_actors
参与者当前经过的网格
std::deque< std::shared_ptr< SimpleWaypoint > > Buffer
std::shared_ptr< SimpleWaypoint > SimpleWaypointPtr
carla::ActorId ActorId
参与者的智能指针类型
std::unordered_set< ActorId > ActorIdSet