diff --git a/src/processor_base.cpp b/src/processor_base.cpp index 9d92a285fdaf25d2f7d8f65124c85f09989b0c01..2b7e9144d15578ff4ff01131b1f042d16b3afb77 100644 --- a/src/processor_base.cpp +++ b/src/processor_base.cpp @@ -105,12 +105,12 @@ KFPackPtr KFPackBuffer::selectPack(const TimeStamp& _time_stamp, const Scalar& _ bool prev_ok = checkTimeTolerance(prev->first, prev->second->time_tolerance, _time_stamp, _time_tolerance); - if (!prev_ok && post_ok) - return post->second; - - else if (prev_ok && !post_ok) + if (prev_ok && !post_ok) return prev->second; + else if (!prev_ok && post_ok) + return post->second; + else if (prev_ok && post_ok) { if (std::fabs(post->first - _time_stamp) < std::fabs(prev->first - _time_stamp)) diff --git a/src/test/gtest_processor_base.cpp b/src/test/gtest_processor_base.cpp index 2aead7e4a3dbca54ae79e51567ac85c33202d0df..fcf02371075ee99a261ff43c71dad3dbe6bf1401 100644 --- a/src/test/gtest_processor_base.cpp +++ b/src/test/gtest_processor_base.cpp @@ -242,6 +242,8 @@ TEST(ProcessorBase, KeyFrameCallback) // Track proc_tracker->process(make_shared<CaptureVoid>(t, sen_tracker)); + problem->print(4,0,0,0); + // Only odom creating KFs ASSERT_TRUE( problem->getLastKeyFramePtr()->getType().compare("PO 2D")==0 );