Program Listing for File InputThread.h¶
↰ Return to documentation for file (lib/App/InputThread.h)
#pragma once
#include "IOWrapper/OutputIOWrapper.h"
#include "util/ThreadMutexObject.h"
#include "SlamSystem.h"
#include "libvideoio/ImageSource.h"
#include "libvideoio/Undistorter.h"
namespace lsd_slam {
class InputThread {
public:
InputThread( std::shared_ptr<lsd_slam::SlamSystem> &system,
std::shared_ptr<libvideoio::ImageSource> &dataSource,
std::shared_ptr<libvideoio::Undistorter> &undistorter );
void setIOOutputWrapper( const std::shared_ptr<lsd_slam::OutputIOWrapper> &out );
// Entry point for boost::thread
void operator()();
std::shared_ptr<lsd_slam::SlamSystem> &system;
std::shared_ptr<libvideoio::ImageSource> dataSource;
std::shared_ptr<libvideoio::Undistorter> undistorter;
ThreadMutexObject<bool> inputDone;
ThreadSynchronizer inputReady;
protected:
std::shared_ptr<lsd_slam::OutputIOWrapper> output;
};
}