Program Listing for File OfflineDatasetSource.h

Return to documentation for file (include/mola_kernel/interfaces/OfflineDatasetSource.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 <mrpt/obs/CSensoryFrame.h>
#include <mrpt/poses/CPose3DInterpolator.h>

#include <cstdlib>
#include <memory>

namespace mola
{
using trajectory_t = mrpt::poses::CPose3DInterpolator;

class OfflineDatasetSource
{
   public:
    OfflineDatasetSource()          = default;
    virtual ~OfflineDatasetSource() = default;

    virtual size_t datasetSize() const = 0;

    virtual mrpt::obs::CSensoryFrame::Ptr datasetGetObservations(
        size_t timestep) const = 0;

    virtual bool hasGroundTruthTrajectory() const { return false; }

    virtual trajectory_t getGroundTruthTrajectory() const { return {}; }

};

}  // namespace mola