diff --git a/src/processor/processor_gnss_fix.cpp b/src/processor/processor_gnss_fix.cpp index 5e21843f4a88bbef865b8739deec5111cd12dcd5..65e1d39faca09e52137949cb13c2cbda7781c89c 100644 --- a/src/processor/processor_gnss_fix.cpp +++ b/src/processor/processor_gnss_fix.cpp @@ -118,6 +118,7 @@ void ProcessorGnssFix::emplaceFactor(FeatureBasePtr& ftr_ptr) // ADD CONSTRAINT -------------------- //WOLF_DEBUG("adding the factor..."); + new_fac_ptr->link(ftr_ptr); } bool ProcessorGnssFix::rejectOutlier(FactorBasePtr fac_ptr) @@ -171,9 +172,9 @@ void ProcessorGnssFix::configure(SensorBasePtr _sensor) ProcessorBasePtr ProcessorGnssFix::create(const std::string& _unique_name, const ProcessorParamsBasePtr _params, const SensorBasePtr sensor_ptr) { // ProcessorGnssFixPtr prc_ptr = std::make_shared<ProcessorGnssFix>(std::static_pointer_cast<ProcessorParamsGnssFix>(_params), std::static_pointer_cast<SensorGnss>(sensor_ptr)); - ProcessorGnssFixPtr prc_ptr = std::static_pointer_cast<ProcessorGnssFix>(ProcessorBase::emplace<ProcessorParamsGnssFix>(sensor_ptr, - std::static_pointer_cast<ProcessorParamsGnssFix>(_params), - std::static_pointer_cast<SensorGnss>(sensor_ptr))); + ProcessorGnssFixPtr prc_ptr = std::static_pointer_cast<ProcessorGnssFix>(ProcessorBase::emplace<ProcessorGnssFix>(sensor_ptr, + std::static_pointer_cast<ProcessorParamsGnssFix>(_params), + std::static_pointer_cast<SensorGnss>(sensor_ptr))); prc_ptr->setName(_unique_name); return prc_ptr; } diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 923632d408e92c88c5ee7234287a34753b1b7251..726d98fd473241aae6f00b78e2805d252e37a178 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -9,14 +9,14 @@ include_directories(${GTEST_INCLUDE_DIRS}) # # # Create a specific test executable for gtest_example # wolf_add_gtest(gtest_example gtest_example.cpp) # -target_link_libraries(gtest_example ${PROJECT_NAME}) # +target_link_libraries(gtest_example ${PLUGIN_NAME}) # # # ########################################################### # FactorGnssFix2D test wolf_add_gtest(gtest_factor_gnss_fix_2D gtest_factor_gnss_fix_2D.cpp) -target_link_libraries(gtest_factor_gnss_fix_2D ${PROJECT_NAME} ${wolf_LIBRARY}) +target_link_libraries(gtest_factor_gnss_fix_2D ${PLUGIN_NAME} ${wolf_LIBRARY}) # FactorGnssSingleDiff2D test wolf_add_gtest(gtest_factor_gnss_single_diff_2D gtest_factor_gnss_single_diff_2D.cpp) -target_link_libraries(gtest_factor_gnss_single_diff_2D ${PROJECT_NAME} ${wolf_LIBRARY}) \ No newline at end of file +target_link_libraries(gtest_factor_gnss_single_diff_2D ${PLUGIN_NAME} ${wolf_LIBRARY}) \ No newline at end of file diff --git a/test/gtest_factor_gnss_fix_2D.cpp b/test/gtest_factor_gnss_fix_2D.cpp index 988ed119d7af519118f9fac6fc306c4ea39eee05..be4ec3719e10def890ebeb5b09311eaaded7080e 100644 --- a/test/gtest_factor_gnss_fix_2D.cpp +++ b/test/gtest_factor_gnss_fix_2D.cpp @@ -117,7 +117,8 @@ TEST(FactorGnssFix2DTest, configure_tree) problem_ptr->keyFrameCallback(frame_ptr, nullptr, 1.0); // Create & process GNSS Fix capture - CaptureGnssFixPtr cap_gnss_ptr = std::make_shared<CaptureGnssFix>(TimeStamp(0), gnss_sensor_ptr, t_ecef_antena, 1e-3*Matrix3s::Identity()); + // CaptureGnssFixPtr cap_gnss_ptr = std::make_shared<CaptureGnssFix>(TimeStamp(0), gnss_sensor_ptr, t_ecef_antena, 1e-3*Matrix3s::Identity()); + CaptureGnssFixPtr cap_gnss_ptr = std::static_pointer_cast<CaptureGnssFix>(CaptureBase::emplace<CaptureGnssFix>(frame_ptr, TimeStamp(0), gnss_sensor_ptr, t_ecef_antena, 1e-3*Matrix3s::Identity())); gnss_sensor_ptr->process(cap_gnss_ptr); // Checks diff --git a/test/gtest_factor_gnss_single_diff_2D.cpp b/test/gtest_factor_gnss_single_diff_2D.cpp index cabc1f8cb9a3c76a5859b4ff6a31a977fb157cd7..17ee0fc5afae2f63e4aeb081f2f629bcfd6f5c4d 100644 --- a/test/gtest_factor_gnss_single_diff_2D.cpp +++ b/test/gtest_factor_gnss_single_diff_2D.cpp @@ -132,7 +132,9 @@ TEST_F(FactorGnssSingleDiff2DTest, check_tree) TEST_F(FactorGnssSingleDiff2DTest, gnss_1_map_base_position) { // Create GNSS Fix capture - CaptureGnssSingleDiffPtr cap_gnss_ptr = std::make_shared<CaptureGnssSingleDiff>(TimeStamp(1), gnss_sensor_ptr, t_ecef_antena2-t_ecef_antena1, 1e-6*Matrix3s::Identity(), prior_frame_ptr); + // CaptureGnssSingleDiffPtr cap_gnss_ptr = std::make_shared<CaptureGnssSingleDiff>(TimeStamp(1), gnss_sensor_ptr, t_ecef_antena2-t_ecef_antena1, 1e-6*Matrix3s::Identity(), prior_frame_ptr); + CaptureGnssSingleDiffPtr cap_gnss_ptr = std::static_pointer_cast<CaptureGnssSingleDiff>(CaptureBase::emplace<CaptureGnssSingleDiff>(prior_frame_ptr, TimeStamp(1), gnss_sensor_ptr, t_ecef_antena2-t_ecef_antena1, 1e-6*Matrix3s::Identity(), prior_frame_ptr)); + gnss_sensor_ptr->process(cap_gnss_ptr); // fixing things @@ -166,7 +168,8 @@ TEST_F(FactorGnssSingleDiff2DTest, gnss_1_map_base_position) TEST_F(FactorGnssSingleDiff2DTest, gnss_1_map_base_orientation) { // Create GNSS Fix capture - CaptureGnssSingleDiffPtr cap_gnss_ptr = std::make_shared<CaptureGnssSingleDiff>(TimeStamp(1), gnss_sensor_ptr, t_ecef_antena2-t_ecef_antena1, 1e-6*Matrix3s::Identity(), prior_frame_ptr); + // CaptureGnssSingleDiffPtr cap_gnss_ptr = std::make_shared<CaptureGnssSingleDiff>(TimeStamp(1), gnss_sensor_ptr, t_ecef_antena2-t_ecef_antena1, 1e-6*Matrix3s::Identity(), prior_frame_ptr); + CaptureGnssSingleDiffPtr cap_gnss_ptr = std::static_pointer_cast<CaptureGnssSingleDiff>(CaptureBase::emplace<CaptureGnssSingleDiff>(prior_frame_ptr, TimeStamp(1), gnss_sensor_ptr, t_ecef_antena2-t_ecef_antena1, 1e-6*Matrix3s::Identity(), prior_frame_ptr)); gnss_sensor_ptr->process(cap_gnss_ptr); // fixing things @@ -196,7 +199,8 @@ TEST_F(FactorGnssSingleDiff2DTest, gnss_1_map_base_orientation) TEST_F(FactorGnssSingleDiff2DTest, gnss_1_enu_map_yaw) { // Create GNSS Fix capture - CaptureGnssSingleDiffPtr cap_gnss_ptr = std::make_shared<CaptureGnssSingleDiff>(TimeStamp(1), gnss_sensor_ptr, t_ecef_antena2-t_ecef_antena1, 1e-6*Matrix3s::Identity(), prior_frame_ptr); + // CaptureGnssSingleDiffPtr cap_gnss_ptr = std::make_shared<CaptureGnssSingleDiff>(TimeStamp(1), gnss_sensor_ptr, t_ecef_antena2-t_ecef_antena1, 1e-6*Matrix3s::Identity(), prior_frame_ptr); + CaptureGnssSingleDiffPtr cap_gnss_ptr = std::static_pointer_cast<CaptureGnssSingleDiff>(CaptureBase::emplace<CaptureGnssSingleDiff>(prior_frame_ptr, TimeStamp(1), gnss_sensor_ptr, t_ecef_antena2-t_ecef_antena1, 1e-6*Matrix3s::Identity(), prior_frame_ptr)); gnss_sensor_ptr->process(cap_gnss_ptr); // unfixing things @@ -228,7 +232,8 @@ TEST_F(FactorGnssSingleDiff2DTest, gnss_1_enu_map_yaw) TEST_F(FactorGnssSingleDiff2DTest, gnss_1_base_antena) { // Create GNSS Fix capture - CaptureGnssSingleDiffPtr cap_gnss_ptr = std::make_shared<CaptureGnssSingleDiff>(TimeStamp(1), gnss_sensor_ptr, t_ecef_antena2-t_ecef_antena1, 1e-6*Matrix3s::Identity(), prior_frame_ptr); + // CaptureGnssSingleDiffPtr cap_gnss_ptr = std::make_shared<CaptureGnssSingleDiff>(TimeStamp(1), gnss_sensor_ptr, t_ecef_antena2-t_ecef_antena1, 1e-6*Matrix3s::Identity(), prior_frame_ptr); + CaptureGnssSingleDiffPtr cap_gnss_ptr = std::static_pointer_cast<CaptureGnssSingleDiff>(CaptureBase::emplace<CaptureGnssSingleDiff>(prior_frame_ptr, TimeStamp(1), gnss_sensor_ptr, t_ecef_antena2-t_ecef_antena1, 1e-6*Matrix3s::Identity(), prior_frame_ptr)); gnss_sensor_ptr->process(cap_gnss_ptr); // unfixing things