24 ego_position_.set_x(x);
25 ego_position_.set_y(y);
26 ego_position_.set_z(0.0);
34 ego_speed_ = ego_speed;
40 ego_heading_ = ego_heading;
46 ego_acceleration_ = ego_acceleration;
50 return ego_acceleration_;
56 has_ego_lane_ =
false;
62 const double lane_s) {
64 ego_lane_id_ = lane_id;
70 return {ego_lane_id_, ego_lane_s_};
74 return has_left_neighbor_lane_;
78 has_left_neighbor_lane_ =
false;
82 const double lane_s) {
83 has_left_neighbor_lane_ =
true;
84 left_neighbor_lane_id_ = lane_id;
85 left_neighbor_lane_s_ = lane_s;
90 ACHECK(has_left_neighbor_lane_);
91 return {left_neighbor_lane_id_, left_neighbor_lane_s_};
95 return has_right_neighbor_lane_;
99 has_right_neighbor_lane_ =
false;
103 const double lane_s) {
104 has_right_neighbor_lane_ =
true;
105 right_neighbor_lane_id_ = lane_id;
106 right_neighbor_lane_s_ = lane_s;
111 ACHECK(has_right_neighbor_lane_);
112 return {right_neighbor_lane_id_, right_neighbor_lane_s_};
116 return has_front_junction_;
120 has_front_junction_ =
false;
125 has_front_junction_ =
true;
126 front_junction_id_ = junction_id;
127 dist_to_front_junction_ = dist;
131 ACHECK(has_front_junction_);
132 return {front_junction_id_, dist_to_front_junction_};
136 obstacle_ids_.push_back(obstacle_id);
140 return obstacle_ids_;
143const std::unordered_set<std::string>&
145 return nonneglectable_reverse_lanes_;
149 const std::string& lane_id) {
150 nonneglectable_reverse_lanes_.insert(lane_id);
154 const std::string& lane_id) {
155 if (nonneglectable_reverse_lanes_.find(lane_id) ==
156 nonneglectable_reverse_lanes_.end()) {
159 nonneglectable_reverse_lanes_.erase(lane_id);
double get_ego_speed() const
void reset_left_neighbor_lane()
bool has_right_neighbor_lane() const
void AddObstacleId(const int obstacle_id)
double get_ego_heading() const
bool has_ego_lane() const
void set_ego_heading(const double ego_heading)
void SetRightNeighborLane(const std::string &lane_id, const double lane_s)
bool has_front_junction() const
double get_ego_acceleration() const
void reset_right_neighbor_lane()
std::pair< std::string, double > GetLeftNeighborLane() const
const std::vector< int > & get_obstacle_ids() const
std::pair< std::string, double > GetRightNeighborLane() const
void SetLeftNeighborLane(const std::string &lane_id, const double lane_s)
const std::unordered_set< std::string > & nonneglectable_reverse_lanes() const
void SetEgoLane(const std::string &lane_id, const double lane_s)
const common::Point3D & get_ego_position() const
void set_ego_acceleration(const double ego_acceleration)
std::pair< std::string, double > GetEgoLane() const
std::pair< std::string, double > GetFrontJunction() const
void AddNonneglectableReverseLanes(const std::string &lane_id)
void SetFrontJunction(const std::string &junction_id, const double dist)
void reset_front_junction()
void set_ego_speed(const double ego_speed)
bool has_left_neighbor_lane() const
bool RemoveNonneglectableReverseLanes(const std::string &lane_id)
void set_ego_position(const double x, const double y)