28 #ifndef mrpt_CKinect_H
29 #define mrpt_CKinect_H
46 #if MRPT_HAS_KINECT_FREENECT
47 # define MRPT_KINECT_DEPTH_10BIT
48 # define KINECT_RANGES_TABLE_LEN 1024
49 # define KINECT_RANGES_TABLE_MASK 0x03FF
50 #else // MRPT_HAS_KINECT_CL_NUI or none:
51 # define MRPT_KINECT_DEPTH_11BIT
52 # define KINECT_RANGES_TABLE_LEN 2048
53 # define KINECT_RANGES_TABLE_MASK 0x07FF
244 virtual void initialize();
252 virtual void doProcess();
261 void getNextObservation(
264 bool &hardware_error );
269 void getNextObservation(
273 bool &hardware_error );
279 virtual void setPathForExternalImages(
const std::string &directory );
299 void setVideoChannel(
const TVideoChannel vch);
308 void setTiltAngleDegrees(
double angle);
309 double getTiltAngleDegrees();
317 inline void setPreviewDecimation(
size_t decimation_factor ) { m_preview_window_decimation = decimation_factor; }
324 inline size_t getRowCount()
const {
return m_cameraParamsRGB.nrows; }
326 inline size_t getColCount()
const {
return m_cameraParamsRGB.ncols; }
365 #if MRPT_HAS_KINECT_FREENECT
369 inline volatile uint32_t & internal_tim_latest_depth() {
return m_tim_latest_depth; }
370 inline volatile uint32_t & internal_tim_latest_rgb() {
return m_tim_latest_rgb; }
378 virtual void loadConfig_sensorSpecific(
380 const std::string §ion );
389 #if MRPT_HAS_KINECT_FREENECT
395 volatile uint32_t m_tim_latest_depth, m_tim_latest_rgb;
399 #if MRPT_HAS_KINECT_CL_NUI
414 bool m_grab_image, m_grab_depth, m_grab_3D_points,
m_grab_IMU ;
422 void calculate_range2meters();
425 EIGEN_MAKE_ALIGNED_OPERATOR_NEW