From 88695159e16bdfb8424de99d482adf332a93740d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomi=20Korpip=C3=A4=C3=A4?= Date: Thu, 26 Sep 2013 09:17:09 +0300 Subject: Kinect surface added to tests - theme changing etc. to be added Change-Id: I26e72757c90b450aeeecf89ffdf39d312f6c2769 Reviewed-by: Miikka Heikkinen --- .../QtKinectWrapper/OpenNI/Include/XnMacros.h | 128 +++++++++++++++++++++ 1 file changed, 128 insertions(+) create mode 100644 tests/kinectsurface/QtKinectWrapper/OpenNI/Include/XnMacros.h (limited to 'tests/kinectsurface/QtKinectWrapper/OpenNI/Include/XnMacros.h') diff --git a/tests/kinectsurface/QtKinectWrapper/OpenNI/Include/XnMacros.h b/tests/kinectsurface/QtKinectWrapper/OpenNI/Include/XnMacros.h new file mode 100644 index 00000000..694bc2ad --- /dev/null +++ b/tests/kinectsurface/QtKinectWrapper/OpenNI/Include/XnMacros.h @@ -0,0 +1,128 @@ +/**************************************************************************** +* * +* OpenNI 1.x Alpha * +* Copyright (C) 2011 PrimeSense Ltd. * +* * +* This file is part of OpenNI. * +* * +* OpenNI is free software: you can redistribute it and/or modify * +* it under the terms of the GNU Lesser General Public License as published * +* by the Free Software Foundation, either version 3 of the License, or * +* (at your option) any later version. * +* * +* OpenNI is distributed in the hope that it will be useful, * +* but WITHOUT ANY WARRANTY; without even the implied warranty of * +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * +* GNU Lesser General Public License for more details. * +* * +* You should have received a copy of the GNU Lesser General Public License * +* along with OpenNI. If not, see . * +* * +****************************************************************************/ +#ifndef _XN_MACROS_H_ +#define _XN_MACROS_H_ + +//--------------------------------------------------------------------------- +// Includes +//--------------------------------------------------------------------------- +#include "XnStatusCodes.h" + +//--------------------------------------------------------------------------- +// Macros +//--------------------------------------------------------------------------- + +/** Returns the (x)th power of 2. */ +#define XN_SETBITMASK(x) (1 << x-1) + +/** Returns Y if X is NULL. */ +#define XN_RET_IF_NULL(x, y) \ + if (x == NULL) \ + { \ + return (y); \ + } + +/** Returns Y if X isn't XN_STATUS_OK. */ +#define XN_IS_STATUS_OK_RET(x, y) \ + if (x != XN_STATUS_OK) \ + { \ + return (y); \ + } + +/** Jumps to the ErrorCleanUp label if X isn't XN_STATUS_OK and return Y. */ +#define XN_IS_STATUS_OK_GOCLEANUP_RET(x, y) \ + if (x != XN_STATUS_OK) \ + { \ + x = y; \ + goto ErrorCleanUp; \ + } + +/** Returns X if X isn't XN_STATUS_OK. */ +#define XN_IS_STATUS_OK(x) \ + XN_IS_STATUS_OK_RET(x, x) + +#define XN_IS_STATUS_OK_ASSERT(x) \ + if (x != XN_STATUS_OK) \ + { \ + XN_ASSERT(FALSE); \ + return (x); \ + } + + +/** Jumps to the ErrorCleanUp label if X isn't XN_STATUS_OK. */ +#define XN_IS_STATUS_OK_GOCLEANUP(x) \ + if (x != XN_STATUS_OK) \ + { \ + goto ErrorCleanUp; \ + } + +/** Returns Y if X isn't XN_STATUS_OK. */ +#define XN_IS_BOOL_OK_RET(x, y) \ + if (x != TRUE) \ + { \ + return (y); \ + } + +/** Jumps to the ErrorCleanUp label if X isn't XN_STATUS_OK and returns Y. */ +#define XN_IS_BOOL_OK_GOCLEANUP_RET(x, y) \ + if (x != TRUE) \ + { \ + goto ErrorCleanUp; \ + } + +/** Jumps to the ErrorCleanUp label if X isn't XN_STATUS_OK and returns Y. */ +#define XN_GOCLEANUP_RET(x, y) \ + x = y; \ + goto ErrorCleanUp; + +/** Returns Y if X is null. */ +#define XN_VALIDATE_PTR(x,y) \ + if (x == NULL) \ + { \ + return (y); \ + } + +/** Returns an output overflow error if x is beyond y */ +#define XN_CHECK_INPUT_OVERFLOW(x, y) \ + if (x > y) \ + { \ + return (XN_STATUS_INPUT_BUFFER_OVERFLOW); \ + } + +/** Returns an input overflow error if x is beyond y */ +#define XN_CHECK_OUTPUT_OVERFLOW(x, y) \ + if (x > y) \ + { \ + return (XN_STATUS_OUTPUT_BUFFER_OVERFLOW); \ + } + +/** Disables Copy ctor and assignment operator. Should be placed under "private:" section. */ +#define XN_DISABLE_COPY_AND_ASSIGN(TypeName) \ + TypeName(const TypeName&); \ + void operator=(const TypeName&); + +/** Disables the "local variable is initialized but not referenced" warning (if you need + to use this variable in an assert */ +#define XN_REFERENCE_VARIABLE(x) \ + ((void)x) + +#endif //_XN_MACROS_H_ -- cgit v1.2.3