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

Function xnRemoveNodeFromRecording

Source/OpenNI/XnOpenNI.cpp:3750–3785  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

3748}
3749
3750XN_C_API XnStatus xnRemoveNodeFromRecording(XnNodeHandle hRecorder, XnNodeHandle hNode)
3751{
3752 XN_VALIDATE_INPUT_PTR(hRecorder);
3753 XN_VALIDATE_INTERFACE_TYPE(hRecorder, XN_NODE_TYPE_RECORDER);
3754 XN_VALIDATE_INPUT_PTR(hNode);
3755 XN_VALIDATE_CHANGES_ALLOWED(hRecorder);
3756 XnStatus nRetVal = XN_STATUS_OK;
3757
3758 //Find node in recorder's dependencies
3759 XnNodeInfoList *pRecorderNeededTrees = hRecorder->pNodeInfo->pNeededTrees;
3760 XnNodeInfoListIterator it = xnNodeInfoListGetFirst(pRecorderNeededTrees);
3761 while (xnNodeInfoListIteratorIsValid(it) && (xnNodeInfoListGetCurrent(it)->hNode != hNode))
3762 {
3763 it = xnNodeInfoListGetNext(it);
3764 }
3765
3766 if (!xnNodeInfoListIteratorIsValid(it))
3767 {
3768 //node not found in recorder dependency list
3769 return XN_STATUS_NO_MATCH;
3770 }
3771
3772 // Remove node from recording
3773 xn::RecorderImpl *pRecorderImpl = dynamic_cast<xn::RecorderImpl*>(hRecorder->pPrivateData);
3774 XN_VALIDATE_PTR(pRecorderImpl, XN_STATUS_ERROR);
3775
3776 xn::ProductionNode node(hNode);
3777 nRetVal = pRecorderImpl->RemoveNode(node);
3778 XN_IS_STATUS_OK(nRetVal);
3779
3780 //Remove node from recorder's dependencies
3781 nRetVal = xnRemoveNeededNode(hRecorder, hNode);
3782 XN_IS_STATUS_OK(nRetVal);
3783
3784 return (XN_STATUS_OK);
3785}
3786
3787XN_C_API XnStatus xnRecord(XnNodeHandle hInstance)
3788{

Calls 4

xnNodeInfoListGetCurrentFunction · 0.85
xnRemoveNeededNodeFunction · 0.85
RemoveNodeMethod · 0.45

Tested by

no test coverage detected