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