diff --git a/include/core/processor/processor_loopclosure.h b/include/core/processor/processor_loopclosure.h index 459b8f3d9a123960be1d7b99b3ca322317726bb7..27be9a079632a3808e16d110754529154b44557a 100644 --- a/include/core/processor/processor_loopclosure.h +++ b/include/core/processor/processor_loopclosure.h @@ -81,6 +81,18 @@ protected: */ virtual bool triggerInKeyFrame(FrameBasePtr _keyframe_ptr, const Scalar& _time_tol_other) override; + /** \brief store key frame + * + * Returns true if the key frame should be stored + */ + virtual bool storeKeyFrame(FrameBasePtr) override; + + /** \brief store capture + * + * Returns true if the capture should be stored + */ + virtual bool storeCapture(CaptureBasePtr) override; + /** \brief Called by process(). Tells if computeFeatures() will be called */ virtual bool voteComputeFeatures() = 0; diff --git a/include/core/processor/processor_tracker.h b/include/core/processor/processor_tracker.h index 3915ba33f8b9899deb99b6436b66a5b5c9ef9f4f..1f196d80d3086ccb532228b917117d91cf2d21d7 100644 --- a/include/core/processor/processor_tracker.h +++ b/include/core/processor/processor_tracker.h @@ -144,6 +144,18 @@ class ProcessorTracker : public ProcessorBase */ virtual bool triggerInKeyFrame(FrameBasePtr _keyframe_ptr, const Scalar& _time_tolerance) override {return false;} + /** \brief store key frame + * + * Returns true if the key frame should be stored + */ + virtual bool storeKeyFrame(FrameBasePtr) override; + + /** \brief store capture + * + * Returns true if the capture should be stored + */ + virtual bool storeCapture(CaptureBasePtr) override; + /** Pre-process incoming Capture * * This is called by process() just after assigning incoming_ptr_ to a valid Capture. diff --git a/src/processor/processor_loopclosure.cpp b/src/processor/processor_loopclosure.cpp index 8448d1913bd6cee2e5b76aa23aa4aa2fbc22c008..dcc5dcba850e4c5adb6e723f44129a0c90db1d45 100644 --- a/src/processor/processor_loopclosure.cpp +++ b/src/processor/processor_loopclosure.cpp @@ -75,6 +75,14 @@ bool ProcessorLoopClosure::triggerInKeyFrame(FrameBasePtr _keyframe_ptr, const S { return true; } +bool ProcessorLoopClosure::storeKeyFrame(FrameBasePtr _frame_ptr) +{ + return true; +} +bool ProcessorLoopClosure::storeCapture(CaptureBasePtr _cap_ptr) +{ + return true; +} /** * In the default implementation, we select the KF with the most recent TimeStamp diff --git a/src/processor/processor_tracker.cpp b/src/processor/processor_tracker.cpp index 988b8066864fb03c9fab5a3dc9e21869000dfd25..3ba093912316b7f9c087d13186fad098ba80dad5 100644 --- a/src/processor/processor_tracker.cpp +++ b/src/processor/processor_tracker.cpp @@ -296,10 +296,18 @@ void ProcessorTracker::computeProcessingStep() } } -bool ProcessorTracker::triggerInCapture(CaptureBasePtr) +bool ProcessorTracker::triggerInCapture(CaptureBasePtr _cap_ptr) { return true; } +bool ProcessorTracker::storeKeyFrame(FrameBasePtr _frame_ptr) +{ + return true; +} +bool ProcessorTracker::storeCapture(CaptureBasePtr _cap_ptr) +{ + return false; +} } // namespace wolf