From b5bd6dbb863431362e898ed235e480fef6b356b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joan=20Sol=C3=A0?= <jsola@iri.upc.edu> Date: Fri, 9 Mar 2018 22:05:53 +0100 Subject: [PATCH] Rename PrcOdom3D params class. Use a const ref of it in constructor --- src/examples/test_imuPlateform_Offline.cpp | 2 +- src/examples/test_imu_constrained0.cpp | 2 +- src/processor_odom_3D.cpp | 14 +++++------ src/processor_odom_3D.h | 25 ++++++------------- .../serialization_processor_odom3d_params.h | 4 +-- src/test/gtest_constraint_IMU.cpp | 6 ++--- ..._serialization_processor_odom3d_params.cpp | 24 +++++++++--------- src/yaml/processor_odom_3D_yaml.cpp | 2 +- 8 files changed, 34 insertions(+), 45 deletions(-) diff --git a/src/examples/test_imuPlateform_Offline.cpp b/src/examples/test_imuPlateform_Offline.cpp index 487fac375..04e27bd49 100644 --- a/src/examples/test_imuPlateform_Offline.cpp +++ b/src/examples/test_imuPlateform_Offline.cpp @@ -96,7 +96,7 @@ int main(int argc, char** argv) // SENSOR + PROCESSOR ODOM 3D SensorBasePtr sen1_ptr = wolf_problem_ptr_->installSensor("ODOM 3D", "odom", (Vector7s()<<0,0,0,0,0,0,1).finished(), wolf_root + "/src/examples/sensor_odom_3D.yaml"); - ProcessorOdom3DParamsPtr prc_odom3D_params = std::make_shared<ProcessorOdom3DParams>(); + ProcessorOdom3DParamsPtr prc_odom3D_params = std::make_shared<ProcessorParamsOdom3D>(); prc_odom3D_params->max_time_span = 1.9999; prc_odom3D_params->max_buff_length = 1000000000; //make it very high so that this condition will not pass prc_odom3D_params->dist_traveled = 1000000000; diff --git a/src/examples/test_imu_constrained0.cpp b/src/examples/test_imu_constrained0.cpp index 185406733..f5affb647 100644 --- a/src/examples/test_imu_constrained0.cpp +++ b/src/examples/test_imu_constrained0.cpp @@ -118,7 +118,7 @@ int main(int argc, char** argv) // SENSOR + PROCESSOR ODOM 3D SensorBasePtr sen1_ptr = wolf_problem_ptr_->installSensor("ODOM 3D", "odom", (Vector7s()<<0,0,0,0,0,0,1).finished(), wolf_root + "/src/examples/sensor_odom_3D_HQ.yaml"); - ProcessorOdom3DParamsPtr prc_odom3D_params = std::make_shared<ProcessorOdom3DParams>(); + ProcessorOdom3DParamsPtr prc_odom3D_params = std::make_shared<ProcessorParamsOdom3D>(); prc_odom3D_params->max_time_span = 20.9999; prc_odom3D_params->max_buff_length = 1000000000; //make it very high so that this condition will not pass prc_odom3D_params->dist_traveled = 1000000000; diff --git a/src/processor_odom_3D.cpp b/src/processor_odom_3D.cpp index 70b31a443..38c337fd8 100644 --- a/src/processor_odom_3D.cpp +++ b/src/processor_odom_3D.cpp @@ -2,12 +2,12 @@ namespace wolf { -ProcessorOdom3D::ProcessorOdom3D(ProcessorOdom3DParamsPtr _params, SensorOdom3DPtr _sensor_ptr) : +ProcessorOdom3D::ProcessorOdom3D(const ProcessorParamsOdom3D& _params, SensorOdom3DPtr _sensor_ptr) : ProcessorMotion("ODOM 3D", 7, 7, 6, 6), - max_time_span_ (_params ? _params ->max_time_span : 1.0 ), - max_buff_length_(_params ? _params ->max_buff_length : 10 ), - dist_traveled_ (_params ? _params ->dist_traveled : 1.0 ), - angle_turned_ (_params ? _params ->angle_turned : 0.5 ), + max_time_span_ ( _params.max_time_span ), + max_buff_length_( _params.max_buff_length ), + dist_traveled_ ( _params.dist_traveled ), + angle_turned_ ( _params.angle_turned ), p1_(nullptr), p2_(nullptr), p_out_(nullptr), q1_(nullptr), q2_(nullptr), q_out_(nullptr) { @@ -261,12 +261,12 @@ Motion ProcessorOdom3D::interpolate(const Motion& _motion_ref, Motion& _motion_s ProcessorBasePtr ProcessorOdom3D::create(const std::string& _unique_name, const ProcessorParamsBasePtr _params, const SensorBasePtr _sen_ptr) { // cast inputs to the correct type - std::shared_ptr<ProcessorOdom3DParams> prc_odo_params = std::static_pointer_cast<ProcessorOdom3DParams>(_params); + std::shared_ptr<ProcessorParamsOdom3D> prc_odo_params = std::static_pointer_cast<ProcessorParamsOdom3D>(_params); SensorOdom3DPtr sen_odo =std::static_pointer_cast<SensorOdom3D>(_sen_ptr); // construct processor - ProcessorOdom3DPtr prc_odo = std::make_shared<ProcessorOdom3D>(prc_odo_params, sen_odo); + ProcessorOdom3DPtr prc_odo = std::make_shared<ProcessorOdom3D>(*prc_odo_params, sen_odo); // setup processor prc_odo->setName(_unique_name); diff --git a/src/processor_odom_3D.h b/src/processor_odom_3D.h index 0827cd3bd..1dbbf2ad3 100644 --- a/src/processor_odom_3D.h +++ b/src/processor_odom_3D.h @@ -18,25 +18,14 @@ namespace wolf { -WOLF_STRUCT_PTR_TYPEDEFS(ProcessorOdom3DParams); +WOLF_STRUCT_PTR_TYPEDEFS(ProcessorParamsOdom3D); -struct ProcessorOdom3DParams : public ProcessorParamsBase +struct ProcessorParamsOdom3D : public ProcessorParamsBase { - Scalar max_time_span; - Size max_buff_length; - Scalar dist_traveled; - Scalar angle_turned; - - - ProcessorOdom3DParams() : - max_time_span(0), - max_buff_length(0), - dist_traveled(0), - angle_turned(0) - { - type = "ODOM 3D"; - name = ""; - } + Scalar max_time_span = 1.0; + Size max_buff_length = 10; + Scalar dist_traveled = 1.0; + Scalar angle_turned = 0.5; }; @@ -67,7 +56,7 @@ WOLF_PTR_TYPEDEFS(ProcessorOdom3D); class ProcessorOdom3D : public ProcessorMotion { public: - ProcessorOdom3D(ProcessorOdom3DParamsPtr _params = nullptr, SensorOdom3DPtr _sensor_ptr = nullptr); + ProcessorOdom3D(const ProcessorParamsOdom3D& _params = ProcessorParamsOdom3D(), SensorOdom3DPtr _sensor_ptr = nullptr); virtual ~ProcessorOdom3D(); void setup(SensorOdom3DPtr sen_ptr); diff --git a/src/serialization/cereal/serialization_processor_odom3d_params.h b/src/serialization/cereal/serialization_processor_odom3d_params.h index 06770f759..9b658a233 100644 --- a/src/serialization/cereal/serialization_processor_odom3d_params.h +++ b/src/serialization/cereal/serialization_processor_odom3d_params.h @@ -8,7 +8,7 @@ namespace cereal { template <class Archive> -void serialize(Archive& ar, wolf::ProcessorOdom3DParams& o, +void serialize(Archive& ar, wolf::ProcessorParamsOdom3D& o, std::uint32_t const /*version*/) { ar( cereal::make_nvp("ProcessorParamsBase", @@ -22,6 +22,6 @@ void serialize(Archive& ar, wolf::ProcessorOdom3DParams& o, } // namespace cereal -CEREAL_REGISTER_TYPE_WITH_NAME(wolf::ProcessorOdom3DParams, "ProcessorOdom3DParams") +CEREAL_REGISTER_TYPE_WITH_NAME(wolf::ProcessorParamsOdom3D, "ProcessorOdom3DParams") #endif /* _WOLF_SERIALIZATION_CEREAL_PROCESSOR_ODOM3D_PARAMS_H_ */ diff --git a/src/test/gtest_constraint_IMU.cpp b/src/test/gtest_constraint_IMU.cpp index 3accb792b..a507efbc0 100644 --- a/src/test/gtest_constraint_IMU.cpp +++ b/src/test/gtest_constraint_IMU.cpp @@ -887,7 +887,7 @@ class ConstraintIMU_ODOM_biasTest_Move_NonNullBiasRot : public testing::Test WOLF_TRACE("IMU cov: ", sensor_imu->getNoiseCov().diagonal().transpose()); WOLF_TRACE("ODO cov: ", sensor_odo->getNoiseCov().diagonal().transpose()); - ProcessorOdom3DParamsPtr prc_odom3D_params = std::make_shared<ProcessorOdom3DParams>(); + ProcessorOdom3DParamsPtr prc_odom3D_params = std::make_shared<ProcessorParamsOdom3D>(); prc_odom3D_params->max_time_span = 0.0099; prc_odom3D_params->max_buff_length = 1000; //make it very high so that this condition will not pass prc_odom3D_params->dist_traveled = 1000; @@ -1064,7 +1064,7 @@ class ConstraintIMU_ODOM_biasTest_Move_NonNullBiasRotY : public testing::Test // SENSOR + PROCESSOR ODOM 3D SensorBasePtr sen1_ptr = wolf_problem_ptr_->installSensor("ODOM 3D", "odom", (Vector7s()<<0,0,0,0,0,0,1).finished(), wolf_root + "/src/examples/sensor_odom_3D_HQ.yaml"); - ProcessorOdom3DParamsPtr prc_odom3D_params = std::make_shared<ProcessorOdom3DParams>(); + ProcessorOdom3DParamsPtr prc_odom3D_params = std::make_shared<ProcessorParamsOdom3D>(); prc_odom3D_params->max_time_span = 0.9999; prc_odom3D_params->max_buff_length = 1000000000; //make it very high so that this condition will not pass prc_odom3D_params->dist_traveled = 1000000000; @@ -1205,7 +1205,7 @@ class ConstraintIMU_ODOM_biasTest_Move_NonNullBiasRotXY : public testing::Test // SENSOR + PROCESSOR ODOM 3D SensorBasePtr sen1_ptr = wolf_problem_ptr_->installSensor("ODOM 3D", "odom", (Vector7s()<<0,0,0,0,0,0,1).finished(), wolf_root + "/src/examples/sensor_odom_3D_HQ.yaml"); - ProcessorOdom3DParamsPtr prc_odom3D_params = std::make_shared<ProcessorOdom3DParams>(); + ProcessorOdom3DParamsPtr prc_odom3D_params = std::make_shared<ProcessorParamsOdom3D>(); prc_odom3D_params->max_time_span = 0.9999; prc_odom3D_params->max_buff_length = 1000000000; //make it very high so that this condition will not pass prc_odom3D_params->dist_traveled = 1000000000; diff --git a/src/test/serialization/cereal/gtest_serialization_processor_odom3d_params.cpp b/src/test/serialization/cereal/gtest_serialization_processor_odom3d_params.cpp index ed2aaab3b..7a84ef3ff 100644 --- a/src/test/serialization/cereal/gtest_serialization_processor_odom3d_params.cpp +++ b/src/test/serialization/cereal/gtest_serialization_processor_odom3d_params.cpp @@ -31,7 +31,7 @@ public: const std::string path_to_io = "/tmp/"; - wolf::ProcessorOdom3DParams nb_; + wolf::ProcessorParamsOdom3D nb_; }; TEST_F(WolfTestCerealSerializationProcessorOdom3DParams, @@ -39,7 +39,7 @@ TEST_F(WolfTestCerealSerializationProcessorOdom3DParams, { const std::string filename(path_to_io + "params_odom3d_serialization.xml"); - wolf::ProcessorOdom3DParams nb_save; + wolf::ProcessorParamsOdom3D nb_save; nb_save.name = "NAME2"; //nb_.type = "ODOM 3D"; @@ -51,7 +51,7 @@ TEST_F(WolfTestCerealSerializationProcessorOdom3DParams, ASSERT_NO_THROW( wolf::save( filename, nb_, nb_save, 10 ) ); { - wolf::ProcessorOdom3DParams nb_load; + wolf::ProcessorParamsOdom3D nb_load; ASSERT_NO_THROW( wolf::load( filename, nb_load ) ); @@ -62,7 +62,7 @@ TEST_F(WolfTestCerealSerializationProcessorOdom3DParams, ASSERT_EQ(nb_load.dist_traveled, nb_.dist_traveled); ASSERT_EQ(nb_load.angle_turned, nb_.angle_turned); - wolf::ProcessorOdom3DParams nb_load0, nb_load1; + wolf::ProcessorParamsOdom3D nb_load0, nb_load1; int myint; ASSERT_NO_THROW( wolf::load( filename, nb_load0, nb_load1, myint ) ); @@ -95,7 +95,7 @@ TEST_F(WolfTestCerealSerializationProcessorOdom3DParams, { wolf::ProcessorParamsBasePtr nb = - std::make_shared<wolf::ProcessorOdom3DParams>(nb_); + std::make_shared<wolf::ProcessorParamsOdom3D>(nb_); ASSERT_NO_THROW( wolf::save( filename, nb ) ); } @@ -106,7 +106,7 @@ TEST_F(WolfTestCerealSerializationProcessorOdom3DParams, ASSERT_NO_THROW( wolf::load( filename, nb ) ); wolf::ProcessorOdom3DParamsPtr nb_cast = - std::dynamic_pointer_cast<wolf::ProcessorOdom3DParams>(nb); + std::dynamic_pointer_cast<wolf::ProcessorParamsOdom3D>(nb); ASSERT_TRUE(nb_cast != nullptr); @@ -130,7 +130,7 @@ TEST_F(WolfTestCerealSerializationProcessorOdom3DParams, ASSERT_NO_THROW( wolf::save( filename, nb_ ) ); - wolf::ProcessorOdom3DParams nb_load; + wolf::ProcessorParamsOdom3D nb_load; ASSERT_NO_THROW( wolf::load( filename, nb_load ) ); @@ -153,7 +153,7 @@ TEST_F(WolfTestCerealSerializationProcessorOdom3DParams, { wolf::ProcessorParamsBasePtr nb = - std::make_shared<wolf::ProcessorOdom3DParams>(nb_); + std::make_shared<wolf::ProcessorParamsOdom3D>(nb_); ASSERT_NO_THROW( wolf::save( filename, nb ) ); } @@ -164,7 +164,7 @@ TEST_F(WolfTestCerealSerializationProcessorOdom3DParams, ASSERT_NO_THROW( wolf::load( filename, nb ) ); wolf::ProcessorOdom3DParamsPtr nb_cast = - std::dynamic_pointer_cast<wolf::ProcessorOdom3DParams>(nb); + std::dynamic_pointer_cast<wolf::ProcessorParamsOdom3D>(nb); ASSERT_TRUE(nb_cast != nullptr); @@ -188,7 +188,7 @@ TEST_F(WolfTestCerealSerializationProcessorOdom3DParams, ASSERT_NO_THROW( wolf::save( filename, nb_ ) ); - wolf::ProcessorOdom3DParams nb_load; + wolf::ProcessorParamsOdom3D nb_load; ASSERT_NO_THROW( wolf::load( filename, nb_load ) ); @@ -211,7 +211,7 @@ TEST_F(WolfTestCerealSerializationProcessorOdom3DParams, { wolf::ProcessorParamsBasePtr nb = - std::make_shared<wolf::ProcessorOdom3DParams>(nb_); + std::make_shared<wolf::ProcessorParamsOdom3D>(nb_); ASSERT_NO_THROW( wolf::save( filename, nb ) ); } @@ -222,7 +222,7 @@ TEST_F(WolfTestCerealSerializationProcessorOdom3DParams, ASSERT_NO_THROW( wolf::load( filename, nb ) ); wolf::ProcessorOdom3DParamsPtr nb_cast = - std::dynamic_pointer_cast<wolf::ProcessorOdom3DParams>(nb); + std::dynamic_pointer_cast<wolf::ProcessorParamsOdom3D>(nb); ASSERT_TRUE(nb_cast != nullptr); diff --git a/src/yaml/processor_odom_3D_yaml.cpp b/src/yaml/processor_odom_3D_yaml.cpp index a8fbce599..450fec00b 100644 --- a/src/yaml/processor_odom_3D_yaml.cpp +++ b/src/yaml/processor_odom_3D_yaml.cpp @@ -34,7 +34,7 @@ static ProcessorParamsBasePtr createProcessorOdom3DParams(const std::string & _f YAML::Node kf_vote = config["keyframe vote"]; - ProcessorOdom3DParamsPtr params = std::make_shared<ProcessorOdom3DParams>(); + ProcessorParamsOdom3DPtr params = std::make_shared<ProcessorParamsOdom3D>(); params->type = processor_type; params->name = processor_name; -- GitLab