14#include "../util/vision/FetchContainers.hpp"
15#include "./AutonomyThread.hpp"
20#include <shared_mutex>
52 const int nPropResolutionY,
53 const int nPropFramesPerSecond,
54 const PIXEL_FORMATS ePropPixelFormat,
55 const double dPropHorizontalFOV,
56 const double dPropVerticalFOV,
57 const bool bEnableRecordingFlag,
58 const int nNumFrameRetrievalThreads = 5)
61 m_nPropResolutionX = nPropResolutionX;
62 m_nPropResolutionY = nPropResolutionY;
63 m_nPropFramesPerSecond = nPropFramesPerSecond;
64 m_ePropPixelFormat = ePropPixelFormat;
65 m_dPropHorizontalFOV = dPropHorizontalFOV;
66 m_dPropVerticalFOV = dPropVerticalFOV;
67 m_bEnableRecordingFlag = bEnableRecordingFlag;
68 m_nNumFrameRetrievalThreads = nNumFrameRetrievalThreads;
165 int m_nPropResolutionX;
166 int m_nPropResolutionY;
167 int m_nPropFramesPerSecond;
168 int m_nNumFrameRetrievalThreads;
169 PIXEL_FORMATS m_ePropPixelFormat;
170 double m_dPropHorizontalFOV;
171 double m_dPropVerticalFOV;
172 std::atomic_bool m_bEnableRecordingFlag;
175 std::queue<containers::FrameFetchContainer<T>> m_qFrameCopySchedule;
176 std::shared_mutex m_muPoolScheduleMutex;
177 std::shared_mutex m_muFrameCopyMutex;
180 virtual std::future<bool> RequestFrameCopy(T& tFrame) = 0;
Interface class used to easily multithread a child class.
Definition AutonomyThread.hpp:38
This interface class serves as a base for all other classes that will implement and interface with a ...
Definition Camera.hpp:34
void SetEnableRecordingFlag(const bool bEnableRecordingFlag)
Mutator for the Enable Recording Flag private member.
Definition Camera.hpp:150
Camera(const int nPropResolutionX, const int nPropResolutionY, const int nPropFramesPerSecond, const PIXEL_FORMATS ePropPixelFormat, const double dPropHorizontalFOV, const double dPropVerticalFOV, const bool bEnableRecordingFlag, const int nNumFrameRetrievalThreads=5)
Construct a new Camera object.
Definition Camera.hpp:51
cv::Size GetPropResolution() const
Accessor for the Prop Resolution private member.
Definition Camera.hpp:88
virtual ~Camera()
Destroy the Camera object.
Definition Camera.hpp:78
int GetPropFramesPerSecond() const
Accessor for the Prop Frames Per Second private member.
Definition Camera.hpp:98
bool GetEnableRecordingFlag() const
Accessor for the Enable Recording Flag private member.
Definition Camera.hpp:140
virtual bool GetCameraIsOpen()=0
Accessor for the Camera Is Open private member.
double GetPropVerticalFOV() const
Accessor for the Prop Vertical F O V private member.
Definition Camera.hpp:129
PIXEL_FORMATS GetPropPixelFormat() const
Accessor for the Prop Pixel Format private member.
Definition Camera.hpp:109
double GetPropHorizontalFOV() const
Accessor for the Prop Horizontal F O V private member.
Definition Camera.hpp:119