diff --git a/include/core/common/wolf.h b/include/core/common/wolf.h index 09a6c11b1cd0cd685fdb6db40ea0c3ad64a20142..210d7d84cf790a8dfae68155d231772f3d5a5b85 100644 --- a/include/core/common/wolf.h +++ b/include/core/common/wolf.h @@ -215,8 +215,9 @@ struct MatrixSizeCheck #define WOLF_LIST_TYPEDEFS(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::const_iterator ClassName##ConstIter; \ typedef ClassName##PtrList::reverse_iterator ClassName##RevIter; #define WOLF_STRUCT_PTR_TYPEDEFS(StructName) \ diff --git a/include/core/trajectory/trajectory_base.h b/include/core/trajectory/trajectory_base.h index 590a423d37d98f2bc8c8a284f745628b67ef9d26..0645be841b4dd9c68cc2a6f557146101f199b26e 100644 --- a/include/core/trajectory/trajectory_base.h +++ b/include/core/trajectory/trajectory_base.h @@ -56,8 +56,8 @@ class TrajectoryBase : public NodeBase, public std::enable_shared_from_this<Traj void getFactorList(FactorBasePtrList & _fac_list); protected: - FrameBaseIter computeFrameOrder(FrameBasePtr _frame_ptr); - void moveFrame(FrameBasePtr _frm_ptr, FrameBaseIter _place); + FrameBaseConstIter computeFrameOrder(FrameBasePtr _frame_ptr); + void moveFrame(FrameBasePtr _frm_ptr, FrameBaseConstIter _place); }; inline const FrameBasePtrList& TrajectoryBase::getFrameList() const diff --git a/src/trajectory/trajectory_base.cpp b/src/trajectory/trajectory_base.cpp index 34921e3f468a0e4960f4b305978eb33ba01109f4..35a1f9997e7ab5bffa8f4dbf4f8ac7c44415b66b 100644 --- a/src/trajectory/trajectory_base.cpp +++ b/src/trajectory/trajectory_base.cpp @@ -55,7 +55,7 @@ void TrajectoryBase::sortFrame(FrameBasePtr _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) { @@ -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++) if ((*frm_rit)!= _frame_ptr && (*frm_rit)->isKeyOrAux() && (*frm_rit)->getTimeStamp() <= _frame_ptr->getTimeStamp())