Apollo 11.0
自动驾驶开放平台
apollo::planning::HistoryFrame类 参考

#include <history.h>

apollo::planning::HistoryFrame 的协作图:

Public 成员函数

 HistoryFrame ()=default
 
void Init (const ADCTrajectory &adc_trajactory)
 
int seq_num () const
 
std::vector< const HistoryObjectDecision * > GetObjectDecisions () const
 
std::vector< const HistoryObjectDecision * > GetStopObjectDecisions () const
 
const HistoryObjectDecisionGetObjectDecisionsById (const std::string &id) const
 

详细描述

在文件 history.h51 行定义.

构造及析构函数说明

◆ HistoryFrame()

apollo::planning::HistoryFrame::HistoryFrame ( )
default

成员函数说明

◆ GetObjectDecisions()

std::vector< const HistoryObjectDecision * > apollo::planning::HistoryFrame::GetObjectDecisions ( ) const

在文件 history.cc80 行定义.

81 {
82 std::vector<const HistoryObjectDecision*> result;
83 for (size_t i = 0; i < object_decisions_.size(); i++) {
84 result.push_back(&(object_decisions_[i]));
85 }
86
87 return result;
88}

◆ GetObjectDecisionsById()

const HistoryObjectDecision * apollo::planning::HistoryFrame::GetObjectDecisionsById ( const std::string &  id) const

在文件 history.cc117 行定义.

118 {
119 if (object_decisions_map_.find(id) == object_decisions_map_.end()) {
120 return nullptr;
121 }
122 return &(object_decisions_map_.at(id));
123}

◆ GetStopObjectDecisions()

std::vector< const HistoryObjectDecision * > apollo::planning::HistoryFrame::GetStopObjectDecisions ( ) const

在文件 history.cc90 行定义.

91 {
92 std::vector<const HistoryObjectDecision*> result;
93 for (size_t i = 0; i < object_decisions_.size(); i++) {
94 auto obj_decision = object_decisions_[i].GetObjectDecision();
95 for (const ObjectDecisionType* decision_type : obj_decision) {
96 if (decision_type->has_stop()) {
97 std::vector<ObjectDecisionType> object_decision;
98 object_decision.push_back(*decision_type);
99
100 HistoryObjectDecision* decision = new HistoryObjectDecision();
101 decision->Init(object_decisions_[i].id(), object_decision);
102 result.push_back(decision);
103 }
104 }
105 }
106
107 // sort
108 std::sort(
109 result.begin(), result.end(),
110 [](const HistoryObjectDecision* lhs, const HistoryObjectDecision* rhs) {
111 return lhs->id() < rhs->id();
112 });
113
114 return result;
115}

◆ Init()

void apollo::planning::HistoryFrame::Init ( const ADCTrajectory adc_trajactory)

在文件 history.cc65 行定义.

65 {
66 adc_trajactory_.CopyFrom(adc_trajactory);
67
68 seq_num_ = adc_trajactory.header().sequence_num();
69 const auto& object_decisions = adc_trajactory.decision().object_decision();
70 for (int i = 0; i < object_decisions.decision_size(); i++) {
71 const std::string id = object_decisions.decision(i).id();
72 HistoryObjectDecision object_decision;
73 object_decision.Init(object_decisions.decision(i));
74 object_decisions_map_[id] = object_decision;
75
76 object_decisions_.push_back(object_decision);
77 }
78}

◆ seq_num()

int apollo::planning::HistoryFrame::seq_num ( ) const
inline

在文件 history.h57 行定义.

57{ return seq_num_; }

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