From 9af3b593320748302d0530e0cae592b00ee07913 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joan=20Sol=C3=A0?= <jsola@iri.upc.edu> Date: Fri, 2 Aug 2019 02:32:56 +0200 Subject: [PATCH] Use macro for all processor::createAutoConf --- include/core/processor/processor_diff_drive.h | 2 +- include/core/processor/processor_odom_2D.h | 2 +- include/core/processor/processor_odom_3D.h | 1 + src/processor/processor_diff_drive.cpp | 23 +++---------------- src/processor/processor_odom_2D.cpp | 10 -------- 5 files changed, 6 insertions(+), 32 deletions(-) diff --git a/include/core/processor/processor_diff_drive.h b/include/core/processor/processor_diff_drive.h index 444967322..98e7bfaa3 100644 --- a/include/core/processor/processor_diff_drive.h +++ b/include/core/processor/processor_diff_drive.h @@ -34,8 +34,8 @@ class ProcessorDiffDrive : public ProcessorOdom2D { public: ProcessorDiffDrive(ProcessorParamsDiffDrivePtr _params_motion); + WOLF_CREATE_PROCESSOR_AUTO(ProcessorDiffDrive, ProcessorParamsDiffDrive); static ProcessorBasePtr create(const std::string& _unique_name, const ProcessorParamsBasePtr _params); - static ProcessorBasePtr createAutoConf(const std::string& _unique_name, const ParamsServer& _server); virtual ~ProcessorDiffDrive(); protected: diff --git a/include/core/processor/processor_odom_2D.h b/include/core/processor/processor_odom_2D.h index 7edf655b4..e62f7a19b 100644 --- a/include/core/processor/processor_odom_2D.h +++ b/include/core/processor/processor_odom_2D.h @@ -41,6 +41,7 @@ class ProcessorOdom2D : public ProcessorMotion { public: ProcessorOdom2D(ProcessorParamsOdom2DPtr _params); + WOLF_CREATE_PROCESSOR_AUTO(ProcessorOdom2D, ProcessorParamsOdom2D); virtual ~ProcessorOdom2D(); virtual void configure(SensorBasePtr _sensor) override { }; @@ -95,7 +96,6 @@ class ProcessorOdom2D : public ProcessorMotion // Factory method public: static ProcessorBasePtr create(const std::string& _unique_name, const ProcessorParamsBasePtr _params); - static ProcessorBasePtr createAutoConf(const std::string& _unique_name, const ParamsServer& _server); }; inline Eigen::VectorXs ProcessorOdom2D::deltaZero() const diff --git a/include/core/processor/processor_odom_3D.h b/include/core/processor/processor_odom_3D.h index 35e559a3d..98bd95e4a 100644 --- a/include/core/processor/processor_odom_3D.h +++ b/include/core/processor/processor_odom_3D.h @@ -61,6 +61,7 @@ class ProcessorOdom3D : public ProcessorMotion { public: ProcessorOdom3D(ProcessorParamsOdom3DPtr _params); + WOLF_CREATE_PROCESSOR_AUTO(ProcessorOdom3D, ProcessorParamsOdom3D); virtual ~ProcessorOdom3D(); virtual void configure(SensorBasePtr _sensor) override; diff --git a/src/processor/processor_diff_drive.cpp b/src/processor/processor_diff_drive.cpp index f57e54a1d..07bf75b34 100644 --- a/src/processor/processor_diff_drive.cpp +++ b/src/processor/processor_diff_drive.cpp @@ -19,7 +19,7 @@ namespace wolf ProcessorDiffDrive::ProcessorDiffDrive(const ProcessorParamsDiffDrivePtr _params) : ProcessorOdom2D(_params), params_prc_diff_drv_selfcal_(_params), - radians_per_tick_(0.0) // This params needs further initialization. See this->configure(sensor). + radians_per_tick_(0.0) // This param needs further initialization. See this->configure(sensor). { setType("DIFF DRIVE"); // overwrite odom2D setting calib_size_ = 3; // overwrite odom2D setting @@ -33,16 +33,10 @@ ProcessorDiffDrive::~ProcessorDiffDrive() ProcessorBasePtr ProcessorDiffDrive::create(const std::string& _unique_name, const ProcessorParamsBasePtr _params) { - -// ProcessorDiffDrivePtr prc_ptr; - -// std::shared_ptr<ProcessorParamsDiffDrive> params; -// if (_params) - auto params = std::static_pointer_cast<ProcessorParamsDiffDrive>(_params); -// else -// params = std::make_shared<ProcessorParamsDiffDrive>(); + auto params = std::static_pointer_cast<ProcessorParamsDiffDrive>(_params); auto prc_ptr = std::make_shared<ProcessorDiffDrive>(params); + prc_ptr->setName(_unique_name); return prc_ptr; @@ -183,17 +177,6 @@ FactorBasePtr ProcessorDiffDrive::emplaceFactor(FeatureBasePtr _feature, return fac_odom; } -///////////// FACTORIES /////////////// - -ProcessorBasePtr ProcessorDiffDrive::createAutoConf(const std::string& _unique_name, const ParamsServer& _server) -{ - auto params = std::make_shared<ProcessorParamsDiffDrive>(_unique_name, _server); - - auto prc_ptr = std::make_shared<ProcessorDiffDrive>(params); - prc_ptr->setName(_unique_name); - - return prc_ptr; -} } /* namespace wolf */ diff --git a/src/processor/processor_odom_2D.cpp b/src/processor/processor_odom_2D.cpp index f38356493..e9b7dd34a 100644 --- a/src/processor/processor_odom_2D.cpp +++ b/src/processor/processor_odom_2D.cpp @@ -178,16 +178,6 @@ ProcessorBasePtr ProcessorOdom2D::create(const std::string& _unique_name, const return prc_ptr; } -ProcessorBasePtr ProcessorOdom2D::createAutoConf(const std::string& _unique_name, const ParamsServer& _server) -{ - auto params = std::make_shared<ProcessorParamsOdom2D>(_unique_name, _server); - - auto prc_ptr = std::make_shared<ProcessorOdom2D>(params); - - prc_ptr->setName(_unique_name); - - return prc_ptr; -} } /* namespace wolf */ -- GitLab