28#include <unordered_map>
32#include "modules/common_msgs/basic_msgs/pnc_point.pb.h"
44using common::math::Polygon2d;
89 print_curve.
AddPoint(obs_id +
"_BlockObsPolygon", p.x(), p.y());
114 const std::set<std::string>&
update_ids()
const;
131 bool is_enable_ =
false;
133 bool is_merge_block_obs_ =
false;
134 std::unordered_map<std::string, NudgeObstacleInfo> tracking_nudge_obs_info_;
135 std::set<std::string> update_ids_;
137 std::vector<SLPolygon> block_sl_polygons_;
139 std::vector<std::vector<SLPoint>> extra_nudge_key_points_;
The class of polygon in 2-D.
const std::vector< Vec2d > & points() const
Get the vertices of the polygon.
std::vector< std::vector< SLPoint > > * mutable_extra_nudge_key_points()
const std::vector< SLPolygon > & block_sl_polygons() const
const std::unordered_map< std::string, NudgeObstacleInfo > & tracking_nudge_obs_info() const
bool GetInterpolatedNudgeL(bool is_left_nudge, double s, double *nudge_l) const
const std::set< std::string > & update_ids() const
std::unordered_map< std::string, NudgeObstacleInfo > * mutable_tracking_nudge_obs_info()
void SortBlockSLPolygons()
bool is_merge_block_obs() const
bool IsObsIgnoreNudgeDecision(std::string obs_id, double obs_start_s, double check_dis) const
void set_enable(bool is_enable)
std::set< std::string > * mutable_update_ids()
std::vector< SLPolygon > * mutable_block_sl_polygons()
const std::vector< std::vector< SLPoint > > & extra_nudge_key_points() const
void GetFirstBlockSLPolygon(std::string obs_id, SLPolygon *obs_sl_polygon) const
void set_is_merge_block_obs(bool is_merge)
bool NeedCheckObsCollision(std::string obs_id) const
void AddPoint(std::string key, double x, double y)
add point to curve key
Planning module main class.
Define the Polygon2d class.
RemainNudgeSpace remain_nudge_space
void PrintPolygonInfo(std::string obs_id)
double obs_tracking_time()
hdmap::LaneBoundaryType::Type left_lane_boundary_type
hdmap::LaneBoundaryType::Type right_lane_boundary_type