XnPrdNode.h
Go to the documentation of this file.
00001 /*****************************************************************************
00002 *                                                                            *
00003 *  OpenNI 1.0 Alpha                                                          *
00004 *  Copyright (C) 2010 PrimeSense Ltd.                                        *
00005 *                                                                            *
00006 *  This file is part of OpenNI.                                              *
00007 *                                                                            *
00008 *  OpenNI is free software: you can redistribute it and/or modify            *
00009 *  it under the terms of the GNU Lesser General Public License as published  *
00010 *  by the Free Software Foundation, either version 3 of the License, or      *
00011 *  (at your option) any later version.                                       *
00012 *                                                                            *
00013 *  OpenNI is distributed in the hope that it will be useful,                 *
00014 *  but WITHOUT ANY WARRANTY; without even the implied warranty of            *
00015 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the              *
00016 *  GNU Lesser General Public License for more details.                       *
00017 *                                                                            *
00018 *  You should have received a copy of the GNU Lesser General Public License  *
00019 *  along with OpenNI. If not, see <http://www.gnu.org/licenses/>.            *
00020 *                                                                            *
00021 *****************************************************************************/
00022 
00023 
00024 
00025 
00026 #ifndef __XN_PRD_NODE_H__
00027 #define __XN_PRD_NODE_H__
00028 
00035 //---------------------------------------------------------------------------
00036 // Includes
00037 //---------------------------------------------------------------------------
00038 #include <XnTypes.h>
00039 
00040 //---------------------------------------------------------------------------
00041 // Functions
00042 //---------------------------------------------------------------------------
00043 
00058 XN_C_API XnNodeInfo* xnGetNodeInfo(XnNodeHandle hNode);
00059 
00065 XN_C_API const XnChar* xnGetNodeName(XnNodeHandle hNode);
00066 
00072 XN_C_API XnContext* xnGetContextFromNodeHandle(XnNodeHandle hNode);
00073 
00080 XN_C_API XnBool xnIsCapabilitySupported(XnNodeHandle hInstance, const XnChar* strCapabilityName);
00081 
00089 XN_C_API XnStatus xnSetIntProperty(XnNodeHandle hInstance, const XnChar* strName, XnUInt64 nValue);
00097 XN_C_API XnStatus xnSetRealProperty(XnNodeHandle hInstance, const XnChar* strName, XnDouble dValue);
00105 XN_C_API XnStatus xnSetStringProperty(XnNodeHandle hInstance, const XnChar* strName, const XnChar* strValue);
00114 XN_C_API XnStatus xnSetGeneralProperty(XnNodeHandle hInstance, const XnChar* strName, XnUInt32 nBufferSize, const void* pBuffer);
00115 
00123 XN_C_API XnStatus xnGetIntProperty(XnNodeHandle hInstance, const XnChar* strName, XnUInt64* pnValue);
00131 XN_C_API XnStatus xnGetRealProperty(XnNodeHandle hInstance, const XnChar* strName, XnDouble* pdValue);
00140 XN_C_API XnStatus xnGetStringProperty(XnNodeHandle hInstance, const XnChar* strName, XnChar* csValue, XnUInt32 nBufSize);
00149 XN_C_API XnStatus xnGetGeneralProperty(XnNodeHandle hInstance, const XnChar* strName, XnUInt32 nBufferSize, void* pBuffer);
00150 
00157 XN_C_API XnStatus xnLockNodeForChanges(XnNodeHandle hInstance, XnLockHandle* phLock);
00158 
00165 XN_C_API XnStatus xnUnlockNodeForChanges(XnNodeHandle hInstance, XnLockHandle hLock);
00166 
00176 XN_C_API XnStatus xnLockedNodeStartChanges(XnNodeHandle hInstance, XnLockHandle hLock);
00177 
00184 XN_C_API XnStatus xnLockedNodeEndChanges(XnNodeHandle hInstance, XnLockHandle hLock);
00185 
00192 XN_C_API XnStatus xnAddNeededNode(XnNodeHandle hInstance, XnNodeHandle hNeededNode);
00193 
00203 XN_C_API XnStatus xnRemoveNeededNode(XnNodeHandle hInstance, XnNodeHandle hNeededNode);
00204 
00207 //---------------------------------------------------------------------------
00208 // ErrorState Capability
00209 //---------------------------------------------------------------------------
00210 
00232 XN_C_API XnStatus xnGetNodeErrorState(XnNodeHandle hInstance);
00233 
00242 XN_C_API XnStatus xnRegisterToNodeErrorStateChange
00243         (XnNodeHandle hInstance, XnStateChangedHandler handler,
00244         void* pCookie, XnCallbackHandle* phCallback);
00245 
00252 XN_C_API void xnUnregisterFromNodeErrorStateChange
00253         (XnNodeHandle hInstance, XnCallbackHandle hCallback);
00254 
00257 //---------------------------------------------------------------------------
00258 // Generators
00259 //---------------------------------------------------------------------------
00260 
00283 XN_C_API XnStatus xnStartGenerating(XnNodeHandle hInstance);
00284 
00292 XN_C_API XnBool xnIsGenerating(XnNodeHandle hInstance);
00293 
00301 XN_C_API XnStatus xnStopGenerating(XnNodeHandle hInstance);
00302 
00311 XN_C_API XnStatus xnRegisterToGenerationRunningChange
00312         (XnNodeHandle hInstance, XnStateChangedHandler handler,
00313         void* pCookie, XnCallbackHandle* phCallback);
00314 
00321 XN_C_API void xnUnregisterFromGenerationRunningChange
00322         (XnNodeHandle hInstance, XnCallbackHandle hCallback);
00323 
00325 
00342 XN_C_API XnStatus xnRegisterToNewDataAvailable
00343         (XnNodeHandle hInstance, XnStateChangedHandler handler,
00344         void* pCookie, XnCallbackHandle* phCallback);
00345 
00352 XN_C_API void xnUnregisterFromNewDataAvailable
00353         (XnNodeHandle hInstance, XnCallbackHandle hCallback);
00354 
00361 XN_C_API XnBool xnIsNewDataAvailable(XnNodeHandle hInstance, XnUInt64* pnTimestamp);
00362 
00364 
00377 XN_C_API XnStatus xnWaitAndUpdateData(XnNodeHandle hInstance);
00378 
00380 
00392 XN_C_API XnBool xnIsDataNew(XnNodeHandle hInstance);
00393 
00401 XN_C_API XnUInt32 xnGetDataSize(XnNodeHandle hInstance);
00402 
00410 XN_C_API XnUInt64 xnGetTimestamp(XnNodeHandle hInstance);
00411 
00419 XN_C_API XnUInt32 xnGetFrameID(XnNodeHandle hInstance);
00420 
00425 //---------------------------------------------------------------------------
00426 // Mirror Capability
00427 //---------------------------------------------------------------------------
00428 
00444 XN_C_API XnStatus xnSetMirror(XnNodeHandle hInstance, XnBool bMirror);
00445 
00451 XN_C_API XnBool xnIsMirrored(XnNodeHandle hInstance);
00452 
00461 XN_C_API XnStatus xnRegisterToMirrorChange
00462         (XnNodeHandle hInstance, XnStateChangedHandler handler,
00463         void* pCookie, XnCallbackHandle* phCallback);
00464 
00471 XN_C_API void xnUnregisterFromMirrorChange
00472         (XnNodeHandle hInstance, XnCallbackHandle hCallback);
00473 
00476 //---------------------------------------------------------------------------
00477 // Alternative View Point Capability
00478 //---------------------------------------------------------------------------
00479 
00500 XN_C_API XnBool xnIsViewPointSupported(XnNodeHandle hInstance, XnNodeHandle hOther);
00501 
00508 XN_C_API XnStatus xnSetViewPoint(XnNodeHandle hInstance, XnNodeHandle hOther);
00509 
00515 XN_C_API XnStatus xnResetViewPoint(XnNodeHandle hInstance);
00516 
00523 XN_C_API XnBool xnIsViewPointAs(XnNodeHandle hInstance, XnNodeHandle hOther);
00524 
00533 XN_C_API XnStatus xnRegisterToViewPointChange(XnNodeHandle hInstance, XnStateChangedHandler handler, void* pCookie, XnCallbackHandle* phCallback);
00534 
00541 XN_C_API void xnUnregisterFromViewPointChange(XnNodeHandle hInstance, XnCallbackHandle hCallback);
00542 
00545 //---------------------------------------------------------------------------
00546 // FrameSync Capability
00547 //---------------------------------------------------------------------------
00548 
00566 XN_C_API XnBool xnCanFrameSyncWith(XnNodeHandle hInstance, XnNodeHandle hOther);
00567 
00574 XN_C_API XnStatus xnFrameSyncWith(XnNodeHandle hInstance, XnNodeHandle hOther);
00575 
00582 XN_C_API XnStatus xnStopFrameSyncWith(XnNodeHandle hInstance, XnNodeHandle hOther);
00583 
00590 XN_C_API XnBool xnIsFrameSyncedWith(XnNodeHandle hInstance, XnNodeHandle hOther);
00591 
00600 XN_C_API XnStatus xnRegisterToFrameSyncChange(XnNodeHandle hInstance, XnStateChangedHandler handler, void* pCookie, XnCallbackHandle* phCallback);
00601 
00608 XN_C_API void xnUnregisterFromFrameSyncChange(XnNodeHandle hInstance, XnCallbackHandle hCallback);
00609 
00612 //---------------------------------------------------------------------------
00613 // Map Generators
00614 //---------------------------------------------------------------------------
00615 
00631 XN_C_API XnUInt32 xnGetSupportedMapOutputModesCount(XnNodeHandle hInstance);
00632 
00643 XN_C_API XnStatus xnGetSupportedMapOutputModes(XnNodeHandle hInstance, XnMapOutputMode* aModes, XnUInt32* pnCount);
00644 
00653 XN_C_API XnStatus xnSetMapOutputMode(XnNodeHandle hInstance, const XnMapOutputMode* pOutputMode);
00654 
00663 XN_C_API XnStatus xnGetMapOutputMode(XnNodeHandle hInstance, XnMapOutputMode* pOutputMode);
00664 
00675 XN_C_API XnStatus xnRegisterToMapOutputModeChange(XnNodeHandle hInstance, XnStateChangedHandler handler,
00676         void* pCookie, XnCallbackHandle* phCallback);
00677 
00684 XN_C_API void xnUnregisterFromMapOutputModeChange(XnNodeHandle hInstance, XnCallbackHandle hCallback);
00685 
00688 //---------------------------------------------------------------------------
00689 // Cropping Capability
00690 //---------------------------------------------------------------------------
00691 
00692 
00713 XN_C_API XnStatus xnSetCropping(XnNodeHandle hInstance, const XnCropping* pCropping);
00714 
00723 XN_C_API XnStatus xnGetCropping(XnNodeHandle hInstance, XnCropping* pCropping);
00724 
00733 XN_C_API XnStatus xnRegisterToCroppingChange(XnNodeHandle hInstance, XnStateChangedHandler handler,
00734         void* pCookie, XnCallbackHandle* phCallback);
00735 
00742 XN_C_API void xnUnregisterFromCroppingChange(XnNodeHandle hInstance, XnCallbackHandle hCallback);
00743 
00746 //---------------------------------------------------------------------------
00747 // Depth Generators
00748 //---------------------------------------------------------------------------
00749 
00766 XN_C_API XnStatus xnCreateDepthGenerator(
00767         XnContext* pContext,
00768         XnNodeHandle* phDepthGenerator,
00769         XnNodeQuery* pQuery, 
00770         XnEnumerationErrors* pErrors);
00771 
00779 XN_C_API XnDepthPixel xnGetDeviceMaxDepth(XnNodeHandle hInstance);
00780 
00789 XN_C_API XnStatus xnGetDepthFieldOfView(XnNodeHandle hInstance, XnFieldOfView* pFOV);
00790 
00801 XN_C_API XnStatus xnRegisterToDepthFieldOfViewChange(XnNodeHandle hInstance, XnStateChangedHandler handler,
00802         void* pCookie, XnCallbackHandle* phCallback);
00803 
00810 XN_C_API void xnUnregisterFromDepthFieldOfViewChange(XnNodeHandle hInstance, XnCallbackHandle hCallback);
00811 
00822 XN_C_API XnStatus xnConvertProjectiveToRealWorld(
00823         XnNodeHandle hInstance, XnUInt32 nCount, const XnPoint3D* aProjective, XnPoint3D* aRealWorld);
00824 
00835 XN_C_API XnStatus xnConvertRealWorldToProjective(
00836         XnNodeHandle hInstance, XnUInt32 nCount, const XnPoint3D* aRealWorld, XnPoint3D* aProjective);
00837 
00845 XN_C_API XnDepthPixel* xnGetDepthMap(XnNodeHandle hInstance);
00846 
00853 XN_C_API void xnGetDepthMetaData(XnNodeHandle hInstance, XnDepthMetaData* pMetaData);
00854 
00857 //---------------------------------------------------------------------------
00858 // User Position Capability
00859 //---------------------------------------------------------------------------
00860 
00876 XN_C_API XnUInt32 xnGetSupportedUserPositionsCount(XnNodeHandle hInstance);
00877 
00887 XN_C_API XnStatus xnSetUserPosition(XnNodeHandle hInstance, XnUInt32 nIndex, const XnBoundingBox3D* pPosition);
00888 
00898 XN_C_API XnStatus xnGetUserPosition(XnNodeHandle hInstance, XnUInt32 nIndex, XnBoundingBox3D* pPosition);
00899 
00910 XN_C_API XnStatus xnRegisterToUserPositionChange(XnNodeHandle hInstance, XnStateChangedHandler handler,
00911         void* pCookie, XnCallbackHandle* phCallback);
00912 
00919 XN_C_API void xnUnregisterFromUserPositionChange(XnNodeHandle hInstance, XnCallbackHandle hCallback);
00920 
00923 //---------------------------------------------------------------------------
00924 // Image Generators
00925 //---------------------------------------------------------------------------
00926 
00944 XN_C_API XnStatus xnCreateImageGenerator(
00945         XnContext* pContext,
00946         XnNodeHandle* phImageGenerator,
00947         XnNodeQuery* pQuery, 
00948         XnEnumerationErrors* pErrors
00949         );
00950 
00959 XN_C_API XnRGB24Pixel* xnGetRGB24ImageMap(XnNodeHandle hInstance);
00960 
00969 XN_C_API XnYUV422DoublePixel* xnGetYUV422ImageMap(XnNodeHandle hInstance);
00970 
00979 XN_C_API XnGrayscale8Pixel* xnGetGrayscale8ImageMap(XnNodeHandle hInstance);
00980 
00989 XN_C_API XnGrayscale16Pixel* xnGetGrayscale16ImageMap(XnNodeHandle hInstance);
00990 
01003 XN_C_API XnUInt8* xnGetImageMap(XnNodeHandle hInstance);
01004 
01011 XN_C_API XnBool xnIsPixelFormatSupported(XnNodeHandle hInstance, XnPixelFormat Format);
01012 
01021 XN_C_API XnStatus xnSetPixelFormat(XnNodeHandle hInstance, XnPixelFormat Format);
01022 
01030 XN_C_API XnPixelFormat xnGetPixelFormat(XnNodeHandle hInstance);
01031 
01042 XN_C_API XnStatus xnRegisterToPixelFormatChange(XnNodeHandle hInstance, XnStateChangedHandler handler,
01043         void* pCookie, XnCallbackHandle* phCallback);
01044 
01051 XN_C_API void xnUnregisterFromPixelFormatChange(XnNodeHandle hInstance, XnCallbackHandle hCallback);
01052 
01059 XN_C_API void xnGetImageMetaData(XnNodeHandle hInstance, XnImageMetaData* pMetaData);
01060 
01063 //---------------------------------------------------------------------------
01064 // IR Generators
01065 //---------------------------------------------------------------------------
01066 
01083 XN_C_API XnStatus xnCreateIRGenerator(
01084         XnContext* pContext,
01085         XnNodeHandle* phIRGenerator,
01086         XnNodeQuery* pQuery, 
01087         XnEnumerationErrors* pErrors
01088         );
01089 
01097 XN_C_API XnIRPixel* xnGetIRMap(XnNodeHandle hInstance);
01098 
01105 XN_C_API void xnGetIRMetaData(XnNodeHandle hInstance, XnIRMetaData* pMetaData);
01106 
01109 //---------------------------------------------------------------------------
01110 // Gesture Generators
01111 //---------------------------------------------------------------------------
01112 
01129 XN_C_API XnStatus xnCreateGestureGenerator(
01130         XnContext* pContext,
01131         XnNodeHandle* phGestureGenerator,
01132         XnNodeQuery* pQuery, 
01133         XnEnumerationErrors* pErrors
01134         );
01135 
01143 XN_C_API XnStatus xnAddGesture(XnNodeHandle hInstance, const XnChar* strGesture, XnBoundingBox3D* pArea);
01150 XN_C_API XnStatus xnRemoveGesture(XnNodeHandle hInstance, const XnChar* strGesture);
01158 XN_C_API XnStatus xnGetActiveGestures(XnNodeHandle hInstance, XnChar** pstrGestures, XnUInt16* nGestures);
01166 XN_C_API XnStatus xnEnumerateGestures(XnNodeHandle hInstance, XnChar** pstrGestures, XnUInt16* nGestures);
01173 XN_C_API XnBool xnIsGestureAvailable(XnNodeHandle hInstance, const XnChar* strGesture);
01180 XN_C_API XnBool xnIsGestureProgressSupported(XnNodeHandle hInstance, const XnChar* strGesture);
01190 XN_C_API XnStatus xnRegisterGestureCallbacks(XnNodeHandle hInstance, XnGestureRecognized RecognizedCB, XnGestureProgress ProgressCB, void* pCookie, XnCallbackHandle* phCallback);
01197 XN_C_API void xnUnregisterGestureCallbacks(XnNodeHandle hInstance, XnCallbackHandle hCallback);
01206 XN_C_API XnStatus xnRegisterToGestureChange(XnNodeHandle hInstance, XnStateChangedHandler handler, void* pCookie, XnCallbackHandle* phCallback);
01213 XN_C_API void xnUnregisterFromGestureChange(XnNodeHandle hInstance, XnCallbackHandle hCallback);
01214 
01217 //---------------------------------------------------------------------------
01218 // Scene Analysis
01219 //---------------------------------------------------------------------------
01220 
01237 XN_C_API XnStatus xnCreateSceneAnalyzer(
01238         XnContext* pContext,
01239         XnNodeHandle* phSceneAnalyzer,
01240         XnNodeQuery* pQuery, 
01241         XnEnumerationErrors* pErrors
01242         );
01243 
01249 XN_C_API const XnLabel* xnGetLabelMap(XnNodeHandle hInstance);
01256 XN_C_API XnStatus xnGetFloor(XnNodeHandle hInstance, XnPlane3D* pPlane);
01257 
01264 XN_C_API void xnGetSceneMetaData(XnNodeHandle hInstance, XnSceneMetaData* pMetaData);
01265 
01268 //---------------------------------------------------------------------------
01269 // User Generator
01270 //---------------------------------------------------------------------------
01271 
01288 XN_C_API XnStatus xnCreateUserGenerator(
01289         XnContext* pContext,
01290         XnNodeHandle* phUserGenerator,
01291         XnNodeQuery* pQuery, 
01292         XnEnumerationErrors* pErrors
01293         );
01294 
01300 XN_C_API XnUInt16 xnGetNumberOfUsers(XnNodeHandle hInstance);
01308 XN_C_API XnStatus xnGetUsers(XnNodeHandle hInstance, XnUserID* pUsers, XnUInt16* pnUsers);
01316 XN_C_API XnStatus xnGetUserCoM(XnNodeHandle hInstance, XnUserID user, XnPoint3D* pCoM);
01329 XN_C_API XnStatus xnGetUserPixels(XnNodeHandle hInstance, XnUserID user, XnSceneMetaData* pScene);
01339 XN_C_API XnStatus xnRegisterUserCallbacks(XnNodeHandle hInstance, XnUserHandler NewUserCB, XnUserHandler LostUserCB, void* pCookie, XnCallbackHandle* phCallback);
01346 XN_C_API void xnUnregisterUserCallbacks(XnNodeHandle hInstance, XnCallbackHandle hCallback);
01347 
01350 //---------------------------------------------------------------------------
01351 // Skeleton Capability
01352 //---------------------------------------------------------------------------
01353 
01368 XN_C_API XnBool xnIsJointAvailable(XnNodeHandle hInstance, XnSkeletonJoint eJoint);
01375 XN_C_API XnBool xnIsProfileAvailable(XnNodeHandle hInstance, XnSkeletonProfile eProfile);
01382 XN_C_API XnStatus xnSetSkeletonProfile(XnNodeHandle hInstance, XnSkeletonProfile eProfile);
01390 XN_C_API XnStatus xnSetJointActive(XnNodeHandle hInstance, XnSkeletonJoint eJoint, XnBool bState);
01397 XN_C_API XnBool xnIsJointActive(XnNodeHandle hInstance, XnSkeletonJoint eJoint);
01406 XN_C_API XnStatus xnRegisterToJointConfigurationChange(XnNodeHandle hInstance, XnStateChangedHandler handler, void* pCookie, XnCallbackHandle* phCallback);
01413 XN_C_API void xnUnregisterFromJointConfigurationChange(XnNodeHandle hInstance, XnCallbackHandle hCallback);
01421 XN_C_API XnStatus xnEnumerateActiveJoints(XnNodeHandle hInstance, XnSkeletonJoint* pJoints, XnUInt16* pnJoints);
01430 XN_C_API XnStatus xnGetSkeletonJoint(XnNodeHandle hInstance, XnUserID user, XnSkeletonJoint eJoint, XnSkeletonJointTransformation* pJoint);
01439 XN_C_API XnStatus xnGetSkeletonJointPosition(XnNodeHandle hInstance, XnUserID user, XnSkeletonJoint eJoint, XnSkeletonJointPosition* pJoint);
01448 XN_C_API XnStatus xnGetSkeletonJointOrientation(XnNodeHandle hInstance, XnUserID user, XnSkeletonJoint eJoint, XnSkeletonJointOrientation* pJoint);
01455 XN_C_API XnBool xnIsSkeletonTracking(XnNodeHandle hInstance, XnUserID user);
01462 XN_C_API XnBool xnIsSkeletonCalibrated(XnNodeHandle hInstance, XnUserID user);
01469 XN_C_API XnBool xnIsSkeletonCalibrating(XnNodeHandle hInstance, XnUserID user);
01477 XN_C_API XnStatus xnRequestSkeletonCalibration(XnNodeHandle hInstance, XnUserID user, XnBool bForce);
01484 XN_C_API XnStatus xnAbortSkeletonCalibration(XnNodeHandle hInstance, XnUserID user);
01492 XN_C_API XnStatus xnSaveSkeletonCalibrationData(XnNodeHandle hInstance, XnUserID user, XnUInt32 nSlot);
01500 XN_C_API XnStatus xnLoadSkeletonCalibrationData(XnNodeHandle hInstance, XnUserID user, XnUInt32 nSlot);
01507 XN_C_API XnStatus xnClearSkeletonCalibrationData(XnNodeHandle hInstance, XnUInt32 nSlot);
01514 XN_C_API XnBool xnIsSkeletonCalibrationData(XnNodeHandle hInstance, XnUInt32 nSlot);
01521 XN_C_API XnStatus xnStartSkeletonTracking(XnNodeHandle hInstance, XnUserID user);
01528 XN_C_API XnStatus xnStopSkeletonTracking(XnNodeHandle hInstance, XnUserID user);
01535 XN_C_API XnStatus xnResetSkeleton(XnNodeHandle hInstance, XnUserID user);
01541 XN_C_API XnBool xnNeedPoseForSkeletonCalibration(XnNodeHandle hInstance);
01548 XN_C_API XnStatus xnGetSkeletonCalibrationPose(XnNodeHandle hInstance, XnChar* strPose);
01555 XN_C_API XnStatus xnSetSkeletonSmoothing(XnNodeHandle hInstance, XnFloat fFactor);
01565 XN_C_API XnStatus xnRegisterCalibrationCallbacks(XnNodeHandle hInstance, XnCalibrationStart CalibrationStartCB, XnCalibrationEnd CalibrationEndCB, void* pCookie, XnCallbackHandle* phCallback);
01572 XN_C_API void xnUnregisterCalibrationCallbacks(XnNodeHandle hInstance, XnCallbackHandle hCallback);
01573 
01576 //---------------------------------------------------------------------------
01577 // Pose Detection Capability
01578 //---------------------------------------------------------------------------
01579 
01593 XN_C_API XnUInt32 xnGetNumberOfPoses(XnNodeHandle hInstance);
01601 XN_C_API XnStatus xnGetAvailablePoses(XnNodeHandle hInstance, XnChar** pstrPoses, XnUInt32* pnPoses);
01609 XN_C_API XnStatus xnStartPoseDetection(XnNodeHandle hInstance,const  XnChar* strPose, XnUserID user);
01616 XN_C_API XnStatus xnStopPoseDetection(XnNodeHandle hInstance, XnUserID user);
01626 XN_C_API XnStatus xnRegisterToPoseCallbacks(XnNodeHandle hInstance, XnPoseDetectionCallback PoseDetectionStartCB, XnPoseDetectionCallback PoseDetectionEndCB, void* pCookie, XnCallbackHandle* phCallback);
01633 XN_C_API void xnUnregisterFromPoseCallbacks(XnNodeHandle hInstance, XnCallbackHandle hCallback);
01634 
01637 //---------------------------------------------------------------------------
01638 // Hands Generator
01639 //---------------------------------------------------------------------------
01640 
01657 XN_C_API XnStatus xnCreateHandsGenerator(
01658         XnContext* pContext,
01659         XnNodeHandle* phHandsGenerator,
01660         XnNodeQuery* pQuery, 
01661         XnEnumerationErrors* pErrors
01662         );
01663 
01674 XN_C_API XnStatus xnRegisterHandCallbacks(XnNodeHandle hInstance, XnHandCreate CreateCB, XnHandUpdate UpdateCB, XnHandDestroy DestroyCB, void* pCookie, XnCallbackHandle* phCallback);
01681 XN_C_API void xnUnregisterHandCallbacks(XnNodeHandle hInstance, XnCallbackHandle hCallback);
01688 XN_C_API XnStatus xnStopTracking(XnNodeHandle hInstance, XnUserID user);
01694 XN_C_API XnStatus xnStopTrackingAll(XnNodeHandle hInstance);
01701 XN_C_API XnStatus xnStartTracking(XnNodeHandle hInstance, const XnPoint3D* pPosition);
01708 XN_C_API XnStatus xnSetTrackingSmoothing(XnNodeHandle hInstance, XnFloat fFactor);
01709 
01712 //---------------------------------------------------------------------------
01713 // Audio Generator
01714 //---------------------------------------------------------------------------
01715 
01732 XN_C_API XnStatus xnCreateAudioGenerator(
01733         XnContext* pContext,
01734         XnNodeHandle* phAudioGenerator,
01735         XnNodeQuery* pQuery, 
01736         XnEnumerationErrors* pErrors
01737         );
01738 
01739 XN_C_API XnUChar* xnGetAudioBuffer(XnNodeHandle hInstance);
01740 XN_C_API XnUInt32 xnGetSupportedWaveOutputModesCount(XnNodeHandle hInstance);
01741 XN_C_API XnStatus xnGetSupportedWaveOutputModes(XnNodeHandle hInstance, XnWaveOutputMode* aSupportedModes, XnUInt32* pnCount);
01742 XN_C_API XnStatus xnSetWaveOutputMode(XnNodeHandle hInstance, const XnWaveOutputMode* OutputMode);
01743 XN_C_API XnStatus xnGetWaveOutputMode(XnNodeHandle hInstance, XnWaveOutputMode* OutputMode);
01744 XN_C_API XnStatus xnRegisterToWaveOutputModeChanges(XnNodeHandle hInstance, XnStateChangedHandler handler, void* pCookie, XnCallbackHandle* phCallback);
01745 XN_C_API void xnUnregisterFromWaveOutputModeChanges(XnNodeHandle hInstance, XnCallbackHandle hCallback);
01746 
01753 XN_C_API void xnGetAudioMetaData(XnNodeHandle hInstance, XnAudioMetaData* pMetaData);
01754 
01757 //---------------------------------------------------------------------------
01758 // Mocks
01759 //---------------------------------------------------------------------------
01760 
01767 XN_C_API XnStatus xnMockDepthSetData(XnNodeHandle hInstance, XnUInt32 nFrameID, XnUInt64 nTimestamp, XnUInt32 nDataSize, const XnDepthPixel* pData);
01768 XN_C_API XnStatus xnMockImageSetData(XnNodeHandle hInstance, XnUInt32 nFrameID, XnUInt64 nTimestamp, XnUInt32 nDataSize, const XnUInt8* pData);
01769 XN_C_API XnStatus xnMockIRSetData(XnNodeHandle hInstance, XnUInt32 nFrameID, XnUInt64 nTimestamp, XnUInt32 nDataSize, const XnIRPixel* pData);
01770 XN_C_API XnStatus xnMockAudioSetData(XnNodeHandle hInstance, XnUInt32 nFrameID, XnUInt64 nTimestamp, XnUInt32 nDataSize, const XnUInt8* pData);
01771 
01774 //---------------------------------------------------------------------------
01775 // Codecs
01776 //---------------------------------------------------------------------------
01777 
01786 XN_C_API XnStatus xnCreateCodec(XnContext* pContext, XnCodecID codecID, XnNodeHandle hInitializerNode, XnNodeHandle* phCodec);
01787 XN_C_API XnCodecID xnGetCodecID(XnNodeHandle hCodec);
01788 XN_C_API XnStatus xnEncodeData(XnNodeHandle hCodec, const void* pSrc, XnUInt32 nSrcSize, 
01789                                                            void* pDst, XnUInt32 nDstSize, XnUInt* pnBytesWritten);
01790 XN_C_API XnStatus xnDecodeData(XnNodeHandle hCodec, const void* pSrc, XnUInt32 nSrcSize, 
01791                                                            void* pDst, XnUInt32 nDstSize, XnUInt* pnBytesWritten);
01792 
01795 //---------------------------------------------------------------------------
01796 // Recorder
01797 //---------------------------------------------------------------------------
01813 XN_C_API XnStatus xnCreateRecorder(XnContext* pContext, const XnChar* strFormatName, XnNodeHandle* phRecorder);
01814 
01822 XN_C_API XnStatus xnSetRecorderDestination(XnNodeHandle hRecorder, XnRecordMedium destType, const XnChar* strDest);
01823 
01834 XN_C_API XnStatus xnAddNodeToRecording(XnNodeHandle hRecorder, XnNodeHandle hNode, XnCodecID compression);
01835 
01843 XN_C_API XnStatus xnRemoveNodeFromRecording(XnNodeHandle hRecorder, XnNodeHandle hNode);
01844 
01850 XN_C_API XnStatus xnRecord(XnNodeHandle hRecorder);
01851 
01857 XN_C_API const XnChar* xnGetRecorderFormat(XnNodeHandle hRecorder);
01858 
01861 //---------------------------------------------------------------------------
01862 // Player
01863 //---------------------------------------------------------------------------
01864 
01880 XN_C_API XnStatus xnCreatePlayer(XnContext* pContext, const XnChar* strFormatName, XnNodeHandle* phPlayer);
01881 
01891 XN_C_API XnStatus xnSetPlayerRepeat(XnNodeHandle hPlayer, XnBool bRepeat);
01892 
01904 XN_C_API XnStatus xnSetPlayerSource(XnNodeHandle hPlayer, XnRecordMedium sourceType, const XnChar* strSource);
01905 
01916 XN_C_API XnStatus xnGetPlayerSource(XnNodeHandle hPlayer, XnRecordMedium* pSourceType, XnChar* strSource, XnUInt32 nBufSize);
01917 
01925 XN_C_API XnStatus xnPlayerReadNext(XnNodeHandle hPlayer);
01926 
01944 XN_C_API XnStatus xnSeekPlayerToTimeStamp(XnNodeHandle hPlayer, XnInt64 nTimeOffset, XnPlayerSeekOrigin origin);
01945 
01965 XN_C_API XnStatus xnSeekPlayerToFrame(XnNodeHandle hPlayer, const XnChar* strNodeName, XnInt32 nFrameOffset, XnPlayerSeekOrigin origin);
01966 
01973 XN_C_API XnStatus xnTellPlayerTimestamp(XnNodeHandle hPlayer, XnUInt64* pnTimestamp);
01974 
01984 XN_C_API XnStatus xnTellPlayerFrame(XnNodeHandle hPlayer, const XnChar* strNodeName, XnUInt32* pnFrame);
01985 
01993 XN_C_API XnStatus xnGetPlayerNumFrames(XnNodeHandle hPlayer, const XnChar* strNodeName, XnUInt32* pnFrames);
01994 
02001 XN_C_API const XnChar* xnGetPlayerSupportedFormat(XnNodeHandle hPlayer);
02002 
02012 XN_C_API XnStatus xnEnumeratePlayerNodes(XnNodeHandle hPlayer, XnNodeInfoList** ppList);
02013 
02022 XN_C_API XnBool xnIsPlayerAtEOF(XnNodeHandle hPlayer);
02023 
02034 XN_C_API XnStatus xnRegisterToEndOfFileReached
02035         (XnNodeHandle hPlayer, XnStateChangedHandler handler,
02036         void* pCookie, XnCallbackHandle* phCallback);
02037 
02044 XN_C_API void xnUnregisterFromEndOfFileReached
02045         (XnNodeHandle hInstance, XnCallbackHandle hCallback);
02046 
02049 #endif // __XN_PRD_NODE_H__


nao_openni
Author(s): Bener SUAY
autogenerated on Mon Jan 6 2014 11:27:51