openni_device_kinect.h
Go to the documentation of this file.
1 /*
2  * Software License Agreement (BSD License)
3  *
4  * Copyright (c) 2011 Willow Garage, Inc.
5  * Suat Gedikli <gedikli@willowgarage.com>
6  *
7  * All rights reserved.
8  *
9  * Redistribution and use in source and binary forms, with or without
10  * modification, are permitted provided that the following conditions
11  * are met:
12  *
13  * * Redistributions of source code must retain the above copyright
14  * notice, this list of conditions and the following disclaimer.
15  * * Redistributions in binary form must reproduce the above
16  * copyright notice, this list of conditions and the following
17  * disclaimer in the documentation and/or other materials provided
18  * with the distribution.
19  * * Neither the name of Willow Garage, Inc. nor the names of its
20  * contributors may be used to endorse or promote products derived
21  * from this software without specific prior written permission.
22  *
23  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
24  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
25  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
26  * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
27  * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
28  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
29  * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
30  * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
31  * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
32  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
33  * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
34  * POSSIBILITY OF SUCH DAMAGE.
35  *
36  */
37 
38 #ifndef __OPENNI_DEVICE_KINECT__
39 #define __OPENNI_DEVICE_KINECT__
40 
41 #include "openni_device.h"
42 #include "openni_driver.h"
44 
45 namespace openni_wrapper
46 {
47 
53 class DeviceKinect : public OpenNIDevice
54 {
55  friend class OpenNIDriver;
56 public:
57  DeviceKinect (xn::Context& context, const xn::NodeInfo& device_node, const xn::NodeInfo& image_node, const xn::NodeInfo& depth_node, const xn::NodeInfo& ir_node) throw (OpenNIException);
58  virtual ~DeviceKinect () throw ();
59 
60  inline void setDebayeringMethod (const ImageBayerGRBG::DebayeringMethod& debayering_method) throw ();
61  inline const ImageBayerGRBG::DebayeringMethod& getDebayeringMethod () const throw ();
62 
63  // these capabilities are not supported for kinect
64  virtual void setSynchronization (bool on_off) throw (OpenNIException);
65  virtual bool isSynchronized () const throw (OpenNIException);
66  virtual bool isSynchronizationSupported () const throw ();
67 
68  virtual bool isDepthCropped () const throw (OpenNIException);
69  virtual void setDepthCropping (unsigned x, unsigned y, unsigned width, unsigned height) throw (OpenNIException);
70  virtual bool isDepthCroppingSupported () const throw ();
71 
72 protected:
73  virtual boost::shared_ptr<Image> getCurrentImage (boost::shared_ptr<xn::ImageMetaData> image_meta_data) const throw ();
74  virtual void enumAvailableModes () throw (OpenNIException);
75  virtual bool isImageResizeSupported (unsigned input_width, unsigned input_height, unsigned output_width, unsigned output_height) const throw ();
77 };
78 
79 void DeviceKinect::setDebayeringMethod (const ImageBayerGRBG::DebayeringMethod& debayering_method) throw ()
80 {
81  debayering_method_ = debayering_method;
82 }
83 
85 {
86  return debayering_method_;
87 }
88 } // namespace
89 
90 #endif // __OPENNI_DEVICE_KINECT__
virtual void setDepthCropping(unsigned x, unsigned y, unsigned width, unsigned height)
DeviceKinect(xn::Context &context, const xn::NodeInfo &device_node, const xn::NodeInfo &image_node, const xn::NodeInfo &depth_node, const xn::NodeInfo &ir_node)
Driver class implemented as Singleton. This class contains the xn::Context object used by all devices...
Definition: openni_driver.h:58
virtual bool isDepthCroppingSupported() const
void setDebayeringMethod(const ImageBayerGRBG::DebayeringMethod &debayering_method)
Image class containing just a reference to image meta data. Thus this class just provides an interfac...
Definition: openni_image.h:54
Concrete implementation of the interface OpenNIDevice for a MS Kinect device.
General exception class.
virtual boost::shared_ptr< Image > getCurrentImage(boost::shared_ptr< xn::ImageMetaData > image_meta_data) const
virtual bool isDepthCropped() const
const ImageBayerGRBG::DebayeringMethod & getDebayeringMethod() const
This class provides methods to fill a RGB or Grayscale image buffer from underlying Bayer pattern ima...
virtual bool isSynchronizationSupported() const
ImageBayerGRBG::DebayeringMethod debayering_method_
virtual void setSynchronization(bool on_off)
Class representing an astract device for Primesense or MS Kinect devices.
Definition: openni_device.h:66
virtual bool isImageResizeSupported(unsigned input_width, unsigned input_height, unsigned output_width, unsigned output_height) const
virtual bool isSynchronized() const


openni_camera
Author(s): Patrick Mihelich, Suat Gedikli, Radu Bogdan Rusu
autogenerated on Mon Jun 10 2019 14:15:53