22 #ifndef XN_MODULE_C_FUNCTIONS_H_
23 #define XN_MODULE_C_FUNCTIONS_H_
29 #define _XN_VALIDATE_CAPABILITY_INTERFACE_RET(capInterface, retVal) \
30 if (capInterface == NULL) \
33 #define _XN_VALIDATE_CAPABILITY_INTERFACE(capInterface) \
34 _XN_VALIDATE_CAPABILITY_INTERFACE_RET(capInterface, XN_STATUS_INVALID_OPERATION)
36 XnBool XN_CALLBACK_TYPE __ModuleIsCapabilitySupported(
XnModuleNodeHandle hInstance,
const XnChar* strCapabilityName)
46 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
53 _XN_VALIDATE_CAPABILITY_INTERFACE_RET(pInterface,);
61 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
69 _XN_VALIDATE_CAPABILITY_INTERFACE_RET(pInterface,
FALSE);
77 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
85 _XN_VALIDATE_CAPABILITY_INTERFACE_RET(pInterface,);
93 _XN_VALIDATE_CAPABILITY_INTERFACE_RET(pInterface,
XN_STATUS_OK);
101 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
109 _XN_VALIDATE_CAPABILITY_INTERFACE_RET(pInterface,);
113 XnStatus XN_CALLBACK_TYPE __ModuleGeneralIntGetRange(
XnModuleNodeHandle hInstance,
const XnChar* strCap, XnInt32* pnMin, XnInt32* pnMax, XnInt32* pnStep, XnInt32* pnDefault, XnBool* pbIsAutoSupported)
117 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
118 return pInterface->
GetRange(strCap, *pnMin, *pnMax, *pnStep, *pnDefault, *pbIsAutoSupported);
125 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
126 return pInterface->
Get(strCap, *pnValue);
133 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
134 return pInterface->
Set(strCap, nValue);
137 XnStatus XN_CALLBACK_TYPE __ModuleGeneralIntRegisterToValueChange
143 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
147 void XN_CALLBACK_TYPE __ModuleGeneralIntUnregisterFromValueChange
152 _XN_VALIDATE_CAPABILITY_INTERFACE_RET(pInterface,);
168 XnStatus XN_CALLBACK_TYPE __ModuleSetStringProperty(
XnModuleNodeHandle hInstance,
const XnChar* strName,
const XnChar* strValue)
174 XnStatus XN_CALLBACK_TYPE __ModuleSetGeneralProperty(
XnModuleNodeHandle hInstance,
const XnChar* strName, XnUInt32 nBufferSize,
const void* pBuffer)
192 XnStatus XN_CALLBACK_TYPE __ModuleGetStringProperty(
XnModuleNodeHandle hInstance,
const XnChar* strName, XnChar* csValue, XnUInt32 nBufSize)
198 XnStatus XN_CALLBACK_TYPE __ModuleGetGeneralProperty(
XnModuleNodeHandle hInstance,
const XnChar* strName, XnUInt32 nBufferSize,
void* pBuffer)
243 return pNode->
SeekToFrame(strNodeName, nFrameOffset, origin);
257 return pNode->
TellFrame(strNodeName, *pnFrame);
267 const XnChar* XN_CALLBACK_TYPE __ModuleGetSupportedFormat(
XnModuleNodeHandle hInstance)
278 return pNode->
IsEOF();
306 return pNode->
OnNodeAdded(strNodeName, type, compression);
316 XnStatus XN_CALLBACK_TYPE __ModuleOnNodeIntPropChanged(
XnModuleNodeHandle hGenerator,
const XnChar *strNodeName,
const XnChar* strPropName, XnUInt64 nValue)
323 XnStatus XN_CALLBACK_TYPE __ModuleOnNodeRealPropChanged(
XnModuleNodeHandle hGenerator,
const XnChar *strNodeName,
const XnChar* strPropName, XnDouble dValue)
330 XnStatus XN_CALLBACK_TYPE __ModuleOnNodeStringPropChanged(
XnModuleNodeHandle hGenerator,
const XnChar *strNodeName,
const XnChar* strPropName,
const XnChar* strValue)
337 XnStatus XN_CALLBACK_TYPE __ModuleOnNodeGeneralPropChanged(
XnModuleNodeHandle hGenerator,
const XnChar *strNodeName,
const XnChar* strPropName, XnUInt32 nBufferSize,
const void* pBuffer)
344 XnStatus XN_CALLBACK_TYPE __ModuleOnNodeNewData(
XnModuleNodeHandle hGenerator,
const XnChar *strNodeName, XnUInt64 nTimeStamp, XnUInt32 nFrame,
const void *pData, XnUInt32 nSize)
348 return pNode->
OnNodeNewData(strNodeName, nTimeStamp, nFrame, pData, nSize);
363 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
367 XnStatus XN_CALLBACK_TYPE __ModuleGetVendorSpecificData(
XnModuleNodeHandle hInstance, XnChar* strBuffer, XnUInt32* pnBufferSize)
372 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
381 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
390 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
399 _XN_VALIDATE_CAPABILITY_INTERFACE_RET(pInterface,
FALSE);
408 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
417 _XN_VALIDATE_CAPABILITY_INTERFACE_RET(pInterface,);
427 _XN_VALIDATE_CAPABILITY_INTERFACE_RET(pInterface,
FALSE);
437 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
446 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
455 _XN_VALIDATE_CAPABILITY_INTERFACE_RET(pInterface,
FALSE);
465 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
474 _XN_VALIDATE_CAPABILITY_INTERFACE_RET(pInterface,);
483 _XN_VALIDATE_CAPABILITY_INTERFACE_RET(pInterface,
FALSE);
493 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
503 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
513 _XN_VALIDATE_CAPABILITY_INTERFACE_RET(pInterface,
FALSE);
523 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
532 _XN_VALIDATE_CAPABILITY_INTERFACE_RET(pInterface,);
585 XnBool XN_CALLBACK_TYPE __ModuleIsNewDataAvailable(
XnModuleNodeHandle hGenerator, XnUInt64* pnTimestamp)
632 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
641 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
650 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
659 _XN_VALIDATE_CAPABILITY_INTERFACE_RET(pInterface,);
668 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
686 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
695 _XN_VALIDATE_CAPABILITY_INTERFACE_RET(pInterface,);
699 XnUInt32 XN_CALLBACK_TYPE __ModuleGetSupportedMapOutputModesCount(
XnModuleNodeHandle hGenerator)
748 XnUInt32 XN_CALLBACK_TYPE __ModuleGetSupportedUserPositionsCount(
XnModuleNodeHandle hGenerator)
753 _XN_VALIDATE_CAPABILITY_INTERFACE_RET(pInterface, 0);
762 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
771 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
780 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
789 _XN_VALIDATE_CAPABILITY_INTERFACE_RET(pInterface,);
890 XnStatus XN_CALLBACK_TYPE __ModuleGetActiveGestures(
XnModuleNodeHandle hGenerator, XnChar** pstrGestures, XnUInt16* pnGestures)
896 XnStatus XN_CALLBACK_TYPE __ModuleGetAllActiveGestures(
XnModuleNodeHandle hGenerator, XnChar** pstrGestures, XnUInt32 nNameLength, XnUInt16* pnGestures)
902 XnStatus XN_CALLBACK_TYPE __ModuleEnumerateGestures(
XnModuleNodeHandle hGenerator, XnChar** pstrGestures, XnUInt16* pnGestures)
908 XnStatus XN_CALLBACK_TYPE __ModuleEnumerateAllGestures(
XnModuleNodeHandle hGenerator, XnChar** pstrGestures, XnUInt32 nNameLength, XnUInt16* pnGestures)
914 XnBool XN_CALLBACK_TYPE __ModuleIsGestureAvailable(
XnModuleNodeHandle hGenerator,
const XnChar* strGesture)
920 XnBool XN_CALLBACK_TYPE __ModuleIsGestureProgressSupported(
XnModuleNodeHandle hGenerator,
const XnChar* strGesture)
1030 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
1038 _XN_VALIDATE_CAPABILITY_INTERFACE_RET(pInterface, );
1047 _XN_VALIDATE_CAPABILITY_INTERFACE_RET(pInterface,
FALSE);
1055 _XN_VALIDATE_CAPABILITY_INTERFACE_RET(pInterface,
FALSE);
1063 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
1071 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
1079 _XN_VALIDATE_CAPABILITY_INTERFACE_RET(pInterface,
FALSE);
1087 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
1095 _XN_VALIDATE_CAPABILITY_INTERFACE_RET(pInterface,);
1103 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
1111 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
1119 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
1127 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
1135 _XN_VALIDATE_CAPABILITY_INTERFACE_RET(pInterface,
FALSE);
1143 _XN_VALIDATE_CAPABILITY_INTERFACE_RET(pInterface,
FALSE);
1151 _XN_VALIDATE_CAPABILITY_INTERFACE_RET(pInterface,
FALSE);
1160 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
1168 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
1176 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
1184 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
1192 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
1200 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
1208 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
1211 XnBool XN_CALLBACK_TYPE __ModuleIsCalibrationData(
XnModuleNodeHandle hGenerator, XnUInt32 nSlot)
1216 _XN_VALIDATE_CAPABILITY_INTERFACE_RET(pInterface,
FALSE);
1224 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
1232 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
1240 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
1241 return pInterface->
Reset(user);
1243 XnBool XN_CALLBACK_TYPE __ModuleNeedPoseForSkeletonCalibration(
XnModuleNodeHandle hGenerator)
1248 _XN_VALIDATE_CAPABILITY_INTERFACE_RET(pInterface,
FALSE);
1256 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
1264 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
1272 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
1280 _XN_VALIDATE_CAPABILITY_INTERFACE_RET(pInterface,);
1289 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
1297 _XN_VALIDATE_CAPABILITY_INTERFACE_RET(pInterface,);
1306 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
1314 _XN_VALIDATE_CAPABILITY_INTERFACE_RET(pInterface,);
1322 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
1330 _XN_VALIDATE_CAPABILITY_INTERFACE_RET(pInterface,);
1339 _XN_VALIDATE_CAPABILITY_INTERFACE_RET(pInterface, 0);
1347 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
1350 XnStatus XN_CALLBACK_TYPE __ModuleGetAllAvailablePoses(
XnModuleNodeHandle hGenerator, XnChar** pstrPoses, XnUInt32 nNameLength, XnUInt32* pnPoses)
1355 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
1364 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
1372 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
1381 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
1389 _XN_VALIDATE_CAPABILITY_INTERFACE_RET(pInterface,);
1398 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
1406 _XN_VALIDATE_CAPABILITY_INTERFACE_RET(pInterface,);
1414 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
1422 _XN_VALIDATE_CAPABILITY_INTERFACE_RET(pInterface,);
1431 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
1439 _XN_VALIDATE_CAPABILITY_INTERFACE_RET(pInterface,);
1454 return pNode->
GetUsers(pUsers, *pnUsers);
1460 return pNode->
GetCoM(user, *pCoM);
1513 XnUInt32 XN_CALLBACK_TYPE __ModuleGetSupportedWaveOutputModesCount(
XnModuleNodeHandle hGenerator)
1562 XnStatus XN_CALLBACK_TYPE __ModuleCompressData(
XnModuleNodeHandle hCodec,
const void* pSrc, XnUInt32 nSrcSize,
void* pDst, XnUInt32 nDstSize, XnUInt* pnBytesWritten)
1566 return pCodec->
CompressData(pSrc, nSrcSize, pDst, nDstSize, pnBytesWritten);
1568 XnStatus XN_CALLBACK_TYPE __ModuleDecompressData(
XnModuleNodeHandle hCodec,
const void* pSrc, XnUInt32 nSrcSize,
void* pDst, XnUInt32 nDstSize, XnUInt* pnBytesWritten)
1572 return pCodec->
DecompressData(pSrc, nSrcSize, pDst, nDstSize, pnBytesWritten);
1575 const XnChar* XN_CALLBACK_TYPE __ModuleScriptGetSupportedFormat(
XnModuleNodeHandle hScript)
1602 return pScript->
Run(createdNodes, errors);
1628 pInterface->
GetRange = __ModuleGeneralIntGetRange;
1629 pInterface->
Get = __ModuleGeneralIntGet;
1630 pInterface->
Set = __ModuleGeneralIntSet;
1668 pInterface->
SetMirror = __ModuleSetMirror;
1706 pInterface->
GetData = __ModuleGetData;
1715 void XN_CALLBACK_TYPE __ModuleGetNodeNotificationsInterface(
XnNodeNotifications *pInterface)
1738 pInterface->
ReadNext = __ModuleReadNext;
1740 pInterface->
SetRepeat = __ModuleSetRepeat;
1744 pInterface->
TellFrame = __ModuleTellFrame;
1747 pInterface->
IsEOF = __ModuleIsEOF;
1793 __ModuleGetMapGeneratorInterface(pInterface->
pMapInterface);
1804 __ModuleGetMapGeneratorInterface(pInterface->
pMapInterface);
1815 __ModuleGetMapGeneratorInterface(pInterface->
pMapInterface);
1816 pInterface->
GetIRMap = __ModuleGetIRMap;
1843 __ModuleGetMapGeneratorInterface(pInterface->
pMapInterface);
1845 pInterface->
GetFloor = __ModuleGetFloor;
1861 pInterface->
IsTracking = __ModuleIsSkeletonTracking;
1862 pInterface->
IsCalibrated = __ModuleIsSkeletonCalibrated;
1873 pInterface->
StopTracking = __ModuleStopSkeletonTracking;
1874 pInterface->
Reset = __ModuleResetSkeleton;
1877 pInterface->
SetSmoothing = __ModuleSetSkeletonSmoothing;
1914 pInterface->
GetUsers = __ModuleGetUsers;
1915 pInterface->
GetCoM = __ModuleGetUserCoM;
1943 pInterface->
SetSmoothing = __ModuleSetTrackingSmoothing;
1966 pInterface->
Init = __ModuleCodecInit;
1978 pInterface->
Run = __ModuleScriptRun;