OpenNI 1.5.7
XnUtils.h
Go to the documentation of this file.
00001 /*****************************************************************************
00002 *                                                                            *
00003 *  OpenNI 1.x Alpha                                                          *
00004 *  Copyright (C) 2012 PrimeSense Ltd.                                        *
00005 *                                                                            *
00006 *  This file is part of OpenNI.                                              *
00007 *                                                                            *
00008 *  Licensed under the Apache License, Version 2.0 (the "License");           *
00009 *  you may not use this file except in compliance with the License.          *
00010 *  You may obtain a copy of the License at                                   *
00011 *                                                                            *
00012 *      http://www.apache.org/licenses/LICENSE-2.0                            *
00013 *                                                                            *
00014 *  Unless required by applicable law or agreed to in writing, software       *
00015 *  distributed under the License is distributed on an "AS IS" BASIS,         *
00016 *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  *
00017 *  See the License for the specific language governing permissions and       *
00018 *  limitations under the License.                                            *
00019 *                                                                            *
00020 *****************************************************************************/
00021 #ifndef __XN_UTILS_H__
00022 #define __XN_UTILS_H__
00023 
00031 //---------------------------------------------------------------------------
00032 // Includes
00033 //---------------------------------------------------------------------------
00034 #include <XnTypes.h>
00035 #include <XnModuleInterface.h>
00036 
00037 //---------------------------------------------------------------------------
00038 // Functions
00039 //---------------------------------------------------------------------------
00040 
00051 XN_C_API XnStatus XN_C_DECL xnGetVersion(XnVersion* pVersion);
00052 
00054 
00065 XN_C_API const XnChar* XN_C_DECL xnProductionNodeTypeToString(XnProductionNodeType Type);
00066 
00073 XN_C_API XnStatus XN_C_DECL xnProductionNodeTypeFromString(const XnChar* strType, XnProductionNodeType* pType);
00074 
00080 XN_C_API XnBool XN_C_DECL xnIsTypeGenerator(XnProductionNodeType type);
00081 
00088 XN_C_API XnBool XN_C_DECL xnIsTypeDerivedFrom(XnProductionNodeType type, XnProductionNodeType base);
00089 
00091 
00102 XN_C_API const XnChar* XN_C_DECL xnPixelFormatToString(XnPixelFormat format);
00103 
00110 XN_C_API XnStatus XN_C_DECL xnPixelFormatFromString(const XnChar* strName, XnPixelFormat* pFormat);
00111 
00117 XN_C_API XnUInt32 XN_C_DECL xnGetBytesPerPixelForPixelFormat(XnPixelFormat format);
00118 
00120 
00131 XN_C_API XnUInt32 XN_C_DECL xnResolutionGetXRes(XnResolution resolution);
00132 
00138 XN_C_API XnUInt32 XN_C_DECL xnResolutionGetYRes(XnResolution resolution);
00139 
00146 XN_C_API XnResolution XN_C_DECL xnResolutionGetFromXYRes(XnUInt32 xRes, XnUInt32 yRes);
00147 
00153 XN_C_API XnResolution XN_C_DECL xnResolutionGetFromName(const XnChar* strName);
00154 
00160 XN_C_API const XnChar* XN_C_DECL xnResolutionGetName(XnResolution resolution);
00161 
00163 
00177 XN_C_API XnInt32 XN_C_DECL xnVersionCompare(const XnVersion* pVersion1, const XnVersion* pVersion2);
00178 
00179 XN_C_API XnStatus XN_C_DECL xnVersionToString(const XnVersion* pVersion, XnChar* csResult, XnUInt32 nSize);
00180 
00182 
00188 XN_C_API XnStatus XN_C_DECL xnProductionNodeDescriptionToString(const XnProductionNodeDescription* pDescription, XnChar* csResult, XnUInt32 nSize);
00189 
00191 
00197 XN_C_API XnPoint3D XN_C_DECL xnCreatePoint3D(XnFloat x, XnFloat y, XnFloat z);
00198 XN_C_API XnPlane3D XN_C_DECL xnCreatePlane3D(XnPoint3D ptPoint, XnVector3D vNormal);
00199 
00201 
00207 XN_C_API XnStatus XN_C_DECL xnRegisterModule(const XnChar* strModule, const XnChar* strConfigDir);
00208 XN_C_API XnStatus XN_C_DECL xnUnregisterModule(const XnChar* strModule);
00209 XN_C_API XnStatus XN_C_DECL xnPrintRegisteredModules();
00210 
00212 
00218 XN_C_API XnStatus XN_C_DECL xnRegisterGlobalLicense(XnLicense* pLicense);
00219 XN_C_API XnStatus XN_C_DECL xnUnregisterGlobalLicense(XnLicense* pLicense);
00220 XN_C_API XnStatus XN_C_DECL xnPrintRegisteredLicenses();
00221 
00223 
00234 XN_C_API XnOutputMetaData* XN_C_DECL xnAllocateOutputMetaData();
00240 XN_C_API void XN_C_DECL xnFreeOutputMetaData(const XnOutputMetaData* pMetaData);
00247 XN_C_API XnStatus XN_C_DECL xnCopyOutputMetaData(XnOutputMetaData* pDestination, const XnOutputMetaData* pSource);
00248 
00254 XN_C_API XnMapMetaData* XN_C_DECL xnAllocateMapMetaData();
00260 XN_C_API void XN_C_DECL xnFreeMapMetaData(const XnMapMetaData* pMetaData);
00267 XN_C_API XnStatus XN_C_DECL xnCopyMapMetaData(XnMapMetaData* pDestination, const XnMapMetaData* pSource);
00268 
00274 XN_C_API XnDepthMetaData* XN_C_DECL xnAllocateDepthMetaData();
00280 XN_C_API void XN_C_DECL xnFreeDepthMetaData(const XnDepthMetaData* pMetaData);
00288 XN_C_API XnStatus XN_C_DECL xnCopyDepthMetaData(XnDepthMetaData* pDestination, const XnDepthMetaData* pSource);
00289 
00295 XN_C_API XnImageMetaData* XN_C_DECL xnAllocateImageMetaData();
00301 XN_C_API void XN_C_DECL xnFreeImageMetaData(const XnImageMetaData* pMetaData);
00309 XN_C_API XnStatus XN_C_DECL xnCopyImageMetaData(XnImageMetaData* pDestination, const XnImageMetaData* pSource);
00310 
00316 XN_C_API XnIRMetaData* XN_C_DECL xnAllocateIRMetaData();
00322 XN_C_API void XN_C_DECL xnFreeIRMetaData(const XnIRMetaData* pMetaData);
00330 XN_C_API XnStatus XN_C_DECL xnCopyIRMetaData(XnIRMetaData* pDestination, const XnIRMetaData* pSource);
00331 
00337 XN_C_API XnAudioMetaData* XN_C_DECL xnAllocateAudioMetaData();
00343 XN_C_API void XN_C_DECL xnFreeAudioMetaData(const XnAudioMetaData* pMetaData);
00351 XN_C_API XnStatus XN_C_DECL xnCopyAudioMetaData(XnAudioMetaData* pDestination, const XnAudioMetaData* pSource);
00352 
00358 XN_C_API XnSceneMetaData* XN_C_DECL xnAllocateSceneMetaData();
00364 XN_C_API void XN_C_DECL xnFreeSceneMetaData(const XnSceneMetaData* pMetaData);
00372 XN_C_API XnStatus XN_C_DECL xnCopySceneMetaData(XnSceneMetaData* pDestination, const XnSceneMetaData* pSource);
00373 
00375 
00393 XN_C_API XnStatus XN_C_DECL xnAutoEnumerateOverSingleInput(XnContext* pContext, XnNodeInfoList* pList, XnProductionNodeDescription* pDescription, const XnChar* strCreationInfo, XnProductionNodeType InputType, XnEnumerationErrors* pErrors, XnNodeQuery* pQuery);
00394 
00402 XN_C_API XnStatus XN_C_DECL xnRegisterExtensionNode(const XnChar* strTypeName, XnProductionNodeType baseType, XnProductionNodeType* pTypeID);
00403 
00409 XN_C_API XnModuleNodeHandle XN_C_DECL xnGetModuleNodeHandle(XnNodeHandle hNode);
00410 
00411 #if !XN_PLATFORM_SUPPORTS_DYNAMIC_LIBS
00412 
00419 XN_C_API XnStatus XN_C_DECL xnRegisterModuleWithOpenNI(XnOpenNIModuleInterface* pInterface, const XnChar* strConfigDir, const XnChar* strName);
00420 #endif
00421 
00423 
00426 #endif // __XN_UTILS_H__