DvsenseDriver  1.1.4
The SDK for dvsense products.
Loading...
Searching...
No Matches
DvsCameraManager.hpp
1#pragma once
2#include <vector>
3#include <string>
4#include <memory>
5#include <map>
6#include <stdexcept>
7#include "DvsenseDriver/camera/DvsCamera.hpp"
8#include "DvsenseDriver/camera/FusionCamera.hpp"
9#include "DvsenseBase/Utils/FuncUtils.hpp"
10
11#ifdef _WIN32
12#ifdef DVSENSE_EXPORTS
13 #define DVSENSE_API __declspec(dllexport)
14 #else
15 #define DVSENSE_API __declspec(dllimport)
16 #endif
17#else
18#define DVSENSE_API
19#endif // _WIN32
20
21namespace dvsense
22{
23
29 typedef DVSENSE_API std::shared_ptr<DvsCamera> CameraDevice;
30 typedef DVSENSE_API std::shared_ptr<FusionCamera> FusionCameraDevice;
31
35 class DVSENSE_API DvsCameraManager
36 {
37 public:
43
50
56 std::vector<CameraDescription> getCameraDescs();
57
66
68
69 private:
73 std::map<Serial, CameraDevice> cameraDevices_;
74 std::map<Serial, FusionCameraDevice> fusion_camera_devices_;
75
79 void removeUnpluggedCameras();
80
86 size_t findCameras();
87
95 size_t findCameras(CAMERA_TYPE cameraType);
96
100 template <class cameraClass>
101 size_t findCameras();
102
103 template <class cameraClass>
104 size_t findFusionCameras();
105 };
106
107} // namespace dvsense
Camera Manager class.
Definition DvsCameraManager.hpp:36
FusionCameraDevice openFusionCamera(Serial serial)
int updateCameras()
Update the current searchable camera list.
std::vector< CameraDescription > getCameraDescs()
Get the Camera Descriptions vector.
CameraDevice openCamera(Serial serial)
Open a camera with the given serial number.
DvsCameraManager()
Constructor.
Definition TypeUtils.hpp:9
DVSENSE_API std::shared_ptr< DvsCamera > CameraDevice
Shared pointer to manage camera devices.
Definition DvsCameraManager.hpp:29
DVSENSE_API std::shared_ptr< FusionCamera > FusionCameraDevice
Definition DvsCameraManager.hpp:30
std::string Serial
Definition DvsCameraUtils.hpp:60