26 #include <unordered_set> 29 #include "modules/planning/proto/planning.pb.h" 32 #include "modules/prediction/proto/lane_graph.pb.h" 35 namespace prediction {
53 void Insert(const ::google::protobuf::Message& message)
override;
72 bool HasOverlap(
const LaneSequence& lane_sequence)
const;
83 std::shared_ptr<const hdmap::JunctionInfo>
ADCJunction()
const;
109 void SetJunction(
const std::string& junction_id,
const double distance);
112 void SetJunctionPolygon();
114 void SetLaneSequence();
116 void SetTargetLaneSequence();
118 std::string ToString(
const std::unordered_set<std::string>& lane_ids);
120 std::string ToString(
const std::vector<std::string>& lane_ids);
123 planning::ADCTrajectory adc_trajectory_;
125 std::shared_ptr<const hdmap::JunctionInfo> adc_junction_info_ptr_;
126 double s_dist_to_junction_;
127 std::unordered_set<std::string> adc_lane_ids_;
128 std::vector<std::string> adc_lane_seq_;
129 std::unordered_set<std::string> adc_target_lane_ids_;
130 std::vector<std::string> adc_target_lane_seq_;
bool IsPointInJunction(const common::PathPoint &point) const
Check if a point is in the first junction of the adc trajectory.
bool IsProtected() const
Get the right-of-way status of ADC.
bool IsLaneIdInReferenceLine(const std::string &lane_id) const
Determine if a lane ID is in the reference line.
void SetPosition(const common::math::Vec2d &position)
Set ADC position.
PlanningContext is the runtime context in planning. It is persistent across multiple frames...
Definition: atomic_hash_map.h:25
const std::vector< std::string > & GetADCLaneIDSequence() const
The class of polygon in 2-D.
Definition: polygon2d.h:43
Definition: container.h:33
const planning::ADCTrajectory & adc_trajectory() const
Get ADC planning trajectory.
const std::vector< std::string > & GetADCTargetLaneIDSequence() const
double ADCDistanceToJunction() const
Compute ADC's distance to junction.
bool IsLaneIdInTargetReferenceLine(const std::string &lane_id) const
Implements a class of 2-dimensional vectors.
Definition: vec2d.h:42
Define the data container base class.
void Insert(const ::google::protobuf::Message &message) override
Insert a data message into the container.
virtual ~ADCTrajectoryContainer()=default
Destructor.
bool HasOverlap(const LaneSequence &lane_sequence) const
Has overlap with ADC trajectory.
void SetJunction(const std::string &junction_id, const double distance)
std::shared_ptr< const hdmap::JunctionInfo > ADCJunction() const
Get ADC junction.
ADCTrajectoryContainer()
Constructor.
Definition: adc_trajectory_container.h:37