MCPcopy Create free account
hub / github.com/OpenNI/OpenNI / xnRegisterHandCallbacks

Function xnRegisterHandCallbacks

Source/OpenNI/XnOpenNI.cpp:5633–5658  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

5631}
5632
5633XN_C_API XnStatus xnRegisterHandCallbacks(XnNodeHandle hInstance, XnHandCreate CreateCB, XnHandUpdate UpdateCB, XnHandDestroy DestroyCB, void* pCookie, XnCallbackHandle* phCallback)
5634{
5635 XN_VALIDATE_INTERFACE_TYPE(hInstance, XN_NODE_TYPE_HANDS);
5636 XN_VALIDATE_OUTPUT_PTR(phCallback);
5637 XnHandsGeneratorInterfaceContainer* pInterface = (XnHandsGeneratorInterfaceContainer*)hInstance->pModuleInstance->pLoaded->pInterface;
5638 XnModuleNodeHandle hModuleNode = hInstance->pModuleInstance->hNode;
5639
5640 HandCookie* pHandCookie;
5641 XN_VALIDATE_ALLOC(pHandCookie, HandCookie);
5642 pHandCookie->createHandler = CreateCB;
5643 pHandCookie->updateHandler = UpdateCB;
5644 pHandCookie->destroyHandler = DestroyCB;
5645 pHandCookie->hNode = hInstance;
5646 pHandCookie->pUserCookie = pCookie;
5647
5648 XnStatus nRetVal = pInterface->Hands.RegisterHandCallbacks(hModuleNode, xnHandCreateCB, xnHandUpdateCB, xnHandDestroyCB, pHandCookie, &pHandCookie->hCallback);
5649 if (nRetVal != XN_STATUS_OK)
5650 {
5651 xnOSFree(pHandCookie);
5652 return (nRetVal);
5653 }
5654
5655 *phCallback = pHandCookie;
5656
5657 return (XN_STATUS_OK);
5658}
5659XN_C_API void xnUnregisterHandCallbacks(XnNodeHandle hInstance, XnCallbackHandle hCallback)
5660{
5661 XN_VALIDATE_INTERFACE_TYPE_RET(hInstance, XN_NODE_TYPE_HANDS, );

Callers 4

RegisterHandCallbacksMethod · 0.85

Calls 2

RegisterHandCallbacksMethod · 0.80
xnOSFreeFunction · 0.50

Tested by

no test coverage detected