diff --git a/include/core/factor/factor_relative_pose_2d_with_extrinsics.h b/include/core/factor/factor_relative_pose_2d_with_extrinsics.h index 54a6acbc8f00b24217168344b4b95302798607b3..54d7b50e007735e04a07352fdfba1a41b87b4cbe 100644 --- a/include/core/factor/factor_relative_pose_2d_with_extrinsics.h +++ b/include/core/factor/factor_relative_pose_2d_with_extrinsics.h @@ -51,20 +51,20 @@ FactorRelativePose2dWithExtrinsics::FactorRelativePose2dWithExtrinsics(const Fea const ProcessorBasePtr& _processor_ptr, bool _apply_loss_function, const FactorTopology& _top, - FactorStatus _status = FAC_ACTIVE) : - FactorAutodiff<FactorRelativePose2dWithExtrinsics, 3, 2, 1, 2, 1, 2, 1>("FactorRelativePose2dWithExtrinsics", - _top, - _ftr_ptr, - _frame_other_ptr, nullptr, nullptr, nullptr, - _processor_ptr, - _apply_loss_function, - _status, - _frame_other_ptr->getP(), - _frame_other_ptr->getO(), - _ftr_ptr->getFrame()->getP(), - _ftr_ptr->getFrame()->getO(), - _ftr_ptr->getCapture()->getSensorP(), - _ftr_ptr->getCapture()->getSensorO()) + FactorStatus _status) : + FactorAutodiff("FactorRelativePose2dWithExtrinsics", + _top, + _ftr_ptr, + _frame_other_ptr, nullptr, nullptr, nullptr, + _processor_ptr, + _apply_loss_function, + _status, + _frame_other_ptr->getP(), + _frame_other_ptr->getO(), + _ftr_ptr->getFrame()->getP(), + _ftr_ptr->getFrame()->getO(), + _ftr_ptr->getCapture()->getSensorP(), + _ftr_ptr->getCapture()->getSensorO()) { assert(_ftr_ptr->getCapture()->getSensorP() != nullptr && "No extrinsics found!"); assert(_ftr_ptr->getCapture()->getSensorO() != nullptr && "No extrinsics found!"); @@ -76,20 +76,20 @@ FactorRelativePose2dWithExtrinsics::FactorRelativePose2dWithExtrinsics(const Fea const ProcessorBasePtr& _processor_ptr, bool _apply_loss_function, const FactorTopology& _top, - FactorStatus _status = FAC_ACTIVE) : - FactorAutodiff<FactorRelativePose2dWithExtrinsics, 3, 2, 1, 2, 1, 2, 1>("FactorRelativePose2dWithExtrinsics", - _top, - _ftr_ptr, - _lmk_other_ptr, nullptr, nullptr, nullptr, - _processor_ptr, - _apply_loss_function, - _status, - _ftr_ptr->getFrame()->getP(), - _ftr_ptr->getFrame()->getO(), - _lmk_other_ptr->getP(), - _lmk_other_ptr->getO(), - _ftr_ptr->getCapture()->getSensorP(), - _ftr_ptr->getCapture()->getSensorO()) + FactorStatus _status) : + FactorAutodiff("FactorRelativePose2dWithExtrinsics", + _top, + _ftr_ptr, + nullptr, nullptr, nullptr, _lmk_other_ptr, + _processor_ptr, + _apply_loss_function, + _status, + _ftr_ptr->getFrame()->getP(), + _ftr_ptr->getFrame()->getO(), + _lmk_other_ptr->getP(), + _lmk_other_ptr->getO(), + _ftr_ptr->getCapture()->getSensorP(), + _ftr_ptr->getCapture()->getSensorO()) { assert(_ftr_ptr->getCapture()->getSensorP() != nullptr && "No extrinsics found!"); assert(_ftr_ptr->getCapture()->getSensorO() != nullptr && "No extrinsics found!"); diff --git a/include/core/factor/factor_relative_pose_3d_with_extrinsics.h b/include/core/factor/factor_relative_pose_3d_with_extrinsics.h index dec430a9547d8c15edd32f06f7ef38f7c86aa89b..5f065f0bae985d849cdd6702ce823ef80bfc31d3 100644 --- a/include/core/factor/factor_relative_pose_3d_with_extrinsics.h +++ b/include/core/factor/factor_relative_pose_3d_with_extrinsics.h @@ -78,7 +78,7 @@ FactorRelativePose3dWithExtrinsics::FactorRelativePose3dWithExtrinsics(const Fea bool _apply_loss_function, const FactorTopology& _top, FactorStatus _status) : - FactorAutodiff("FactorKfLmkPose3dWithExtrinsics", + FactorAutodiff("FactorRelativePose3dWithExtrinsics", _top, _feature_ptr, _frame_other_ptr, @@ -103,7 +103,7 @@ FactorRelativePose3dWithExtrinsics::FactorRelativePose3dWithExtrinsics(const Fea bool _apply_loss_function, const FactorTopology& _top, FactorStatus _status) : - FactorAutodiff("FactorKfLmkPose3dWithExtrinsics", + FactorAutodiff("FactorRelativePose3dWithExtrinsics", _top, _feature_ptr, nullptr, diff --git a/test/gtest_factor_relative_pose_3d_with_extrinsics.cpp b/test/gtest_factor_relative_pose_3d_with_extrinsics.cpp index 84a4e373be68d3d1b6fe35f2f4f3e4d908564e4f..3b57c7b8b71d69e3454fe84a4ca5ca0a5b17076a 100644 --- a/test/gtest_factor_relative_pose_3d_with_extrinsics.cpp +++ b/test/gtest_factor_relative_pose_3d_with_extrinsics.cpp @@ -118,7 +118,7 @@ class FactorRelativePose3dWithExtrinsics_class : public testing::Test{ meas_cov.bottomRightCorner(3,3) *= 1e-3; //emplace feature and landmark - c1 = std::static_pointer_cast<CapturePose>(CaptureBase::emplace<CapturePose>(F1, 0, nullptr, pose_landmark, meas_cov)); + c1 = std::static_pointer_cast<CapturePose>(CaptureBase::emplace<CapturePose>(F1, 0, S, pose_landmark, meas_cov)); f1 = std::static_pointer_cast<FeaturePose>(FeatureBase::emplace<FeaturePose>(c1, pose_landmark, meas_cov)); lmk1 = LandmarkBase::emplace<LandmarkBase>(problem->getMap(), "LandmarkPose", std::make_shared<StateBlock>(pos_landmark), @@ -142,6 +142,8 @@ TEST_F(FactorRelativePose3dWithExtrinsics_class, Constructor) ///////////////////////////////////////////// TEST_F(FactorRelativePose3dWithExtrinsics_class, Check_tree) { + ASSERT_TRUE(problem->check(1)); + auto factor = FactorBase::emplace<FactorRelativePose3dWithExtrinsics>(f1, f1, lmk1,