Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037 #include <pcl/pcl_config.h>
00038 #ifdef HAVE_OPENNI
00039
00040 #ifndef __OPENNI_DEVICE_KINECT__
00041 #define __OPENNI_DEVICE_KINECT__
00042
00043 #include "openni_device.h"
00044 #include "openni_driver.h"
00045 #include "openni_image_bayer_grbg.h"
00046
00047 namespace openni_wrapper
00048 {
00049
00056 class DeviceKinect : public OpenNIDevice
00057 {
00058 friend class OpenNIDriver;
00059 public:
00060 DeviceKinect (xn::Context& context, const xn::NodeInfo& device_node, const xn::NodeInfo& image_node, const xn::NodeInfo& depth_node, const xn::NodeInfo& ir_node);
00061 virtual ~DeviceKinect () throw ();
00062
00063 inline void setDebayeringMethod (const ImageBayerGRBG::DebayeringMethod& debayering_method) throw ();
00064 inline const ImageBayerGRBG::DebayeringMethod& getDebayeringMethod () const throw ();
00065
00066 virtual bool isSynchronizationSupported () const throw ();
00067
00068 protected:
00069 virtual boost::shared_ptr<Image> getCurrentImage (boost::shared_ptr<xn::ImageMetaData> image_meta_data) const throw ();
00070 void enumAvailableModes () throw ();
00071 virtual bool isImageResizeSupported (unsigned input_width, unsigned input_height, unsigned output_width, unsigned output_height) const throw ();
00072 ImageBayerGRBG::DebayeringMethod debayering_method_;
00073 } ;
00074
00075 void
00076 DeviceKinect::setDebayeringMethod (const ImageBayerGRBG::DebayeringMethod& debayering_method) throw ()
00077 {
00078 debayering_method_ = debayering_method;
00079 }
00080
00081 const ImageBayerGRBG::DebayeringMethod&
00082 DeviceKinect::getDebayeringMethod () const throw ()
00083 {
00084 return debayering_method_;
00085 }
00086 }
00087
00088 #endif
00089 #endif // __OPENNI_DEVICE_KINECT__