class mola::BackEndBase

Overview

Virtual interface for SLAM back-ends. More…

#include <BackEndBase.h>

class BackEndBase: public mola::ExecutableBase
{
public:
    // structs

    struct AddFactor_Output;
    struct AdvertiseUpdatedLocalization_Input;
    struct ProposeKF_Input;
    struct ProposeKF_Output;

    // methods

    virtual ProposeKF_Output doAddKeyFrame(const ProposeKF_Input& i) = 0;
    virtual AddFactor_Output doAddFactor(Factor& f) = 0;
    virtual void doAdvertiseUpdatedLocalization(const AdvertiseUpdatedLocalization_Input& l) = 0;
    virtual void initialize(const Yaml& cfg);
    virtual void onQuit();
};

// direct descendants

class ASLAM_gtsam;
class RSLAM_gtsam;

Detailed Documentation

Virtual interface for SLAM back-ends. All calls to onXXX() methods are enqueued and executed in a separate thread.

Methods

virtual void initialize(const Yaml& cfg)

This should be reimplemented to read all the required parameters

virtual void onQuit()

Called while destroying the SLAM system. A perfect placeholder for saving data to filesystem, clean up, etc. before any module destructor has been actually beeing invoked.