Skip to content
Snippets Groups Projects
Commit 4b75206e authored by Joan Vallvé Navarro's avatar Joan Vallvé Navarro
Browse files

trajectory function working with const iterators

parent 89bea1fe
No related branches found
No related tags found
1 merge request!300Resolve "Robust remove() API"
...@@ -215,8 +215,9 @@ struct MatrixSizeCheck ...@@ -215,8 +215,9 @@ struct MatrixSizeCheck
#define WOLF_LIST_TYPEDEFS(ClassName) \ #define WOLF_LIST_TYPEDEFS(ClassName) \
class ClassName; \ class ClassName; \
typedef std::list<ClassName##Ptr> ClassName##PtrList; \ typedef std::list<ClassName##Ptr> ClassName##PtrList; \
typedef ClassName##PtrList::iterator ClassName##Iter; \ typedef ClassName##PtrList::iterator ClassName##Iter; \
typedef ClassName##PtrList::const_iterator ClassName##ConstIter; \
typedef ClassName##PtrList::reverse_iterator ClassName##RevIter; typedef ClassName##PtrList::reverse_iterator ClassName##RevIter;
#define WOLF_STRUCT_PTR_TYPEDEFS(StructName) \ #define WOLF_STRUCT_PTR_TYPEDEFS(StructName) \
......
...@@ -56,8 +56,8 @@ class TrajectoryBase : public NodeBase, public std::enable_shared_from_this<Traj ...@@ -56,8 +56,8 @@ class TrajectoryBase : public NodeBase, public std::enable_shared_from_this<Traj
void getFactorList(FactorBasePtrList & _fac_list); void getFactorList(FactorBasePtrList & _fac_list);
protected: protected:
FrameBaseIter computeFrameOrder(FrameBasePtr _frame_ptr); FrameBaseConstIter computeFrameOrder(FrameBasePtr _frame_ptr);
void moveFrame(FrameBasePtr _frm_ptr, FrameBaseIter _place); void moveFrame(FrameBasePtr _frm_ptr, FrameBaseConstIter _place);
}; };
inline const FrameBasePtrList& TrajectoryBase::getFrameList() const inline const FrameBasePtrList& TrajectoryBase::getFrameList() const
......
...@@ -55,7 +55,7 @@ void TrajectoryBase::sortFrame(FrameBasePtr _frame_ptr) ...@@ -55,7 +55,7 @@ void TrajectoryBase::sortFrame(FrameBasePtr _frame_ptr)
moveFrame(_frame_ptr, computeFrameOrder(_frame_ptr)); moveFrame(_frame_ptr, computeFrameOrder(_frame_ptr));
} }
void TrajectoryBase::moveFrame(FrameBasePtr _frm_ptr, FrameBaseIter _place) void TrajectoryBase::moveFrame(FrameBasePtr _frm_ptr, FrameBaseConstIter _place)
{ {
if (*_place != _frm_ptr) if (*_place != _frm_ptr)
{ {
...@@ -65,7 +65,7 @@ void TrajectoryBase::moveFrame(FrameBasePtr _frm_ptr, FrameBaseIter _place) ...@@ -65,7 +65,7 @@ void TrajectoryBase::moveFrame(FrameBasePtr _frm_ptr, FrameBaseIter _place)
} }
} }
FrameBaseIter TrajectoryBase::computeFrameOrder(FrameBasePtr _frame_ptr) FrameBaseConstIter TrajectoryBase::computeFrameOrder(FrameBasePtr _frame_ptr)
{ {
for (auto frm_rit = getFrameList().rbegin(); frm_rit != getFrameList().rend(); frm_rit++) for (auto frm_rit = getFrameList().rbegin(); frm_rit != getFrameList().rend(); frm_rit++)
if ((*frm_rit)!= _frame_ptr && (*frm_rit)->isKeyOrAux() && (*frm_rit)->getTimeStamp() <= _frame_ptr->getTimeStamp()) if ((*frm_rit)!= _frame_ptr && (*frm_rit)->isKeyOrAux() && (*frm_rit)->getTimeStamp() <= _frame_ptr->getTimeStamp())
......
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