Program Listing for File FilterBase.h
↰ Return to documentation for file (include/mola_kernel/interfaces/FilterBase.h
)
/* -------------------------------------------------------------------------
* A Modular Optimization framework for Localization and mApping (MOLA)
* Copyright (C) 2018-2024 Jose Luis Blanco, University of Almeria
* See LICENSE for license information.
* ------------------------------------------------------------------------- */
#pragma once
#include <mola_kernel/interfaces/RawDataConsumer.h>
#include <mola_kernel/interfaces/RawDataSourceBase.h>
#include <mrpt/core/WorkerThreadsPool.h>
#include <mrpt/system/COutputLogger.h>
namespace mola
{
class FilterBase : public RawDataSourceBase, RawDataConsumer
{
DEFINE_VIRTUAL_MRPT_OBJECT(FilterBase)
public:
FilterBase();
virtual CObservation::Ptr doFilter(const CObservation::Ptr& o) = 0;
void spinOnce() override;
// Virtual interface of any RawDataConsumer
void onNewObservation(const CObservation::Ptr& o) override;
protected:
// Virtual interface of any RawDataSource
void initialize_rds(const Yaml& cfg) override;
private:
mrpt::WorkerThreadsPool thread_pool_;
};
} // namespace mola