class mrpt::apps::CRawlogProcessor

Overview

A virtual class that implements the common stuff around parsing a rawlog file and (optionally) display a progress indicator to the console.

#include <mrpt/apps_cli/CRawlogProcessor.h>

class CRawlogProcessor
{
public:
    // fields

    uint64_t m_physicalFileSize = 0;
    size_t m_rawlogEntry = 0;
    double m_timToParse;
    uint64_t m_filSize;

    // construction

    CRawlogProcessor(
        mrpt::io::CCompressedInputStream& _in_rawlog,
        CLI::App& _cmdline,
        bool _verbose
        );

    CRawlogProcessor(
        mrpt::io::CFileGZInputStream& _in_rawlog,
        CLI::App& _cmdline,
        bool _verbose
        );

    // methods

    void doProcessRawlog();

    virtual bool processOneEntry(
        mrpt::obs::CActionCollection::Ptr& actions,
        mrpt::obs::CSensoryFrame::Ptr& SF,
        mrpt::obs::CObservation::Ptr& obs
        ) = 0;

    virtual void OnPostProcess(
        ] mrpt::obs::CActionCollection::Ptr& actions,
        ] mrpt::obs::CSensoryFrame::Ptr& SF,
        ] mrpt::obs::CObservation::Ptr& obs
        );
};

// direct descendants

class CRawlogProcessorOnEachObservation;