Autonomy Software C++ 24.5.1
Welcome to the Autonomy Software repository of the Mars Rover Design Team (MRDT) at Missouri University of Science and Technology (Missouri S&T)! API reference contains the source code and other resources for the development of the autonomy software for our Mars rover. The Autonomy Software project aims to compete in the University Rover Challenge (URC) by demonstrating advanced autonomous capabilities and robust navigation algorithms.
Loading...
Searching...
No Matches
CameraHandler.h
Go to the documentation of this file.
1
11#ifndef CAMERA_HANDLER_H
12#define CAMERA_HANDLER_H
13
14#include "../interfaces/BasicCamera.hpp"
15#include "../interfaces/ZEDCamera.hpp"
16#include "RecordingHandler.h"
17
19#include <opencv2/core.hpp>
20
22
23
34{
35 private:
37 // Declare private class member variables.
39
40 ZEDCamera* m_pMainCam;
41 ZEDCamera* m_pLeftCam;
42 ZEDCamera* m_pRightCam;
43 BasicCamera* m_pGroundCam;
44 RecordingHandler* m_pRecordingHandler;
45
46 public:
48 // Define public enumerators specific to this class.
50
51 enum class ZEDCamName // Enum for different zed cameras.
52 {
53 ZEDCAM_START,
54 eHeadMainCam,
55 eFrameLeftCam,
56 eFrameRightCam,
57 ZEDCAM_END
58 };
59
60 enum class BasicCamName // Enum for different basic cameras.
61 {
62 BASICCAM_START,
63 eHeadGroundCam,
64 BASICCAM_END
65 };
66
68 // Declare public class methods and variables.
70
73 void StartAllCameras();
74 void StartRecording();
75 void StopAllCameras();
76 void StopRecording();
77
79 // Accessors.
81
82 ZEDCamera* GetZED(ZEDCamName eCameraName);
83 BasicCamera* GetBasicCam(BasicCamName eCameraName);
84};
85
86#endif
Defines the RecordingHandler class.
This class serves as a middle inheritor between the Camera interface and the BasicCam class....
Definition BasicCamera.hpp:28
The CameraHandler class is responsible for managing all of the camera feeds that Autonomy_Software us...
Definition CameraHandler.h:34
BasicCamera * GetBasicCam(BasicCamName eCameraName)
Accessor for Basic cameras.
Definition CameraHandler.cpp:231
void StopAllCameras()
Signals all cameras to stop their threads.
Definition CameraHandler.cpp:168
ZEDCamera * GetZED(ZEDCamName eCameraName)
Accessor for ZED cameras.
Definition CameraHandler.cpp:210
void StartAllCameras()
Signals all cameras to start their threads.
Definition CameraHandler.cpp:137
void StartRecording()
Signal the RecordingHandler to start recording video feeds from the CameraHandler.
Definition CameraHandler.cpp:155
~CameraHandler()
Destroy the Camera Handler Thread:: Camera Handler Thread object.
Definition CameraHandler.cpp:110
CameraHandler()
Construct a new Camera Handler Thread:: Camera Handler Thread object.
Definition CameraHandler.cpp:25
void StopRecording()
Signal the RecordingHandler to stop recording video feeds from the CameraHandler.
Definition CameraHandler.cpp:194
The RecordingHandler class serves to enumerate the cameras available from the CameraHandler and retri...
Definition RecordingHandler.h:35
This class serves as a middle inheritor between the Camera interface and the ZEDCam class....
Definition ZEDCamera.hpp:33