class mola::FilterBase
Overview
Base class for filters: get observations via onNewObservation()
, and immediately send them to a worker thread that works on it, possibly publishing the output via sendObservationsToFrontEnds()
.
#include <FilterBase.h> class FilterBase: public mola::RawDataSourceBase, private mola::RawDataConsumer { public: // methods virtual CObservation::Ptr doFilter(const CObservation::Ptr& o) = 0; virtual void spinOnce(); virtual void onNewObservation(const CObservation::Ptr& o); };
Inherited Members
public: // structs struct SensorViewerImpl; // methods virtual void initialize(const Yaml& cfg) = 0;
Methods
virtual CObservation::Ptr doFilter(const CObservation::Ptr& o) = 0
To be called for each incoming observation. Process it and return the modified observation.
virtual void spinOnce()
Runs any required action on a timely manner
virtual void onNewObservation(const CObservation::Ptr& o)
To be called whenever a new observation arrives. It should return as fast as possible, enqueuing the data for processing in another thread.