38 #include <pcl/pcl_config.h> 41 #ifndef __PCL_IO_FOTONIC_GRABBER__ 42 #define __PCL_IO_FOTONIC_GRABBER__ 44 #include <pcl/io/eigen.h> 45 #include <pcl/io/boost.h> 46 #include <pcl/io/grabber.h> 47 #include <pcl/common/synchronizer.h> 49 #include <boost/thread.hpp> 69 class PCL_EXPORTS FotonicGrabber :
public Grabber
75 Fotonic_Default_Mode = 0,
79 typedef void (sig_cb_fotonic_point_cloud) (
const boost::shared_ptr<const pcl::PointCloud<pcl::PointXYZ> >&);
80 typedef void (sig_cb_fotonic_point_cloud_rgb) (
const boost::shared_ptr<const pcl::PointCloud<pcl::PointXYZRGB> >&);
81 typedef void (sig_cb_fotonic_point_cloud_rgba) (
const boost::shared_ptr<const pcl::PointCloud<pcl::PointXYZRGBA> >&);
82 typedef void (sig_cb_fotonic_point_cloud_i) (
const boost::shared_ptr<const pcl::PointCloud<pcl::PointXYZI> >&);
90 FotonicGrabber (
const FZ_DEVICE_INFO& device_info,
91 const Mode& depth_mode = Fotonic_Default_Mode,
92 const Mode& image_mode = Fotonic_Default_Mode);
95 virtual ~FotonicGrabber () throw ();
106 static
std::vector<FZ_DEVICE_INFO>
126 getFramesPerSecond () const;
132 onInit (const FZ_DEVICE_INFO& device_info, const Mode& depth_mode, const Mode& image_mode);
136 setupDevice (const FZ_DEVICE_INFO& device_info, const Mode& depth_mode, const Mode& image_mode);
142 boost::signals2::signal<sig_cb_fotonic_point_cloud>* point_cloud_signal_;
144 boost::signals2::signal<sig_cb_fotonic_point_cloud_rgb>* point_cloud_rgb_signal_;
145 boost::signals2::signal<sig_cb_fotonic_point_cloud_rgba>* point_cloud_rgba_signal_;
150 FZ_Device_Handle_t * fotonic_device_handle_;
152 boost::thread grabber_thread_;
155 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
159 #endif // __PCL_IO_FOTONIC_GRABBER__ 160 #endif // HAVE_FOTONIC
PointCloud represents the base class in PCL for storing collections of 3D points.