From f27ba742bc79bb940ecd041de49fb742459d4764 Mon Sep 17 00:00:00 2001 From: jcasals <jcasals@iri.upc.edu> Date: Thu, 18 Jul 2019 11:47:48 +0200 Subject: [PATCH] Added storeCapture & storeKeyframe --- include/gnss/processor/processor_gnss_fix.h | 14 +++++++++++++- .../gnss/processor/processor_gnss_single_diff.h | 14 +++++++++++++- include/gnss/sensor/sensor_gnss.h | 2 +- src/processor/processor_gnss_fix.cpp | 9 +++++++++ src/processor/processor_gnss_single_diff.cpp | 8 ++++++++ 5 files changed, 44 insertions(+), 3 deletions(-) diff --git a/include/gnss/processor/processor_gnss_fix.h b/include/gnss/processor/processor_gnss_fix.h index fce80394e..66b8f506c 100644 --- a/include/gnss/processor/processor_gnss_fix.h +++ b/include/gnss/processor/processor_gnss_fix.h @@ -21,7 +21,7 @@ struct ProcessorParamsGnssFix : public ProcessorParamsBase Scalar dist_traveled; Scalar enu_map_init_dist_min; ProcessorParamsGnssFix() = default; - ProcessorParamsGnssFix(std::string _unique_name, const paramsServer& _server): + ProcessorParamsGnssFix(std::string _unique_name, const ParamsServer& _server): ProcessorParamsBase(_unique_name, _server) { time_th = _server.getParam<Scalar>(_unique_name + "/time_th"); @@ -77,6 +77,18 @@ class ProcessorGnssFix : 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; + virtual bool voteForKeyFrame() override; private: diff --git a/include/gnss/processor/processor_gnss_single_diff.h b/include/gnss/processor/processor_gnss_single_diff.h index 84f18c30b..137f0b326 100644 --- a/include/gnss/processor/processor_gnss_single_diff.h +++ b/include/gnss/processor/processor_gnss_single_diff.h @@ -21,7 +21,7 @@ struct ProcessorParamsGnssSingleDiff : public ProcessorParamsBase Scalar dist_traveled; Scalar enu_map_init_dist_min; ProcessorParamsGnssSingleDiff() = default; - ProcessorParamsGnssSingleDiff(std::string _unique_name, const paramsServer& _server): + ProcessorParamsGnssSingleDiff(std::string _unique_name, const ParamsServer& _server): ProcessorParamsBase(_unique_name, _server) { time_th = _server.getParam<Scalar>(_unique_name + "/time_th"); @@ -66,6 +66,18 @@ class ProcessorGnssSingleDiff : public ProcessorBase */ virtual void processKeyFrame(FrameBasePtr _keyframe, const Scalar& _time_tolerance) 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 trigger in capture * * Returns true if processCapture() should be called after the provided capture arrived. diff --git a/include/gnss/sensor/sensor_gnss.h b/include/gnss/sensor/sensor_gnss.h index 00d71c8ea..d84c8b19c 100644 --- a/include/gnss/sensor/sensor_gnss.h +++ b/include/gnss/sensor/sensor_gnss.h @@ -21,7 +21,7 @@ struct IntrinsicsGnss : public IntrinsicsBase bool translation_fixed_ = false; virtual ~IntrinsicsGnss() = default; IntrinsicsGnss() = default; - IntrinsicsGnss(std::string _unique_name, const paramsServer& _server): + IntrinsicsGnss(std::string _unique_name, const ParamsServer& _server): IntrinsicsBase(_unique_name, _server) { extrinsics_fixed_ = _server.getParam<bool>(_unique_name + "/extrinsics_fixed"); diff --git a/src/processor/processor_gnss_fix.cpp b/src/processor/processor_gnss_fix.cpp index b4efaea1f..578e0203c 100644 --- a/src/processor/processor_gnss_fix.cpp +++ b/src/processor/processor_gnss_fix.cpp @@ -10,6 +10,7 @@ namespace wolf ProcessorGnssFix::ProcessorGnssFix(ProcessorParamsGnssFixPtr _params_gnss, SensorGnssPtr _sensor_gnss) : ProcessorBase("GNSS FIX", _params_gnss), sensor_gnss_(_sensor_gnss), + params_gnss_(_params_gnss), first_capture_(nullptr) { @@ -155,6 +156,14 @@ bool ProcessorGnssFix::voteForKeyFrame() return false; } +bool ProcessorGnssFix::storeKeyFrame(FrameBasePtr _frame_ptr) +{ + return true; +} +bool ProcessorGnssFix::storeCapture(CaptureBasePtr _cap_ptr) +{ + return false; +} void ProcessorGnssFix::configure(SensorBasePtr _sensor) { sensor_gnss_ = std::static_pointer_cast<SensorGnss>(_sensor); diff --git a/src/processor/processor_gnss_single_diff.cpp b/src/processor/processor_gnss_single_diff.cpp index 2dd0a9179..c2bb47b99 100644 --- a/src/processor/processor_gnss_single_diff.cpp +++ b/src/processor/processor_gnss_single_diff.cpp @@ -129,6 +129,14 @@ bool ProcessorGnssSingleDiff::voteForKeyFrame() return false; } +bool ProcessorGnssSingleDiff::storeKeyFrame(FrameBasePtr _frame_ptr) +{ + return true; +} +bool ProcessorGnssSingleDiff::storeCapture(CaptureBasePtr _cap_ptr) +{ + return false; +} void ProcessorGnssSingleDiff::configure(SensorBasePtr _sensor) { sensor_gnss_ = std::static_pointer_cast<SensorGnss>(_sensor); -- GitLab