Program Listing for File FrontEndBase.h
↰ Return to documentation for file (include/mola_kernel/interfaces/FrontEndBase.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/Yaml.h>
#include <mola_kernel/interfaces/BackEndBase.h>
#include <mola_kernel/interfaces/ExecutableBase.h>
#include <mola_kernel/interfaces/RawDataConsumer.h>
#include <mola_kernel/interfaces/VizInterface.h>
namespace mola
{
class FrontEndBase : public ExecutableBase, public RawDataConsumer
{
DEFINE_VIRTUAL_MRPT_OBJECT(FrontEndBase)
public:
FrontEndBase();
virtual ~FrontEndBase() = default;
void initialize(const Yaml& cfg) override final;
protected:
virtual void initialize_frontend(const Yaml& cfg) = 0;
public:
protected:
std::set<std::string> front_end_source_names_;
BackEndBase::Ptr slam_backend_;
WorldModel::Ptr worldmodel_;
VizInterface::Ptr visualizer_;
};
} // namespace mola