23 #ifndef __PLUGINS_OPENNI_POINTCLOUD_THREAD_H_
24 #define __PLUGINS_OPENNI_POINTCLOUD_THREAD_H_
26 #include <core/threading/thread.h>
27 #include <core/utils/lockptr.h>
28 #include <aspect/logging.h>
29 #include <aspect/configurable.h>
30 #include <aspect/clock.h>
31 #include <aspect/blocked_timing.h>
33 # include <aspect/pointcloud.h>
34 # include <pcl/point_cloud.h>
35 # include <pcl/point_types.h>
36 # include <fvutils/adapters/pcl.h>
38 #include <plugins/openni/aspect/openni.h>
40 #include <XnCppWrapper.h>
48 namespace firevision {
49 class SharedMemoryImageBuffer;
77 void fill_xyz_no_pcl(
fawkes::Time &ts,
const XnDepthPixel *
const data);
78 void fill_xyzrgb_no_pcl(
fawkes::Time &ts,
const XnDepthPixel *
const data);
79 void fill_xyz_xyzrgb_no_pcl(
fawkes::Time &ts,
const XnDepthPixel *
const data);
80 void fill_rgb_no_pcl();
83 void fill_xyz(
fawkes::Time &ts,
const XnDepthPixel *
const depth_data);
84 void fill_xyzrgb(
fawkes::Time &ts,
const XnDepthPixel *
const depth_data);
85 void fill_xyz_xyzrgb(
fawkes::Time &ts,
const XnDepthPixel *
const depth_data);
86 void fill_rgb(pcl::PointCloud<pcl::PointXYZRGB> &pcl_rgb);
92 xn::DepthGenerator *__depth_gen;
93 xn::ImageGenerator *__image_gen;
94 xn::DepthMetaData *__depth_md;
96 bool __cfg_register_depth_image;
103 float __focal_length;
107 unsigned int __width;
108 unsigned int __height;
110 XnUInt64 __no_sample_value;
111 XnUInt64 __shadow_value;
116 bool __cfg_generate_pcl;