11#ifndef RECORDING_HANDLER_H
12#define RECORDING_HANDLER_H
14#include "../interfaces/BasicCamera.hpp"
15#include "../vision/aruco/TagDetector.h"
16#include "../vision/cameras/ZEDCam.h"
19#include <opencv2/opencv.hpp>
42 enum class RecordingMode
46 eObjectDetectionHandler
84 int m_nTotalVideoFeeds;
85 RecordingMode m_eRecordingMode;
86 std::vector<ZEDCamera*> m_vZEDCameras;
87 std::vector<BasicCamera*> m_vBasicCameras;
88 std::vector<TagDetector*> m_vTagDetectors;
89 std::vector<cv::VideoWriter> m_vCameraWriters;
90 std::vector<bool> m_vRecordingToggles;
91 std::vector<cv::Mat> m_vFrames;
92 std::vector<cv::cuda::GpuMat> m_vGPUFrames;
93 std::vector<std::future<bool>> m_vFrameFutures;
Interface class used to easily multithread a child class.
Definition AutonomyThread.hpp:38
The RecordingHandler class serves to enumerate the cameras available from the CameraHandler and retri...
Definition RecordingHandler.h:35
void SetRecordingFPS(const int nRecordingFPS)
Mutator for the desired FPS for all camera recordings.
Definition RecordingHandler.cpp:540
void ThreadedContinuousCode() override
This code will run continuously in a separate thread. New frames from the cameras that have recording...
Definition RecordingHandler.cpp:101
void UpdateRecordableTagDetectors()
This method is used internally by the class to update the number of TagDetectors that have recording ...
Definition RecordingHandler.cpp:416
void RequestAndWriteTagDetectorFrames()
This method is used internally by the RecordingHandler to request and write frames to from the TagDet...
Definition RecordingHandler.cpp:490
int GetRecordingFPS() const
Accessor for the desired FPS for all camera recordings.
Definition RecordingHandler.cpp:554
void UpdateRecordableCameras()
This method is used internally by the class to update the number of cameras that have recording enabl...
Definition RecordingHandler.cpp:152
~RecordingHandler()
Destroy the Recording Handler:: Recording Handler object.
Definition RecordingHandler.cpp:78
void RequestAndWriteCameraFrames()
This method is used internally by the RecordingHandler to request and write frames to from the camera...
Definition RecordingHandler.cpp:293
void PooledLinearCode() override
This method holds the code that is ran in the thread pool started by the ThreadedLinearCode() method....
Definition RecordingHandler.cpp:142