openni2_video_mode.h
/*
* Copyright (c) 2013, Willow Garage, Inc.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* * Neither the name of the Willow Garage, Inc. nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*
* Author: Julius Kammerl (jkammerl@willowgarage.com)
*/
#pragma once
#include <ostream>
#include <OpenNI.h>
namespace pcl
{
namespace io
{
namespace openni2
{
// copied from OniEnums.h
enum PixelFormat
{
// Depth
PIXEL_FORMAT_DEPTH_1_MM = 100,
PIXEL_FORMAT_DEPTH_100_UM = 101,
PIXEL_FORMAT_SHIFT_9_2 = 102,
PIXEL_FORMAT_SHIFT_9_3 = 103,
// Color
PIXEL_FORMAT_RGB888 = 200,
PIXEL_FORMAT_YUV422 = 201,
PIXEL_FORMAT_GRAY8 = 202,
PIXEL_FORMAT_GRAY16 = 203,
PIXEL_FORMAT_JPEG = 204,
PIXEL_FORMAT_YUYV = 205,
};
struct OpenNI2VideoMode
{
OpenNI2VideoMode ()
:x_resolution_(0), y_resolution_(0), frame_rate_(0)
{}
OpenNI2VideoMode (int xResolution, int yResolution, int frameRate)
:x_resolution_(xResolution), y_resolution_(yResolution), frame_rate_(frameRate)
{}
int x_resolution_;
int y_resolution_;
int frame_rate_;
PixelFormat pixel_format_;
};
std::ostream&
operator<< (std::ostream& stream, const OpenNI2VideoMode& video_mode);
bool
operator== (const OpenNI2VideoMode& video_mode_a, const OpenNI2VideoMode& video_mode_b);
bool
operator!= (const OpenNI2VideoMode& video_mode_a, const OpenNI2VideoMode& video_mode_b);
} // namespace
}
}
pcl::io::openni2::operator==
bool operator==(const OpenNI2VideoMode &video_mode_a, const OpenNI2VideoMode &video_mode_b)
pcl::io::openni2::operator<<
PCL_EXPORTS std::ostream & operator<<(std::ostream &stream, const OpenNI2Device &device)
pcl::io::openni2::operator!=
bool operator!=(const OpenNI2VideoMode &video_mode_a, const OpenNI2VideoMode &video_mode_b)
pcl::io::openni2::PixelFormat
PixelFormat
Definition: openni2_video_mode.h:46
pcl::io::openni2::PIXEL_FORMAT_DEPTH_1_MM
@ PIXEL_FORMAT_DEPTH_1_MM
Definition: openni2_video_mode.h:48
pcl::io::openni2::PIXEL_FORMAT_DEPTH_100_UM
@ PIXEL_FORMAT_DEPTH_100_UM
Definition: openni2_video_mode.h:49
pcl::io::openni2::PIXEL_FORMAT_GRAY8
@ PIXEL_FORMAT_GRAY8
Definition: openni2_video_mode.h:56
pcl::io::openni2::PIXEL_FORMAT_SHIFT_9_2
@ PIXEL_FORMAT_SHIFT_9_2
Definition: openni2_video_mode.h:50
pcl::io::openni2::PIXEL_FORMAT_SHIFT_9_3
@ PIXEL_FORMAT_SHIFT_9_3
Definition: openni2_video_mode.h:51
pcl::io::openni2::PIXEL_FORMAT_JPEG
@ PIXEL_FORMAT_JPEG
Definition: openni2_video_mode.h:58
pcl::io::openni2::PIXEL_FORMAT_GRAY16
@ PIXEL_FORMAT_GRAY16
Definition: openni2_video_mode.h:57
pcl::io::openni2::PIXEL_FORMAT_YUYV
@ PIXEL_FORMAT_YUYV
Definition: openni2_video_mode.h:59
pcl::io::openni2::PIXEL_FORMAT_YUV422
@ PIXEL_FORMAT_YUV422
Definition: openni2_video_mode.h:55
pcl::io::openni2::PIXEL_FORMAT_RGB888
@ PIXEL_FORMAT_RGB888
Definition: openni2_video_mode.h:54
pcl
Definition: convolution.h:46
pcl::io::openni2::OpenNI2VideoMode
Definition: openni2_video_mode.h:63
pcl::io::openni2::OpenNI2VideoMode::OpenNI2VideoMode
OpenNI2VideoMode(int xResolution, int yResolution, int frameRate)
Definition: openni2_video_mode.h:68
pcl::io::openni2::OpenNI2VideoMode::OpenNI2VideoMode
OpenNI2VideoMode()
Definition: openni2_video_mode.h:64
pcl::io::openni2::OpenNI2VideoMode::x_resolution_
int x_resolution_
Definition: openni2_video_mode.h:72
pcl::io::openni2::OpenNI2VideoMode::y_resolution_
int y_resolution_
Definition: openni2_video_mode.h:73
pcl::io::openni2::OpenNI2VideoMode::pixel_format_
PixelFormat pixel_format_
Definition: openni2_video_mode.h:75
pcl::io::openni2::OpenNI2VideoMode::frame_rate_
int frame_rate_
Definition: openni2_video_mode.h:74