DvsenseDriver  1.0.3
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
10#ifdef _WIN32
11#ifdef DVSENSE_EXPORTS
12 #define DVSENSE_API __declspec(dllexport)
13 #else
14 #define DVSENSE_API __declspec(dllimport)
15 #endif
16#else
17#define DVSENSE_API
18#endif // _WIN32
19
20namespace dvsense
21{
22
28 typedef DVSENSE_API std::shared_ptr<DvsCamera> CameraDevice;
29 typedef DVSENSE_API std::shared_ptr<FusionCamera> FusionCameraDevice;
30
34 class DVSENSE_API DvsCameraManager
35 {
36 public:
42
49
55 std::vector<CameraDescription> getCameraDescs();
56
64 CameraDevice openCamera(Serial serial);
65
67
68 private:
72 std::map<Serial, CameraDevice> cameraDevices_;
73 std::map<Serial, FusionCameraDevice> fusion_camera_devices_;
74
78 void removeUnpluggedCameras();
79
85 size_t findCameras();
86
94 size_t findCameras(CAMERA_TYPE cameraType);
95
99 template <class cameraClass>
100 size_t findCameras();
101
102 template <class cameraClass>
103 size_t findFusionCameras();
104 };
105
106} // namespace dvsense
Camera Manager class.
Definition DvsCameraManager.hpp:35
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:7
DVSENSE_API std::shared_ptr< DvsCamera > CameraDevice
Shared pointer to manage camera devices.
Definition DvsCameraManager.hpp:28
DVSENSE_API std::shared_ptr< FusionCamera > FusionCameraDevice
Definition DvsCameraManager.hpp:29