Point Cloud Library (PCL) 1.12.1
openni_device_xtion.h
1/*
2 * Software License Agreement (BSD License)
3 *
4 * Copyright (c) 2011 Willow Garage, Inc.
5 *
6 * All rights reserved.
7 *
8 * Redistribution and use in source and binary forms, with or without
9 * modification, are permitted provided that the following conditions
10 * are met:
11 *
12 * * Redistributions of source code must retain the above copyright
13 * notice, this list of conditions and the following disclaimer.
14 * * Redistributions in binary form must reproduce the above
15 * copyright notice, this list of conditions and the following
16 * disclaimer in the documentation and/or other materials provided
17 * with the distribution.
18 * * Neither the name of the copyright holder(s) nor the names of its
19 * contributors may be used to endorse or promote products derived
20 * from this software without specific prior written permission.
21 *
22 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
23 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
24 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
25 * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
26 * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
27 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
28 * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
29 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
30 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
31 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
32 * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
33 * POSSIBILITY OF SUCH DAMAGE.
34 *
35 */
36
37#pragma once
38
39#include <pcl/pcl_config.h>
40#include <pcl/memory.h>
41#ifdef HAVE_OPENNI
42
43#include "openni_device.h"
44#include "openni_driver.h"
45#include "openni_image_yuv_422.h"
46
47#include <pcl/io/openni_camera/openni_image.h>
48
49
50namespace openni_wrapper
51{
52
53 /**
54 * @brief Concrete implementation of the interface OpenNIDevice for a Asus Xtion Pro device.
55 * @author Suat Gedikli
56 * @date 02.january 2011
57 * @ingroup io
58 */
60 {
61 friend class OpenNIDriver;
62 public:
63 DeviceXtionPro (xn::Context& context, const xn::NodeInfo& device_node, const xn::NodeInfo& depth_node, const xn::NodeInfo& ir_node);
64 ~DeviceXtionPro () noexcept;
65 //virtual void setImageOutputMode (const XnMapOutputMode& output_mode);
66
67 protected:
68 Image::Ptr getCurrentImage (pcl::shared_ptr<xn::ImageMetaData> image_meta_data) const throw () override;
69 void enumAvailableModes () noexcept;
70 bool isImageResizeSupported (unsigned input_width, unsigned input_height, unsigned output_width, unsigned output_height) const throw () override;
71
72 void startDepthStream () override;
73 } ;
74} // namespace
75
76#endif
Concrete implementation of the interface OpenNIDevice for a Asus Xtion Pro device.
bool isImageResizeSupported(unsigned input_width, unsigned input_height, unsigned output_width, unsigned output_height) const override
void startDepthStream() override
starts the depth stream.
DeviceXtionPro(xn::Context &context, const xn::NodeInfo &device_node, const xn::NodeInfo &depth_node, const xn::NodeInfo &ir_node)
void enumAvailableModes() noexcept
Image::Ptr getCurrentImage(pcl::shared_ptr< xn::ImageMetaData > image_meta_data) const override
Image class containing just a reference to image meta data.
Definition: openni_image.h:59
Class representing an astract device for OpenNI devices: Primesense PSDK, Microsoft Kinect,...
Definition: openni_device.h:72
pcl::shared_ptr< OpenNIDevice > Ptr
Definition: openni_device.h:80
Driver class implemented as Singleton.
Definition: openni_driver.h:66
Defines functions, macros and traits for allocating and using memory.