提交 7228508d 编写于 作者: Z Zhang Liangliang 提交者: Calvin Miao

added planning_data.h/cc; TODO: fixed cyclic dependency in reference_line_decider.

上级 72b85a70
......@@ -107,6 +107,14 @@ cc_library(
hdrs = [
"planning_data.h",
],
deps = [
":decision_data",
"//modules/common/proto:path_point_proto",
"//modules/planning/common/trajectory:publishable_trajectory",
"//modules/planning/reference_line:lib_reference_line",
"//modules/map/proto:map_proto",
"@eigen//:eigen",
],
)
cc_library(
......@@ -159,7 +167,6 @@ cc_library(
deps = [
":environment",
":frame",
":planning_data",
":planning_gflags",
"//modules/common",
"//modules/common/status",
......
......@@ -21,5 +21,50 @@
#include "modules/planning/common/planning_data.h"
namespace apollo {
namespace planning {} // namespace planning
namespace planning {
const ReferenceLine& PlanningData::reference_line() const {
return *_reference_line.get();
}
const DecisionData& PlanningData::decision_data() const {
return *_decision_data.get();
}
const PublishableTrajectory& PlanningData::computed_trajectory() const {
return _computed_trajectory;
}
const TrajectoryPoint& PlanningData::init_planning_point() const {
return _init_planning_point;
}
DecisionData* PlanningData::mutable_decision_data() const {
return _decision_data.get();
}
PublishableTrajectory* PlanningData::mutable_computed_trajectory() {
return &_computed_trajectory;
};
void PlanningData::set_init_planning_point(
const TrajectoryPoint& init_planning_point) {
_init_planning_point = init_planning_point;
}
void PlanningData::set_reference_line(
std::unique_ptr<ReferenceLine>& reference_line) {
_reference_line = std::move(reference_line);
}
void PlanningData::set_decision_data(
std::unique_ptr<DecisionData>& decision_data) {
_decision_data = std::move(decision_data);
}
void PlanningData::set_computed_trajectory(
PublishableTrajectory publishable_trajectory) {
_computed_trajectory = std::move(publishable_trajectory);
}
} // namespace planning
} // namespace apollo
......@@ -21,12 +21,39 @@
#ifndef MODULES_PLANNING_COMMON_PLANNING_DATA_H_
#define MODULES_PLANNING_COMMON_PLANNING_DATA_H_
#include "modules/common/proto/path_point.pb.h"
#include "modules/planning/common/decision_data.h"
#include "modules/planning/common/trajectory/publishable_trajectory.h"
#include "modules/planning/reference_line/reference_line.h"
namespace apollo {
namespace planning {
class PlanningData {
public:
PlanningData() = default;
// copy reference line to planning data
void set_reference_line(std::unique_ptr<ReferenceLine>& reference_line);
void set_decision_data(std::unique_ptr<DecisionData>& decision_data);
void set_init_planning_point(const TrajectoryPoint& init_planning_point);
void set_computed_trajectory(PublishableTrajectory computed_trajectory);
const ReferenceLine& reference_line() const;
const DecisionData& decision_data() const;
const PublishableTrajectory& computed_trajectory() const;
const TrajectoryPoint& init_planning_point() const;
DecisionData* mutable_decision_data() const;
PublishableTrajectory* mutable_computed_trajectory();
virtual std::string type() const = 0;
protected:
std::unique_ptr<ReferenceLine> _reference_line;
std::unique_ptr<DecisionData> _decision_data;
PublishableTrajectory _computed_trajectory;
TrajectoryPoint _init_planning_point;
};
} // namespace planning
......
......@@ -15,7 +15,6 @@ cc_library(
"//modules/common/proto:path_point_proto",
"//modules/map/pnc_map:pnc_path",
"//modules/common/math:math",
"//modules/planning/common:data_center",
"//modules/planning/math:double",
],
)
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册