22#include <unordered_map>
28#include "modules/common_msgs/prediction_msgs/feature.pb.h"
53 const double start_s,
const double length,
const bool consider_lane_split,
54 std::shared_ptr<const apollo::hdmap::LaneInfo> lane_info_ptr);
66 const double start_s,
const double length,
const bool is_on_lane,
67 std::shared_ptr<const apollo::hdmap::LaneInfo> lane_info_ptr);
86 void AddObstacle(
const int obstacle_id,
const std::string& lane_id,
87 const double lane_s,
const double lane_l);
104 const int obstacle_id,
const double obstacle_s,
105 const double obstacle_l,
116 const int obstacle_id,
const double obstacle_s,
117 const double obstacle_l,
127 std::unordered_map<std::string, std::vector<LaneObstacle>>&
129 return lane_obstacles_;
133 std::unordered_map<std::string, std::vector<LaneObstacle>> lane_obstacles_;
134 std::unordered_map<std::string, StopSign> lane_id_stop_sign_map_;
LaneGraph GetLaneGraph(const double start_s, const double length, const bool consider_lane_split, std::shared_ptr< const apollo::hdmap::LaneInfo > lane_info_ptr)
Obtain a lane graph given a lane info and s
std::unordered_map< std::string, std::vector< LaneObstacle > > & GetLaneObstacles()
bool ForwardNearbyObstacle(const LaneSequence &lane_sequence, const double s, LaneObstacle *const lane_obstacle)
Get the nearest obstacle on lane sequence at s
void AddObstacle(const int obstacle_id, const std::string &lane_id, const double lane_s, const double lane_l)
Add an obstacle into clusters
StopSign QueryStopSignByLaneId(const std::string &lane_id)
Query stop sign by lane ID
LaneGraph GetLaneGraphWithoutMemorizing(const double start_s, const double length, const bool is_on_lane, std::shared_ptr< const apollo::hdmap::LaneInfo > lane_info_ptr)
Obtain a lane graph given a lane info and s, but don't memorize it.
ObstacleClusters()=default
Constructor
bool BackwardNearbyObstacle(const LaneSequence &lane_sequence, const int obstacle_id, const double obstacle_s, const double obstacle_l, NearbyObstacle *const nearby_obstacle_ptr)
Get the backward nearest obstacle on lane sequence at s
void SortObstacles()
Sort lane obstacles by lane s
void Init()
Remove all lane graphs