![]() |
OpenNI 1.5.7
|
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__