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

Function xnCreatePrivateData

Source/OpenNI/XnOpenNI.cpp:1436–1495  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1434}
1435
1436XnStatus xnCreatePrivateData(XnInternalNodeData* pNodeData)
1437{
1438 XnStatus nRetVal = XN_STATUS_OK;
1439
1440 if (pNodeData->pTypeHierarchy->IsSet(XN_NODE_TYPE_RECORDER))
1441 {
1442 xn::RecorderImpl *pRecorderImpl = NULL;
1443 XN_VALIDATE_NEW(pRecorderImpl, xn::RecorderImpl);
1444 nRetVal = pRecorderImpl->Init(pNodeData);
1445 if (nRetVal != XN_STATUS_OK)
1446 {
1447 XN_DELETE(pRecorderImpl);
1448 return nRetVal;
1449 }
1450
1451 pNodeData->pPrivateData = pRecorderImpl;
1452 }
1453 else if (pNodeData->pTypeHierarchy->IsSet(XN_NODE_TYPE_PLAYER))
1454 {
1455 xn::PlayerImpl *pPlayerImpl = NULL;
1456 XN_VALIDATE_NEW(pPlayerImpl, xn::PlayerImpl);
1457 nRetVal = pPlayerImpl->Init(pNodeData);
1458 if (nRetVal != XN_STATUS_OK)
1459 {
1460 XN_DELETE(pPlayerImpl);
1461 return nRetVal;
1462 }
1463 pNodeData->pPrivateData = pPlayerImpl;
1464 }
1465 else if (pNodeData->pTypeHierarchy->IsSet(XN_NODE_TYPE_DEPTH))
1466 {
1467 xn::DepthPrivateData* pDepthPrivateData = NULL;
1468 XN_VALIDATE_NEW(pDepthPrivateData, xn::DepthPrivateData);
1469 nRetVal = pDepthPrivateData->Init(pNodeData);
1470 if (nRetVal != XN_STATUS_OK)
1471 {
1472 XN_DELETE(pDepthPrivateData);
1473 return nRetVal;
1474 }
1475 pNodeData->pPrivateData = pDepthPrivateData;
1476 }
1477 else if(pNodeData->pTypeHierarchy->IsSet(XN_NODE_TYPE_USER))
1478 {
1479 xn::PosePrivateData * pPosePrivateData=NULL;
1480
1481 if(xnIsCapabilitySupported(pNodeData,XN_CAPABILITY_POSE_DETECTION))
1482 {
1483 XN_VALIDATE_NEW(pPosePrivateData, xn::PosePrivateData);
1484 nRetVal = pPosePrivateData->Init(pNodeData);
1485 if (nRetVal != XN_STATUS_OK)
1486 {
1487 XN_DELETE(pPosePrivateData);
1488 return nRetVal;
1489 }
1490 pNodeData->pPrivateData = pPosePrivateData;
1491 }
1492
1493 }

Callers 1

Calls 3

xnIsCapabilitySupportedFunction · 0.85
IsSetMethod · 0.80
InitMethod · 0.45

Tested by

no test coverage detected