40 #include <boost/utility.hpp>
42 #include <pcl/pcl_exports.h>
44 #include <DepthSense.hxx>
67 using Ptr = std::shared_ptr<DepthSenseDeviceManager>;
75 std::lock_guard<std::mutex> lock (mutex_);
86 return (context_.getDevices ().size ());
130 isCaptured (
const std::string& sn)
const
132 return (captured_devices_.count (sn) != 0);
135 DepthSense::Context context_;
137 static std::mutex mutex_;
140 std::thread depth_sense_thread_;
142 struct CapturedDevice
145 DepthSense::DepthNode depth_node;
146 DepthSense::ColorNode color_node;
149 std::map<std::string, CapturedDevice> captured_devices_;
A helper class for enumerating and managing access to DepthSense devices.
void releaseDevice(const std::string &sn)
Release DepthSense device with given serial number.
void reconfigureDevice(const std::string &sn)
Reconfigure DepthSense device with given serial number.
~DepthSenseDeviceManager()
void startDevice(const std::string &sn)
Start data capturing for a given device.
std::string captureDevice(DepthSenseGrabberImpl *grabber)
Capture first available device and associate it with a given grabber instance.
void stopDevice(const std::string &sn)
Stop data capturing for a given device.
std::string captureDevice(DepthSenseGrabberImpl *grabber, const std::string &sn)
Capture the device with given serial number and associate it with a given grabber instance.
static Ptr & getInstance()
std::size_t getNumDevices()
Get the number of connected DepthSense devices.
std::string captureDevice(DepthSenseGrabberImpl *grabber, std::size_t index)
Capture the device with given index and associate it with a given grabber instance.
std::shared_ptr< DepthSenseDeviceManager > Ptr