Point Cloud Library (PCL) 1.15.0
Loading...
Searching...
No Matches
openni_device_primesense.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
46#include <pcl/io/openni_camera/openni_image.h>
47
48
49namespace openni_wrapper
50{
51/**
52 * @brief Concrete implementation of the interface OpenNIDevice for a Primesense device.
53 * @author Suat Gedikli
54 * @date 02.january 2011
55 * @ingroup io
56 */
58{
59 friend class OpenNIDriver;
60public:
61 DevicePrimesense (xn::Context& context, const xn::NodeInfo& device_node, const xn::NodeInfo& image_node, const xn::NodeInfo& depth_node, const xn::NodeInfo& ir_node);
62 ~DevicePrimesense () noexcept override;
63 //virtual void setImageOutputMode (const XnMapOutputMode& output_mode);
64
65protected:
66 Image::Ptr getCurrentImage (pcl::shared_ptr<xn::ImageMetaData> image_meta_data) const noexcept override;
67 void enumAvailableModes () noexcept;
68 bool isImageResizeSupported (unsigned input_width, unsigned input_height, unsigned output_width, unsigned output_height) const noexcept override;
69
70 void startImageStream () override;
71 void startDepthStream () override;
72};
73} // namespace
74
75#endif
Concrete implementation of the interface OpenNIDevice for a Primesense device.
void startImageStream() override
starts the image stream.
Image::Ptr getCurrentImage(pcl::shared_ptr< xn::ImageMetaData > image_meta_data) const noexcept override
void startDepthStream() override
starts the depth stream.
bool isImageResizeSupported(unsigned input_width, unsigned input_height, unsigned output_width, unsigned output_height) const noexcept override
DevicePrimesense(xn::Context &context, const xn::NodeInfo &device_node, const xn::NodeInfo &image_node, const xn::NodeInfo &depth_node, const xn::NodeInfo &ir_node)
~DevicePrimesense() noexcept override
Image class containing just a reference to image meta data.
Class representing an astract device for OpenNI devices: Primesense PSDK, Microsoft Kinect,...
pcl::shared_ptr< OpenNIDevice > Ptr
Driver class implemented as Singleton.
Defines functions, macros and traits for allocating and using memory.