Apollo 10.0
自动驾驶开放平台
apollo::prediction::CruiseScenarioFeatures类 参考

#include <cruise_scenario_features.h>

类 apollo::prediction::CruiseScenarioFeatures 继承关系图:
apollo::prediction::CruiseScenarioFeatures 的协作图:

Public 成员函数

 CruiseScenarioFeatures ()
 
virtual ~CruiseScenarioFeatures ()
 
bool IsLaneOfInterest (const std::string &lane_id) const
 
void InsertLaneOfInterest (const std::string &lane_id)
 
void BuildCruiseScenarioFeatures (const EnvironmentFeatures &environment_features)
 
- Public 成员函数 继承自 apollo::prediction::ScenarioFeatures
 ScenarioFeatures ()
 
virtual ~ScenarioFeatures ()=default
 
const Scenarioscenario () const
 

额外继承的成员函数

- Protected 属性 继承自 apollo::prediction::ScenarioFeatures
Scenario scenario_
 

详细描述

在文件 cruise_scenario_features.h32 行定义.

构造及析构函数说明

◆ CruiseScenarioFeatures()

apollo::prediction::CruiseScenarioFeatures::CruiseScenarioFeatures ( )

◆ ~CruiseScenarioFeatures()

apollo::prediction::CruiseScenarioFeatures::~CruiseScenarioFeatures ( )
virtual

在文件 cruise_scenario_features.cc36 行定义.

36{}

成员函数说明

◆ BuildCruiseScenarioFeatures()

void apollo::prediction::CruiseScenarioFeatures::BuildCruiseScenarioFeatures ( const EnvironmentFeatures environment_features)

在文件 cruise_scenario_features.cc47 行定义.

48 {
49 // Forward lanes
50 if (environment_features.has_ego_lane()) {
51 auto ego_lane = environment_features.GetEgoLane();
52 const std::string& ego_lane_id = ego_lane.first;
53 double ego_lane_s = ego_lane.second;
54 SearchForwardAndInsert(ego_lane_id, ego_lane_s, 50.0);
55 }
56 if (environment_features.has_left_neighbor_lane()) {
57 auto left_lane = environment_features.GetLeftNeighborLane();
58 const std::string& left_lane_id = left_lane.first;
59 double left_lane_s = left_lane.second;
60 SearchForwardAndInsert(left_lane_id, left_lane_s, 50.0);
61 }
62 if (environment_features.has_right_neighbor_lane()) {
63 auto right_lane = environment_features.GetRightNeighborLane();
64 const std::string& right_lane_id = right_lane.first;
65 double right_lane_s = right_lane.second;
66 SearchForwardAndInsert(right_lane_id, right_lane_s, 50.0);
67 }
68
69 // Reverse lanes
70 const std::unordered_set<std::string>& reverse_lane_ids =
71 environment_features.nonneglectable_reverse_lanes();
72 if (reverse_lane_ids.empty()) {
73 ADEBUG << "No reverse lane considered";
74 }
75 for (const std::string& reverse_lane_id : reverse_lane_ids) {
76 lane_ids_of_interest_.insert(reverse_lane_id);
77 }
78 for (const std::string& reverse_lane_id : reverse_lane_ids) {
79 std::shared_ptr<const LaneInfo> reverse_lane_info =
80 PredictionMap::LaneById(reverse_lane_id);
81 for (const auto& prede_id : reverse_lane_info->lane().predecessor_id()) {
82 lane_ids_of_interest_.insert(prede_id.id());
83 }
84 }
85}
static std::shared_ptr< const hdmap::LaneInfo > LaneById(const std::string &id)
Get a shared pointer to a lane by lane ID.
#define ADEBUG
Definition log.h:41

◆ InsertLaneOfInterest()

void apollo::prediction::CruiseScenarioFeatures::InsertLaneOfInterest ( const std::string &  lane_id)

在文件 cruise_scenario_features.cc43 行定义.

43 {
44 lane_ids_of_interest_.insert(lane_id);
45}

◆ IsLaneOfInterest()

bool apollo::prediction::CruiseScenarioFeatures::IsLaneOfInterest ( const std::string &  lane_id) const

在文件 cruise_scenario_features.cc38 行定义.

39 {
40 return lane_ids_of_interest_.find(lane_id) != lane_ids_of_interest_.end();
41}

该类的文档由以下文件生成: