40 #include <pxcsession.h> 41 #include <pxccapture.h> 42 #include <pxccapturemanager.h> 45 #include <pcl/pcl_exports.h> 47 #include <boost/core/noncopyable.hpp> 57 class RealSenseGrabber;
72 using Ptr = std::shared_ptr<RealSenseDeviceManager>;
80 std::lock_guard<std::mutex> lock (mutex_);
90 return (device_list_.size ());
93 std::shared_ptr<RealSenseDevice>
96 std::shared_ptr<RealSenseDevice>
97 captureDevice (std::size_t index);
99 std::shared_ptr<RealSenseDevice>
100 captureDevice (
const std::string& sn);
111 weak_ptr<RealSenseDevice> device_ptr;
112 inline bool isCaptured () {
return (!device_ptr.expired ()); }
116 std::shared_ptr<RealSenseDevice>
117 capture (DeviceInfo& device_info);
119 RealSenseDeviceManager ();
124 populateDeviceList ();
126 std::shared_ptr<PXCSession> session_;
127 std::shared_ptr<PXCCaptureManager> capture_manager_;
129 std::vector<DeviceInfo> device_list_;
131 static std::mutex mutex_;
139 using Ptr = pcl::shared_ptr<RealSenseDevice>;
141 inline const std::string&
144 inline PXCCapture::Device&
151 std::string
id = device->getSerialNumber ();
160 std::string device_id_;
161 std::shared_ptr<PXCCapture> capture_;
162 std::shared_ptr<PXCCapture::Device> device_;
std::size_t getNumDevices()
std::shared_ptr< RealSenseDeviceManager > Ptr
Defines functions, macros and traits for allocating and using memory.
static Ptr & getInstance()
PXCCapture::Device & getPXCDevice()
pcl::shared_ptr< RealSenseDevice > Ptr
static void reset(RealSenseDevice::Ptr &device)
Reset the state of given device by releasing and capturing again.
const std::string & getSerialNumber()