38 #ifndef PCL_IO_DEPTH_SENSE_DEVICE_MANAGER_H
39 #define PCL_IO_DEPTH_SENSE_DEVICE_MANAGER_H
41 #include <boost/utility.hpp>
42 #include <boost/shared_ptr.hpp>
43 #include <boost/thread/mutex.hpp>
44 #include <boost/thread.hpp>
46 #include <pcl/pcl_exports.h>
48 #include <DepthSense.hxx>
68 typedef boost::shared_ptr<DepthSenseDeviceManager>
Ptr;
76 boost::mutex::scoped_lock lock (mutex_);
87 return (context_.getDevices ().size ());
107 releaseDevice (
const std::string& sn);
111 reconfigureDevice (
const std::string& sn);
115 startDevice (
const std::string& sn);
119 stopDevice (
const std::string& sn);
131 isCaptured (
const std::string& sn)
const
133 return (captured_devices_.count (sn) != 0);
136 DepthSense::Context context_;
138 static boost::mutex mutex_;
141 boost::thread depth_sense_thread_;
143 struct CapturedDevice
145 DepthSenseGrabberImpl* grabber;
146 DepthSense::DepthNode depth_node;
147 DepthSense::ColorNode color_node;
150 std::map<std::string, CapturedDevice> captured_devices_;