diff --git a/include/core/processor/processor_tracker.h b/include/core/processor/processor_tracker.h index f03ed4ea4d5e2ae46864479e65ad19c7d16aa9a9..d93c9baa367b8ba65374a4b64d21bab194ce1d2a 100644 --- a/include/core/processor/processor_tracker.h +++ b/include/core/processor/processor_tracker.h @@ -138,9 +138,12 @@ class ProcessorTracker : public ProcessorBase StateStructure getStateStructure() const; - virtual CaptureBasePtr getOrigin() const; - virtual CaptureBasePtr getLast() const; - virtual CaptureBasePtr getIncoming() const; + virtual CaptureBaseConstPtr getOrigin() const; + virtual CaptureBasePtr getOrigin(); + virtual CaptureBaseConstPtr getLast() const; + virtual CaptureBasePtr getLast(); + virtual CaptureBaseConstPtr getIncoming() const; + virtual CaptureBasePtr getIncoming(); protected: /** \brief process an incoming capture @@ -261,7 +264,8 @@ class ProcessorTracker : public ProcessorBase public: - FeatureBasePtrList& getNewFeaturesListLast(); + FeatureBaseConstPtrList getNewFeaturesListLast() const; + FeatureBasePtrList getNewFeaturesListLast(); std::string print() const { return this->params_tracker_->print(); @@ -286,7 +290,15 @@ class ProcessorTracker : public ProcessorBase }; -inline FeatureBasePtrList& ProcessorTracker::getNewFeaturesListLast() +inline FeatureBaseConstPtrList ProcessorTracker::getNewFeaturesListLast() const +{ + FeatureBaseConstPtrList list_const; + for (auto&& obj_ptr : new_features_last_) + list_const.push_back(obj_ptr); + return list_const; +} + +inline FeatureBasePtrList ProcessorTracker::getNewFeaturesListLast() { return new_features_last_; } @@ -311,17 +323,32 @@ inline void ProcessorTracker::addNewFeatureIncoming(FeatureBasePtr _feature_ptr) new_features_incoming_.push_back(_feature_ptr); } -inline CaptureBasePtr ProcessorTracker::getOrigin() const +inline CaptureBaseConstPtr ProcessorTracker::getOrigin() const +{ + return origin_ptr_; +} + +inline CaptureBasePtr ProcessorTracker::getOrigin() { return origin_ptr_; } -inline CaptureBasePtr ProcessorTracker::getLast() const +inline CaptureBaseConstPtr ProcessorTracker::getLast() const { return last_ptr_; } -inline CaptureBasePtr ProcessorTracker::getIncoming() const +inline CaptureBasePtr ProcessorTracker::getLast() +{ + return last_ptr_; +} + +inline CaptureBaseConstPtr ProcessorTracker::getIncoming() const +{ + return incoming_ptr_; +} + +inline CaptureBasePtr ProcessorTracker::getIncoming() { return incoming_ptr_; }