20 #include <unordered_set> 24 #include "modules/common/proto/geometry.pb.h" 27 namespace prediction {
55 void SetEgoLane(
const std::string& lane_id,
const double lane_s);
57 std::pair<std::string, double>
GetEgoLane()
const;
94 common::Point3D ego_position_;
96 double ego_speed_ = 0.0;
98 double ego_acceleration_ = 0.0;
100 double ego_heading_ = 0.0;
102 bool has_ego_lane_ =
false;
104 std::string ego_lane_id_;
106 double ego_lane_s_ = 0.0;
108 bool has_left_neighbor_lane_ =
false;
110 std::string left_neighbor_lane_id_;
112 double left_neighbor_lane_s_ = 0.0;
114 bool has_right_neighbor_lane_ =
false;
116 std::string right_neighbor_lane_id_;
118 double right_neighbor_lane_s_ = 0.0;
120 bool has_front_junction_ =
false;
122 std::string front_junction_id_;
124 double dist_to_front_junction_ = 0.0;
126 std::vector<int> obstacle_ids_;
128 std::unordered_set<std::string> nonneglectable_reverse_lanes_;
double get_ego_heading() const
bool has_front_junction() const
void reset_front_junction()
std::pair< std::string, double > GetFrontJunction() const
EnvironmentFeatures()=default
void set_ego_heading(const double ego_heading)
bool RemoveNonneglectableReverseLanes(const std::string &lane_id)
PlanningContext is the runtime context in planning. It is persistent across multiple frames...
Definition: atomic_hash_map.h:25
std::pair< std::string, double > GetLeftNeighborLane() const
void AddObstacleId(const int obstacle_id)
double get_ego_speed() const
const std::vector< int > & get_obstacle_ids() const
double get_ego_acceleration() const
void SetLeftNeighborLane(const std::string &lane_id, const double lane_s)
void SetRightNeighborLane(const std::string &lane_id, const double lane_s)
void set_ego_speed(const double ego_speed)
bool has_right_neighbor_lane() const
void set_ego_acceleration(const double ego_acceleration)
void AddNonneglectableReverseLanes(const std::string &lane_id)
bool has_ego_lane() const
void reset_left_neighbor_lane()
const common::Point3D & get_ego_position() const
void SetFrontJunction(const std::string &junction_id, const double dist)
void set_ego_position(const double x, const double y)
Definition: environment_features.h:29
void reset_right_neighbor_lane()
void SetEgoLane(const std::string &lane_id, const double lane_s)
std::pair< std::string, double > GetRightNeighborLane() const
std::pair< std::string, double > GetEgoLane() const
const std::unordered_set< std::string > & nonneglectable_reverse_lanes() const
bool has_left_neighbor_lane() const
virtual ~EnvironmentFeatures()=default