From 7186f758fb0f94230e530d40c1f789cce34dd627 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joan=20Sol=C3=A0?= <jsola@iri.upc.edu> Date: Thu, 1 Aug 2019 11:00:35 +0200 Subject: [PATCH] Improve creator macros and constructor API --- include/core/processor/processor_base.h | 10 ++++------ include/core/sensor/sensor_base.h | 6 ++++-- src/processor/processor_diff_drive.cpp | 2 +- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/include/core/processor/processor_base.h b/include/core/processor/processor_base.h index bbda7ba83..847950cd8 100644 --- a/include/core/processor/processor_base.h +++ b/include/core/processor/processor_base.h @@ -22,15 +22,13 @@ namespace wolf { /* * Macro for defining Autoconf processor creator. * + * Place a call to this macro inside your class declaration (in the processor_class.h file), + * preferably just after the constructors. + * * In order to use this macro, the derived processor class, ProcessorClass, - * must have a constructor available with one of the following APIs: + * must have a constructor available with the API: * * ProcessorClass(const SensorClassPtr _sensor, const ProcessorParamsClassPtr _params); - * ProcessorClass(const SensorClassPtr _sensor, const ProcessorParamsBasePtr _params); - * ProcessorClass(const SensorBasePtr _sensor, const ProcessorParamsClassPtr _params); - * ProcessorClass(const SensorBasePtr _sensor, const ProcessorParamsBasePtr _params); - * - * We recommend writing one of such constructors in your derived processors. */ #define WOLF_CREATE_PROCESSOR_AUTO(ProcessorClass, ProcessorParamsClass, SensorClass) \ static ProcessorBasePtr createAutoConf(const std::string& _unique_name, \ diff --git a/include/core/sensor/sensor_base.h b/include/core/sensor/sensor_base.h index 18fe0568e..910fa12d2 100644 --- a/include/core/sensor/sensor_base.h +++ b/include/core/sensor/sensor_base.h @@ -22,11 +22,13 @@ namespace wolf { /* * Macro for defining Autoconf sensor creator. * + * Place a call to this macro inside your class declaration (in the sensor_class.h file), + * preferably just after the constructors. + * * In order to use this macro, the derived sensor class, SensorClass, - * must have a constructor available with one of the following APIs: + * must have a constructor available with the API: * * SensorClass(const VectorXs & _extrinsics, const IntrinsicsClassPtr _intrinsics); - * SensorClass(const VectorXs & _extrinsics, const IntrinsicsBasePtr _intrinsics); * * We recommend writing one of such constructors in your derived sensors. */ diff --git a/src/processor/processor_diff_drive.cpp b/src/processor/processor_diff_drive.cpp index 56e25ef30..e2f15642a 100644 --- a/src/processor/processor_diff_drive.cpp +++ b/src/processor/processor_diff_drive.cpp @@ -16,7 +16,7 @@ namespace wolf { -ProcessorDiffDrive::ProcessorDiffDrive(ProcessorParamsDiffDrivePtr _params) : +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). -- GitLab