Skip to content

Commit

Permalink
Move LocalSlamResultCallback to AddTrajectory (cartographer-project#724)
Browse files Browse the repository at this point in the history
  • Loading branch information
gaschler authored and MichaelGrupp committed Mar 6, 2018
1 parent 63a7205 commit 69f55a5
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 15 deletions.
15 changes: 6 additions & 9 deletions cartographer/mapping/map_builder.cc
Original file line number Diff line number Diff line change
Expand Up @@ -53,12 +53,8 @@ proto::MapBuilderOptions CreateMapBuilderOptions(
return options;
}

MapBuilder::MapBuilder(
const proto::MapBuilderOptions& options,
const LocalSlamResultCallback& local_slam_result_callback)
: options_(options),
thread_pool_(options.num_background_threads()),
local_slam_result_callback_(local_slam_result_callback) {
MapBuilder::MapBuilder(const proto::MapBuilderOptions& options)
: options_(options), thread_pool_(options.num_background_threads()) {
if (options.use_trajectory_builder_2d()) {
pose_graph_2d_ = common::make_unique<mapping_2d::PoseGraph>(
options_.pose_graph_options(), &thread_pool_);
Expand All @@ -75,7 +71,8 @@ MapBuilder::~MapBuilder() {}

int MapBuilder::AddTrajectoryBuilder(
const std::unordered_set<std::string>& expected_sensor_ids,
const proto::TrajectoryBuilderOptions& trajectory_options) {
const proto::TrajectoryBuilderOptions& trajectory_options,
LocalSlamResultCallback local_slam_result_callback) {
const int trajectory_id = trajectory_builders_.size();
if (options_.use_trajectory_builder_3d()) {
CHECK(trajectory_options.has_trajectory_builder_3d_options());
Expand All @@ -88,7 +85,7 @@ int MapBuilder::AddTrajectoryBuilder(
mapping_3d::PoseGraph>>(
trajectory_options.trajectory_builder_3d_options(),
trajectory_id, pose_graph_3d_.get(),
local_slam_result_callback_)));
local_slam_result_callback)));
} else {
CHECK(trajectory_options.has_trajectory_builder_2d_options());
trajectory_builders_.push_back(
Expand All @@ -100,7 +97,7 @@ int MapBuilder::AddTrajectoryBuilder(
mapping_2d::PoseGraph>>(
trajectory_options.trajectory_builder_2d_options(),
trajectory_id, pose_graph_2d_.get(),
local_slam_result_callback_)));
local_slam_result_callback)));
}
if (trajectory_options.pure_localization()) {
constexpr int kSubmapsToKeep = 3;
Expand Down
8 changes: 3 additions & 5 deletions cartographer/mapping/map_builder.h
Original file line number Diff line number Diff line change
Expand Up @@ -38,16 +38,16 @@ proto::MapBuilderOptions CreateMapBuilderOptions(
// and a PoseGraph for loop closure.
class MapBuilder : public MapBuilderInterface {
public:
MapBuilder(const proto::MapBuilderOptions& options,
const LocalSlamResultCallback& local_slam_result_callback);
MapBuilder(const proto::MapBuilderOptions& options);
~MapBuilder() override;

MapBuilder(const MapBuilder&) = delete;
MapBuilder& operator=(const MapBuilder&) = delete;

int AddTrajectoryBuilder(
const std::unordered_set<std::string>& expected_sensor_ids,
const proto::TrajectoryBuilderOptions& trajectory_options) override;
const proto::TrajectoryBuilderOptions& trajectory_options,
LocalSlamResultCallback local_slam_result_callback) override;

int AddTrajectoryForDeserialization() override;

Expand Down Expand Up @@ -75,8 +75,6 @@ class MapBuilder : public MapBuilderInterface {
std::unique_ptr<mapping_3d::PoseGraph> pose_graph_3d_;
mapping::PoseGraph* pose_graph_;

LocalSlamResultCallback local_slam_result_callback_;

sensor::Collator sensor_collator_;
std::vector<std::unique_ptr<mapping::TrajectoryBuilder>> trajectory_builders_;
};
Expand Down
3 changes: 2 additions & 1 deletion cartographer/mapping/map_builder_interface.h
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,8 @@ class MapBuilderInterface {
// Creates a new trajectory builder and returns its index.
virtual int AddTrajectoryBuilder(
const std::unordered_set<std::string>& expected_sensor_ids,
const proto::TrajectoryBuilderOptions& trajectory_options) = 0;
const proto::TrajectoryBuilderOptions& trajectory_options,
LocalSlamResultCallback local_slam_result_callback) = 0;

// Creates a new trajectory and returns its index. Querying the trajectory
// builder for it will return 'nullptr'.
Expand Down

0 comments on commit 69f55a5

Please sign in to comment.