OpenNI 1.3.2
XnUtils.h
Go to the documentation of this file.
1 /****************************************************************************
2 * *
3 * OpenNI 1.1 Alpha *
4 * Copyright (C) 2011 PrimeSense Ltd. *
5 * *
6 * This file is part of OpenNI. *
7 * *
8 * OpenNI is free software: you can redistribute it and/or modify *
9 * it under the terms of the GNU Lesser General Public License as published *
10 * by the Free Software Foundation, either version 3 of the License, or *
11 * (at your option) any later version. *
12 * *
13 * OpenNI is distributed in the hope that it will be useful, *
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
16 * GNU Lesser General Public License for more details. *
17 * *
18 * You should have received a copy of the GNU Lesser General Public License *
19 * along with OpenNI. If not, see <http://www.gnu.org/licenses/>. *
20 * *
21 ****************************************************************************/
22 #ifndef __XN_UTILS_H__
23 #define __XN_UTILS_H__
24 
32 //---------------------------------------------------------------------------
33 // Includes
34 //---------------------------------------------------------------------------
35 #include <XnTypes.h>
36 #include <XnModuleInterface.h>
37 
38 //---------------------------------------------------------------------------
39 // Functions
40 //---------------------------------------------------------------------------
41 
52 XN_C_API XnStatus XN_C_DECL xnGetVersion(XnVersion* pVersion);
53 
55 
66 XN_C_API const XnChar* XN_C_DECL xnProductionNodeTypeToString(XnProductionNodeType Type);
67 
74 XN_C_API XnStatus XN_C_DECL xnProductionNodeTypeFromString(const XnChar* strType, XnProductionNodeType* pType);
75 
81 XN_C_API XnBool XN_C_DECL xnIsTypeGenerator(XnProductionNodeType type);
82 
90 
92 
103 XN_C_API const XnChar* XN_C_DECL xnPixelFormatToString(XnPixelFormat format);
104 
111 XN_C_API XnStatus XN_C_DECL xnPixelFormatFromString(const XnChar* strName, XnPixelFormat* pFormat);
112 
118 XN_C_API XnUInt32 XN_C_DECL xnGetBytesPerPixelForPixelFormat(XnPixelFormat format);
119 
121 
132 XN_C_API XnUInt32 XN_C_DECL xnResolutionGetXRes(XnResolution resolution);
133 
139 XN_C_API XnUInt32 XN_C_DECL xnResolutionGetYRes(XnResolution resolution);
140 
147 XN_C_API XnResolution XN_C_DECL xnResolutionGetFromXYRes(XnUInt32 xRes, XnUInt32 yRes);
148 
154 XN_C_API XnResolution XN_C_DECL xnResolutionGetFromName(const XnChar* strName);
155 
161 XN_C_API const XnChar* XN_C_DECL xnResolutionGetName(XnResolution resolution);
162 
164 
178 XN_C_API XnInt32 XN_C_DECL xnVersionCompare(const XnVersion* pVersion1, const XnVersion* pVersion2);
179 
180 XN_C_API XnStatus XN_C_DECL xnVersionToString(const XnVersion* pVersion, XnChar* csResult, XnUInt32 nSize);
181 
183 
189 XN_C_API XnStatus XN_C_DECL xnProductionNodeDescriptionToString(const XnProductionNodeDescription* pDescription, XnChar* csResult, XnUInt32 nSize);
190 
192 
198 XN_C_API XnPoint3D XN_C_DECL xnCreatePoint3D(XnFloat x, XnFloat y, XnFloat z);
199 XN_C_API XnPlane3D XN_C_DECL xnCreatePlane3D(XnPoint3D ptPoint, XnVector3D vNormal);
200 
202 
208 XN_C_API XnStatus XN_C_DECL xnRegisterModule(const XnChar* strModule, const XnChar* strConfigDir);
209 XN_C_API XnStatus XN_C_DECL xnUnregisterModule(const XnChar* strModule);
211 
213 
222 
224 
241 XN_C_API void XN_C_DECL xnFreeOutputMetaData(const XnOutputMetaData* pMetaData);
248 XN_C_API XnStatus XN_C_DECL xnCopyOutputMetaData(XnOutputMetaData* pDestination, const XnOutputMetaData* pSource);
249 
261 XN_C_API void XN_C_DECL xnFreeMapMetaData(const XnMapMetaData* pMetaData);
268 XN_C_API XnStatus XN_C_DECL xnCopyMapMetaData(XnMapMetaData* pDestination, const XnMapMetaData* pSource);
269 
281 XN_C_API void XN_C_DECL xnFreeDepthMetaData(const XnDepthMetaData* pMetaData);
289 XN_C_API XnStatus XN_C_DECL xnCopyDepthMetaData(XnDepthMetaData* pDestination, const XnDepthMetaData* pSource);
290 
302 XN_C_API void XN_C_DECL xnFreeImageMetaData(const XnImageMetaData* pMetaData);
310 XN_C_API XnStatus XN_C_DECL xnCopyImageMetaData(XnImageMetaData* pDestination, const XnImageMetaData* pSource);
311 
323 XN_C_API void XN_C_DECL xnFreeIRMetaData(const XnIRMetaData* pMetaData);
331 XN_C_API XnStatus XN_C_DECL xnCopyIRMetaData(XnIRMetaData* pDestination, const XnIRMetaData* pSource);
332 
344 XN_C_API void XN_C_DECL xnFreeAudioMetaData(const XnAudioMetaData* pMetaData);
352 XN_C_API XnStatus XN_C_DECL xnCopyAudioMetaData(XnAudioMetaData* pDestination, const XnAudioMetaData* pSource);
353 
365 XN_C_API void XN_C_DECL xnFreeSceneMetaData(const XnSceneMetaData* pMetaData);
373 XN_C_API XnStatus XN_C_DECL xnCopySceneMetaData(XnSceneMetaData* pDestination, const XnSceneMetaData* pSource);
374 
376 
394 XN_C_API XnStatus XN_C_DECL xnAutoEnumerateOverSingleInput(XnContext* pContext, XnNodeInfoList* pList, XnProductionNodeDescription* pDescription, const XnChar* strCreationInfo, XnProductionNodeType InputType, XnEnumerationErrors* pErrors, XnNodeQuery* pQuery);
395 
403 XN_C_API XnStatus XN_C_DECL xnRegisterExtensionNode(const XnChar* strTypeName, XnProductionNodeType baseType, XnProductionNodeType* pTypeID);
404 
411 
412 #if !XN_PLATFORM_SUPPORTS_DYNAMIC_LIBS
413 
420 XN_C_API XnStatus XN_C_DECL xnRegisterModuleWithOpenNI(XnOpenNIModuleInterface* pInterface, const XnChar* strConfigDir, const XnChar* strName);
421 #endif
422 
424 
427 #endif // __XN_UTILS_H__