23 #ifndef _PLUGINS_OPENNI_POINTCLOUD_THREAD_H_
24 #define _PLUGINS_OPENNI_POINTCLOUD_THREAD_H_
26 #include <aspect/blocked_timing.h>
27 #include <aspect/clock.h>
28 #include <aspect/configurable.h>
29 #include <aspect/logging.h>
30 #include <core/threading/thread.h>
31 #include <core/utils/lockptr.h>
33 # include <aspect/pointcloud.h>
34 # include <fvutils/adapters/pcl.h>
35 # include <pcl/point_cloud.h>
36 # include <pcl/point_types.h>
38 #include <plugins/openni/aspect/openni.h>
41 #if defined(__linux__) && not defined(linux)
44 #if defined(__i386__) && not defined(i386)
47 #include <XnCppWrapper.h>
54 namespace firevision {
55 class SharedMemoryImageBuffer;
87 void fill_xyz_no_pcl(
fawkes::Time &ts,
const XnDepthPixel *
const data);
88 void fill_xyzrgb_no_pcl(
fawkes::Time &ts,
const XnDepthPixel *
const data);
89 void fill_xyz_xyzrgb_no_pcl(
fawkes::Time &ts,
const XnDepthPixel *
const data);
90 void fill_rgb_no_pcl();
93 void fill_xyz(
fawkes::Time &ts,
const XnDepthPixel *
const depth_data);
94 void fill_xyzrgb(
fawkes::Time &ts,
const XnDepthPixel *
const depth_data);
95 void fill_xyz_xyzrgb(
fawkes::Time &ts,
const XnDepthPixel *
const depth_data);
102 xn::DepthGenerator *depth_gen_;
103 xn::ImageGenerator *image_gen_;
104 xn::DepthMetaData * depth_md_;
106 bool cfg_register_depth_image_;
118 unsigned int height_;
120 XnUInt64 no_sample_value_;
121 XnUInt64 shadow_value_;
125 std::string cfg_frame_depth_;
126 std::string cfg_frame_image_;
129 bool cfg_generate_pcl_;