diff --git a/include/laser/processor/processor_tracker_feature_polyline_2D.h b/include/laser/processor/processor_tracker_feature_polyline_2D.h index ca59236e20454cad79e53fa8c29f6ed10d3906af..90eb72e10483ae5d2f2f7447885f7870019e94f7 100644 --- a/include/laser/processor/processor_tracker_feature_polyline_2D.h +++ b/include/laser/processor/processor_tracker_feature_polyline_2D.h @@ -246,8 +246,7 @@ class ProcessorTrackerFeaturePolyline2D : public ProcessorTrackerFeature /// @brief Factory method static ProcessorBasePtr create(const std::string& _unique_name, - const ProcessorParamsBasePtr _params, - const SensorBasePtr _sensor_ptr); + const ProcessorParamsBasePtr _params); static ProcessorBasePtr createAutoConf(const std::string& _unique_name, const ParamsServer& _server, diff --git a/include/laser/sensor/sensor_laser_2D.h b/include/laser/sensor/sensor_laser_2D.h index 6ea4595f22496ccbd2f80b8c476951eb144bae9f..23ffe2cda1bea63202620dda4607d489434973e2 100644 --- a/include/laser/sensor/sensor_laser_2D.h +++ b/include/laser/sensor/sensor_laser_2D.h @@ -82,8 +82,8 @@ class SensorLaser2D : public SensorBase **/ SensorLaser2D(StateBlockPtr _p_ptr, StateBlockPtr _o_ptr, const laserscanutils::LaserScanParams& _params); SensorLaser2D(StateBlockPtr _p_ptr, StateBlockPtr _o_ptr, const IntrinsicsLaser2D& _params); - SensorLaser2D(StateBlockPtr _p_ptr, StateBlockPtr _o_ptr, const IntrinsicsLaser2DPtr _params); - SensorLaser2D(const Eigen::VectorXs& _extrinsics, const IntrinsicsLaser2DPtr _params); + SensorLaser2D(StateBlockPtr _p_ptr, StateBlockPtr _o_ptr, IntrinsicsLaser2DPtr _params); + SensorLaser2D(const Eigen::VectorXs& _extrinsics, IntrinsicsLaser2DPtr _params); virtual ~SensorLaser2D(); diff --git a/src/processor/processor_tracker_feature_polyline_2D.cpp b/src/processor/processor_tracker_feature_polyline_2D.cpp index 57eaf3d9007a3ffa7f12549182ef50161bd7f1af..dad12aaf7d615a9c09c12532fc5448815e3cdc74 100644 --- a/src/processor/processor_tracker_feature_polyline_2D.cpp +++ b/src/processor/processor_tracker_feature_polyline_2D.cpp @@ -1364,13 +1364,14 @@ void ProcessorTrackerFeaturePolyline2D::computeTransformations() } ProcessorBasePtr ProcessorTrackerFeaturePolyline2D::create(const std::string& _unique_name, - const ProcessorParamsBasePtr _params, - const SensorBasePtr _sensor_ptr) + const ProcessorParamsBasePtr _params) { auto params = std::static_pointer_cast<ProcessorParamsTrackerFeaturePolyline2D>(_params); + auto prc_ptr = std::make_shared<ProcessorTrackerFeaturePolyline2D>(params); + prc_ptr->setName(_unique_name); - prc_ptr->configure(_sensor_ptr); + return prc_ptr; } diff --git a/src/sensor/sensor_laser_2D.cpp b/src/sensor/sensor_laser_2D.cpp index c51e546aaa77b2f6cacdbecae44ab382fd4696dd..173208479a9bc6c2dcea8bfa5babf97762eed8d0 100644 --- a/src/sensor/sensor_laser_2D.cpp +++ b/src/sensor/sensor_laser_2D.cpp @@ -1,4 +1,5 @@ #include "laser/sensor/sensor_laser_2D.h" + #include <core/state_block/state_block.h> #include <core/state_block/state_angle.h> @@ -49,6 +50,13 @@ SensorLaser2D::SensorLaser2D(const Eigen::VectorXs& _extrinsics, const Intrinsic // } +SensorLaser2D::SensorLaser2D(const Eigen::VectorXs& _extrinsics, IntrinsicsLaser2DPtr _params) : + SensorLaser2D(std::make_shared<StateBlock>(_extrinsics.head(2), true, nullptr), + std::make_shared<StateAngle>(_extrinsics(2), true), + _params) +{ +} + SensorLaser2D::~SensorLaser2D() { // @@ -116,9 +124,6 @@ SensorBasePtr SensorLaser2D::createAutoConf(const std::string& _unique_name, con //#include "intrinsics_factory.h" namespace wolf { WOLF_REGISTER_SENSOR("LASER 2D", SensorLaser2D) -//const bool registered_laser_params = IntrinsicsFactory::get().registerCreator("LASER 2D", createIntrinsicsLaser2D); -} // namespace wolf -#include "core/sensor/autoconf_sensor_factory.h" -namespace wolf { WOLF_REGISTER_SENSOR_AUTO("LASER 2D", SensorLaser2D) } // namespace wolf +