DVSenseDriver  1.0.1
The SDK for dvsense products.
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 
9 #ifdef _WIN32
10 #define DVSENSE_API __declspec(dllexport)
11 #else
12 #define DVSENSE_API
13 #endif // _WIN32
14 
15 namespace dvsense
16 {
17 
23  typedef DVSENSE_API std::shared_ptr<DvsCamera> CameraDevice;
24 
28  class DVSENSE_API DvsCameraManager
29  {
30  public:
36 
43 
49  const std::vector<CameraDescription> getCameraDescs();
50 
59 
60  private:
64  std::map<Serial, CameraDevice> cameraDevices_;
65 
69  void removeUnpluggedCameras();
70 
76  size_t findCameras();
77 
85  size_t findCameras(CAMERA_TYPE cameraType);
86 
90  template <class cameraClass>
91  size_t findCameras();
92  };
93 
94 } // namespace dvsense
相机管理器类
Definition: DvsCameraManager.hpp:29
int updateCameras()
更新当前可搜索的相机列表。
const std::vector< CameraDescription > getCameraDescs()
获取相机描述符向量
CameraDevice openCamera(Serial serial)
使用给定的序列号打开相机。
DvsCameraManager()
构造函数
Definition: TypeUtils.hpp:7
std::string Serial
Definition: DvsCameraUtils.hpp:31
DVSENSE_API std::shared_ptr< DvsCamera > CameraDevice
用于管理相机设备的共享指针
Definition: DvsCameraManager.hpp:23