Skip to content
Snippets Groups Projects
Commit 5261b666 authored by Joan Solà Ortega's avatar Joan Solà Ortega
Browse files

Add T::findLastKeyFramePtr()

parent 094a586e
No related branches found
No related tags found
No related merge requests found
......@@ -13,7 +13,7 @@ TrajectoryBase::TrajectoryBase(FrameStructure _frame_structure) :
TrajectoryBase::~TrajectoryBase()
{
// WOLF_DEBUG("destructed -T");
//
}
FrameBasePtr TrajectoryBase::addFrame(FrameBasePtr _frame_ptr)
......@@ -32,7 +32,6 @@ FrameBasePtr TrajectoryBase::addFrame(FrameBasePtr _frame_ptr)
}
else
{
// addFrame(_frame_ptr);
frame_list_.push_back(_frame_ptr);
}
......@@ -59,6 +58,19 @@ FrameBaseIter TrajectoryBase::computeFrameOrder(FrameBasePtr _frame_ptr)
return getFrameList().begin();
}
FrameBasePtr TrajectoryBase::findLastKeyFramePtr()
{
// NOTE: Assumes keyframes are sorted by timestamp
FrameBasePtr last_kfrm = nullptr;
for (auto frm_rit = frame_list_.rbegin(); frm_rit != frame_list_.rend(); ++frm_rit)
if ((*frm_rit)->isKey())// && (*frm_rit)->getTimeStamp() > last_ts)
{
last_kfrm = (*frm_rit);
break;
}
return last_kfrm;
}
FrameBasePtr TrajectoryBase::closestKeyFrameToTimeStamp(const TimeStamp& _ts)
{
FrameBasePtr closest_kf = nullptr;
......
......@@ -40,6 +40,7 @@ class TrajectoryBase : public NodeBase, public std::enable_shared_from_this<Traj
FrameBaseList& getFrameList();
FrameBasePtr getLastFramePtr();
FrameBasePtr getLastKeyFramePtr();
FrameBasePtr findLastKeyFramePtr();
FrameBasePtr closestKeyFrameToTimeStamp(const TimeStamp& _ts);
void setLastKeyFramePtr(FrameBasePtr _key_frame_ptr);
void sortFrame(FrameBasePtr _frm_ptr);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment