libkovan  1
The kovan standard library
xtion_depth_image.hpp
Go to the documentation of this file.
1 /**************************************************************************
2  * Copyright 2012 KISS Institute for Practical Robotics *
3  * *
4  * This file is part of libkovan. *
5  * *
6  * libkovan is free software: you can redistribute it and/or modify *
7  * it under the terms of the GNU General Public License as published by *
8  * the Free Software Foundation, either version 2 of the License, or *
9  * (at your option) any later version. *
10  * *
11  * libkovan is distributed in the hope that it will be useful, *
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of *
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
14  * GNU General Public License for more details. *
15  * *
16  * You should have received a copy of the GNU General Public License *
17  * along with libkovan. Check the LICENSE file in the project root. *
18  * If not, see <http://www.gnu.org/licenses/>. *
19  **************************************************************************/
20 
28 #ifndef _XTION_DEPTH_IMAGE_HPP_
29 #define _XTION_DEPTH_IMAGE_HPP_
30 
31 #include "depth_image.hpp"
32 #include "geom.hpp"
33 
34 namespace depth
35 {
36  class XtionDepthDriverImpl;
37 
39  {
40  public:
41  XtionDepthImage(const void *const data, const uint32_t size, const uint32_t width,
42  const uint32_t height, const uint16_t orientation, XtionDepthDriverImpl *const impl);
43  virtual ~XtionDepthImage();
49  virtual void setOrientation(const uint16_t orientation);
50 
56  virtual uint16_t orientation() const;
57 
63  virtual uint32_t height() const;
64 
70  virtual uint32_t width() const;
71 
79  virtual uint16_t depthAt(const uint32_t row, const uint32_t column) const;
80 
81  virtual void depth(uint16_t *const data, const uint32_t offset, const uint32_t size) const;
82 
90  virtual Point3<int32_t> pointAt(const uint32_t row, const uint32_t column) const;
91 
92  const void *data() const;
93 
94  private:
95  const void *_data;
96  uint32_t _size;
97  uint32_t _width;
98  uint32_t _height;
99  uint16_t _orientation;
100  XtionDepthDriverImpl *_impl;
101  };
102 }
103 
104 #endif
The interface for a depth image.
Definition: depth_image.hpp:36
Definition: depth_driver.hpp:34
Definition: geom.hpp:68
Definition: xtion_depth_image.hpp:38
#define EXPORT_SYM
Definition: export.h:7