Apollo 11.0
自动驾驶开放平台
history.h
浏览该文件的文档.
1/******************************************************************************
2 * Copyright 2019 The Apollo Authors. All Rights Reserved.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 *****************************************************************************/
16
21#pragma once
22
23#include <list>
24#include <string>
25#include <unordered_map>
26#include <vector>
27
28#include "modules/common_msgs/planning_msgs/planning.pb.h"
29
30#include "cyber/common/macros.h"
31
32namespace apollo {
33namespace planning {
34
36 public:
38
39 void Init(const ObjectDecision& object_decisions);
40 void Init(const std::string& id,
41 const std::vector<ObjectDecisionType>& object_decisions);
42
43 const std::string& id() const { return id_; }
44 std::vector<const ObjectDecisionType*> GetObjectDecision() const;
45
46 private:
47 std::string id_;
48 std::vector<ObjectDecisionType> object_decision_;
49};
50
52 public:
53 HistoryFrame() = default;
54
55 void Init(const ADCTrajectory& adc_trajactory);
56
57 int seq_num() const { return seq_num_; }
58
59 std::vector<const HistoryObjectDecision*> GetObjectDecisions() const;
60 std::vector<const HistoryObjectDecision*> GetStopObjectDecisions() const;
61
63 const std::string& id) const;
64
65 private:
66 int seq_num_;
67 ADCTrajectory adc_trajactory_;
68 std::unordered_map<std::string, HistoryObjectDecision> object_decisions_map_;
69 std::vector<HistoryObjectDecision> object_decisions_;
70};
71
73 public:
75
76 void Init(const std::string& id, const ObjectStatus& object_status);
77
78 const std::string& id() const { return id_; }
79 const ObjectStatus GetObjectStatus() const { return object_status_; }
80
81 private:
82 std::string id_;
83 ObjectStatus object_status_;
84};
85
87 public:
88 HistoryStatus() = default;
89
90 void SetObjectStatus(const std::string& id,
91 const ObjectStatus& object_status);
92
93 bool GetObjectStatus(const std::string& id,
94 ObjectStatus* const object_status);
95
96 private:
97 std::unordered_map<std::string, ObjectStatus> object_id_to_status_;
98};
99
100class History {
101 public:
102 History() = default;
103 const HistoryFrame* GetLastFrame() const;
104 int Add(const ADCTrajectory& adc_trajectory_pb);
105 void Clear();
106 size_t Size() const;
107 HistoryStatus* mutable_history_status() { return &history_status_; }
108
109 private:
110 std::list<HistoryFrame> history_frames_;
111 HistoryStatus history_status_;
112};
113
114} // namespace planning
115} // namespace apollo
void Init(const ADCTrajectory &adc_trajactory)
Definition history.cc:65
std::vector< const HistoryObjectDecision * > GetStopObjectDecisions() const
Definition history.cc:90
std::vector< const HistoryObjectDecision * > GetObjectDecisions() const
Definition history.cc:80
const HistoryObjectDecision * GetObjectDecisionsById(const std::string &id) const
Definition history.cc:117
const std::string & id() const
Definition history.h:43
std::vector< const ObjectDecisionType * > GetObjectDecision() const
Definition history.cc:53
void Init(const ObjectDecision &object_decisions)
Definition history.cc:34
const std::string & id() const
Definition history.h:78
const ObjectStatus GetObjectStatus() const
Definition history.h:79
void Init(const std::string &id, const ObjectStatus &object_status)
Definition history.cc:128
void SetObjectStatus(const std::string &id, const ObjectStatus &object_status)
Definition history.cc:137
bool GetObjectStatus(const std::string &id, ObjectStatus *const object_status)
Definition history.cc:142
size_t Size() const
Definition history.cc:177
int Add(const ADCTrajectory &adc_trajectory_pb)
Definition history.cc:164
const HistoryFrame * GetLastFrame() const
Definition history.cc:155
HistoryStatus * mutable_history_status()
Definition history.h:107
Planning module main class.
class register implement
Definition arena_queue.h:37