diff --git a/include/core/frame/frame_base.h b/include/core/frame/frame_base.h index 731bf8db56b1023a2d5400f3375cdd654f0bc282..ec6b987af5bbe23e05799566e80c1e2fcf51e5c7 100644 --- a/include/core/frame/frame_base.h +++ b/include/core/frame/frame_base.h @@ -126,8 +126,6 @@ class FrameBase : public NodeBase, public HasStateBlocks, public std::enable_sha void link(TrajectoryBasePtr); template<typename classType, typename... T> static std::shared_ptr<classType> emplaceFrame(TrajectoryBasePtr _ptr, T&&... all); - template<typename classType, typename... T> - static std::shared_ptr<classType> createNonKeyFrame(T&&... all); virtual void printHeader(int depth, // bool constr_by, // @@ -175,13 +173,6 @@ std::shared_ptr<classType> FrameBase::emplaceFrame(TrajectoryBasePtr _ptr, T&&.. return frm; } -template<typename classType, typename... T> -std::shared_ptr<classType> FrameBase::createNonKeyFrame(T&&... all) -{ - std::shared_ptr<classType> frm = std::make_shared<classType>(std::forward<T>(all)...); - return frm; -} - inline unsigned int FrameBase::id() const { return frame_id_; diff --git a/src/processor/processor_motion.cpp b/src/processor/processor_motion.cpp index c559334e25ae87a91f4993e5c527185de17b7204..70ffce8ac80117de1766bca16e53c6137a01ca0d 100644 --- a/src/processor/processor_motion.cpp +++ b/src/processor/processor_motion.cpp @@ -432,9 +432,9 @@ void ProcessorMotion::processCapture(CaptureBasePtr _incoming_ptr) auto factor = emplaceFactor(key_feature, origin_ptr_); // create a new frame - auto frame_new = FrameBase::createNonKeyFrame<FrameBase>(getTimeStamp(), - getStateStructure(), - getProblem()->getState()); + auto frame_new = std::make_shared<FrameBase>(getTimeStamp(), + getStateStructure(), + getProblem()->getState()); // create a new capture auto capture_new = emplaceCapture(frame_new, getSensor(), @@ -692,9 +692,9 @@ void ProcessorMotion::setOrigin(FrameBasePtr _origin_frame) // ---------- LAST ---------- // Make non-key-frame for last Capture - last_frame_ptr_ = FrameBase::createNonKeyFrame<FrameBase>(origin_ts, - getStateStructure(), - _origin_frame->getState()); + last_frame_ptr_ = std::make_shared<FrameBase>(origin_ts, + getStateStructure(), + _origin_frame->getState()); // emplace (emtpy) last Capture last_ptr_ = emplaceCapture(last_frame_ptr_, diff --git a/src/processor/processor_tracker.cpp b/src/processor/processor_tracker.cpp index 9f9034eaca9f348bcc0f59527e9e7563ee26655b..9dca45d7dd210fb952ce257818e1b0ed86b87cf5 100644 --- a/src/processor/processor_tracker.cpp +++ b/src/processor/processor_tracker.cpp @@ -114,9 +114,9 @@ void ProcessorTracker::processCapture(CaptureBasePtr _incoming_ptr) { WOLF_DEBUG( "PT ", getName(), " SECOND_TIME_WITHOUT_PACK" ); - FrameBasePtr frm = FrameBase::createNonKeyFrame<FrameBase>(incoming_ptr_->getTimeStamp(), - getProblem()->getFrameStructure(), - getProblem()->getState()); + FrameBasePtr frm = std::make_shared<FrameBase>(incoming_ptr_->getTimeStamp(), + getProblem()->getFrameStructure(), + getProblem()->getState()); incoming_ptr_->link(frm); // We have a last_ Capture with no features, so we do not process known features, and we do not vote for KF. diff --git a/test/gtest_track_matrix.cpp b/test/gtest_track_matrix.cpp index 72bf3f7d8ce8124c4005daf4a9a82ba119504d5e..9bb9eec223650a1a07aed3a9566042c8dfc7dbd1 100644 --- a/test/gtest_track_matrix.cpp +++ b/test/gtest_track_matrix.cpp @@ -37,11 +37,11 @@ class TrackMatrixTest : public testing::Test // unlinked frames // Some warnings will be thrown "linking with nullptr" for emplacing without providing frame pointer - F0 = FrameBase::createNonKeyFrame<FrameBase>(0.0, nullptr); - F1 = FrameBase::createNonKeyFrame<FrameBase>(1.0, nullptr); - F2 = FrameBase::createNonKeyFrame<FrameBase>(2.0, nullptr); - F3 = FrameBase::createNonKeyFrame<FrameBase>(3.0, nullptr); - F4 = FrameBase::createNonKeyFrame<FrameBase>(4.0, nullptr); + F0 = std::make_shared<FrameBase>(0.0, nullptr); + F1 = std::make_shared<FrameBase>(1.0, nullptr); + F2 = std::make_shared<FrameBase>(2.0, nullptr); + F3 = std::make_shared<FrameBase>(3.0, nullptr); + F4 = std::make_shared<FrameBase>(4.0, nullptr); // unlinked features // Some warnings will be thrown "linking with nullptr" for emplacing without providing capture pointer diff --git a/test/gtest_trajectory.cpp b/test/gtest_trajectory.cpp index 81f09e4e5ac85da4d9d5a6f25b25582c6727f180..bd05620f6fb13bdaa20a97343c12141f44d60c97 100644 --- a/test/gtest_trajectory.cpp +++ b/test/gtest_trajectory.cpp @@ -35,12 +35,12 @@ TEST(TrajectoryBase, ClosestKeyFrame) FrameBasePtr F1 = P->emplaceFrame( 1, Eigen::Vector3d::Zero() ); FrameBasePtr F2 = P->emplaceFrame( 2, Eigen::Vector3d::Zero() ); // FrameBasePtr F3 = P->emplaceFrame(AUXILIARY, 3, Eigen::Vector3d::Zero() ); - FrameBasePtr F3 = FrameBase::createNonKeyFrame<FrameBase>(3, P->getFrameStructure(), -// P->getDim(), - std::list<VectorXd>({Eigen::Vector2d::Zero(),Eigen::Vector1d::Zero()}) ); - FrameBasePtr F4 = FrameBase::createNonKeyFrame<FrameBase>(4, P->getFrameStructure(), -// P->getDim(), - std::list<VectorXd>({Eigen::Vector2d::Zero(),Eigen::Vector1d::Zero()}) ); + FrameBasePtr F3 = std::make_shared<FrameBase>(3, P->getFrameStructure(), + // P->getDim(), + std::list<VectorXd>({Eigen::Vector2d::Zero(),Eigen::Vector1d::Zero()}) ); + FrameBasePtr F4 = std::make_shared<FrameBase>(4, P->getFrameStructure(), + // P->getDim(), + std::list<VectorXd>({Eigen::Vector2d::Zero(),Eigen::Vector1d::Zero()}) ); FrameBasePtr KF; // closest key-frame queried @@ -94,9 +94,9 @@ TEST(TrajectoryBase, Add_Remove_Frame) std::cout << __LINE__ << std::endl; // add F3 - FrameBasePtr F3 = FrameBase::createNonKeyFrame<FrameBase>(3, P->getFrameStructure(), -// P->getDim(), - std::list<VectorXd>({Eigen::Vector2d::Zero(),Eigen::Vector1d::Zero()})); + FrameBasePtr F3 = std::make_shared<FrameBase>(3, P->getFrameStructure(), + // P->getDim(), + std::list<VectorXd>({Eigen::Vector2d::Zero(),Eigen::Vector1d::Zero()})); if (debug) P->print(2,0,0,0); ASSERT_EQ(T->getFrameMap(). size(), (SizeStd) 2); ASSERT_EQ(P->getStateBlockNotificationMapSize(), (SizeStd) 4);