38 #ifndef PCL_IO_REAL_SENSE_DEVICE_MANAGER_H 39 #define PCL_IO_REAL_SENSE_DEVICE_MANAGER_H 41 #include <boost/thread.hpp> 42 #include <boost/utility.hpp> 43 #include <boost/weak_ptr.hpp> 44 #include <boost/shared_ptr.hpp> 45 #include <boost/thread/mutex.hpp> 47 #include <pcl/pcl_exports.h> 49 #include <pxcsession.h> 50 #include <pxccapture.h> 51 #include <pxccapturemanager.h> 56 class RealSenseGrabber;
71 typedef boost::shared_ptr<RealSenseDeviceManager>
Ptr;
79 boost::mutex::scoped_lock lock (mutex_);
89 return (device_list_.size ());
92 boost::shared_ptr<RealSenseDevice>
95 boost::shared_ptr<RealSenseDevice>
96 captureDevice (
size_t index);
98 boost::shared_ptr<RealSenseDevice>
99 captureDevice (
const std::string& sn);
110 boost::weak_ptr<RealSenseDevice> device_ptr;
111 inline bool isCaptured () {
return (!device_ptr.expired ()); }
115 boost::shared_ptr<RealSenseDevice>
116 capture (DeviceInfo& device_info);
118 RealSenseDeviceManager ();
123 populateDeviceList ();
125 boost::shared_ptr<PXCSession> session_;
126 boost::shared_ptr<PXCCaptureManager> capture_manager_;
128 std::vector<DeviceInfo> device_list_;
130 static boost::mutex mutex_;
139 typedef boost::shared_ptr<RealSenseDevice>
Ptr;
141 inline const std::string&
144 inline PXCCapture::Device&
151 std::string
id = device->getSerialNumber ();
160 std::string device_id_;
161 boost::shared_ptr<PXCCapture> capture_;
162 boost::shared_ptr<PXCCapture::Device> device_;
boost::shared_ptr< RealSenseDevice > Ptr
static Ptr & getInstance()
PXCCapture::Device & getPXCDevice()
static void reset(RealSenseDevice::Ptr &device)
Reset the state of given device by releasing and capturing again.
boost::shared_ptr< RealSenseDeviceManager > Ptr
const std::string & getSerialNumber()