diff --git a/include/core/processor/processor_base.h b/include/core/processor/processor_base.h index 8eb84a854abce694d660b543bd11c0be7e465fb9..602c5dfc6297806597c0877c2626272a815102c2 100644 --- a/include/core/processor/processor_base.h +++ b/include/core/processor/processor_base.h @@ -191,6 +191,7 @@ class ProcessorBase : public NodeBase, public std::enable_shared_from_this<Proce unsigned int processor_id_; ProcessorParamsBasePtr params_; PackKeyFrameBuffer kf_pack_buffer_; + BufferCapture buffer_capture_; private: SensorBaseWPtr sensor_ptr_; @@ -249,6 +250,7 @@ class ProcessorBase : public NodeBase, public std::enable_shared_from_this<Proce FrameBasePtr emplaceFrame(FrameType _type, CaptureBasePtr _capture_ptr, const Eigen::VectorXs& _state); virtual void keyFrameCallback(FrameBasePtr _keyframe_ptr, const Scalar& _time_tol_other); + virtual void captureCallback(CaptureBasePtr _capture_ptr); SensorBasePtr getSensor(); const SensorBasePtr getSensor() const; diff --git a/src/processor/processor_base.cpp b/src/processor/processor_base.cpp index a06dd5e8799706a6fe7e0bb9b2a5409822a68a24..d7c7d8d8f6cfd588d9b03ac9782f2d6ef583cb6b 100644 --- a/src/processor/processor_base.cpp +++ b/src/processor/processor_base.cpp @@ -57,6 +57,13 @@ void ProcessorBase::keyFrameCallback(FrameBasePtr _keyframe_ptr, const Scalar& _ kf_pack_buffer_.add(_keyframe_ptr,_time_tol_other); } +void ProcessorBase::captureCallback(CaptureBasePtr _capture_ptr) +{ + WOLF_DEBUG("P", isMotion() ? "M " : "T ", getName(), ": Capture", _capture_ptr->id(), " callback received with ts = ", _capture_ptr->getTimeStamp()); + if (_capture_ptr != nullptr) + buffer_capture_.add(_capture_ptr, _capture_ptr->getTimeStamp()); +} + void ProcessorBase::remove() { if (!is_removing_)