21 #ifndef XN_MODULE_C_FUNCTIONS_H_
22 #define XN_MODULE_C_FUNCTIONS_H_
28 #ifdef XN_NO_DYNAMIC_CAST
32 #define _XN_VALIDATE_CAPABILITY_INTERFACE_RET(capInterface, retVal) \
33 if (capInterface == NULL) \
36 #define _XN_VALIDATE_CAPABILITY_INTERFACE(capInterface) \
37 _XN_VALIDATE_CAPABILITY_INTERFACE_RET(capInterface, XN_STATUS_INVALID_OPERATION)
39 XnBool XN_CALLBACK_TYPE __ModuleIsCapabilitySupported(
XnModuleNodeHandle hInstance,
const XnChar* strCapabilityName)
49 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
56 _XN_VALIDATE_CAPABILITY_INTERFACE_RET(pInterface,);
64 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
72 _XN_VALIDATE_CAPABILITY_INTERFACE_RET(pInterface,
FALSE);
80 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
88 _XN_VALIDATE_CAPABILITY_INTERFACE_RET(pInterface,);
96 _XN_VALIDATE_CAPABILITY_INTERFACE_RET(pInterface,
XN_STATUS_OK);
104 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
112 _XN_VALIDATE_CAPABILITY_INTERFACE_RET(pInterface,);
116 XnStatus XN_CALLBACK_TYPE __ModuleGeneralIntGetRange(
XnModuleNodeHandle hInstance,
const XnChar* strCap, XnInt32* pnMin, XnInt32* pnMax, XnInt32* pnStep, XnInt32* pnDefault, XnBool* pbIsAutoSupported)
120 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
121 return pInterface->
GetRange(strCap, *pnMin, *pnMax, *pnStep, *pnDefault, *pbIsAutoSupported);
128 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
129 return pInterface->
Get(strCap, *pnValue);
136 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
137 return pInterface->
Set(strCap, nValue);
140 XnStatus XN_CALLBACK_TYPE __ModuleGeneralIntRegisterToValueChange
146 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
150 void XN_CALLBACK_TYPE __ModuleGeneralIntUnregisterFromValueChange
155 _XN_VALIDATE_CAPABILITY_INTERFACE_RET(pInterface,);
171 XnStatus XN_CALLBACK_TYPE __ModuleSetStringProperty(
XnModuleNodeHandle hInstance,
const XnChar* strName,
const XnChar* strValue)
177 XnStatus XN_CALLBACK_TYPE __ModuleSetGeneralProperty(
XnModuleNodeHandle hInstance,
const XnChar* strName, XnUInt32 nBufferSize,
const void* pBuffer)
195 XnStatus XN_CALLBACK_TYPE __ModuleGetStringProperty(
XnModuleNodeHandle hInstance,
const XnChar* strName, XnChar* csValue, XnUInt32 nBufSize)
201 XnStatus XN_CALLBACK_TYPE __ModuleGetGeneralProperty(
XnModuleNodeHandle hInstance,
const XnChar* strName, XnUInt32 nBufferSize,
void* pBuffer)
246 return pNode->
SeekToFrame(strNodeName, nFrameOffset, origin);
260 return pNode->
TellFrame(strNodeName, *pnFrame);
270 const XnChar* XN_CALLBACK_TYPE __ModuleGetSupportedFormat(
XnModuleNodeHandle hInstance)
281 return pNode->
IsEOF();
309 return pNode->
OnNodeAdded(strNodeName, type, compression);
319 XnStatus XN_CALLBACK_TYPE __ModuleOnNodeIntPropChanged(
XnModuleNodeHandle hGenerator,
const XnChar *strNodeName,
const XnChar* strPropName, XnUInt64 nValue)
326 XnStatus XN_CALLBACK_TYPE __ModuleOnNodeRealPropChanged(
XnModuleNodeHandle hGenerator,
const XnChar *strNodeName,
const XnChar* strPropName, XnDouble dValue)
333 XnStatus XN_CALLBACK_TYPE __ModuleOnNodeStringPropChanged(
XnModuleNodeHandle hGenerator,
const XnChar *strNodeName,
const XnChar* strPropName,
const XnChar* strValue)
340 XnStatus XN_CALLBACK_TYPE __ModuleOnNodeGeneralPropChanged(
XnModuleNodeHandle hGenerator,
const XnChar *strNodeName,
const XnChar* strPropName, XnUInt32 nBufferSize,
const void* pBuffer)
347 XnStatus XN_CALLBACK_TYPE __ModuleOnNodeNewData(
XnModuleNodeHandle hGenerator,
const XnChar *strNodeName, XnUInt64 nTimeStamp, XnUInt32 nFrame,
const void *pData, XnUInt32 nSize)
351 return pNode->
OnNodeNewData(strNodeName, nTimeStamp, nFrame, pData, nSize);
366 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
370 XnStatus XN_CALLBACK_TYPE __ModuleGetVendorSpecificData(
XnModuleNodeHandle hInstance, XnChar* strBuffer, XnUInt32* pnBufferSize)
375 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
384 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
393 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
402 _XN_VALIDATE_CAPABILITY_INTERFACE_RET(pInterface,
FALSE);
411 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
420 _XN_VALIDATE_CAPABILITY_INTERFACE_RET(pInterface,);
430 _XN_VALIDATE_CAPABILITY_INTERFACE_RET(pInterface,
FALSE);
440 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
449 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
458 _XN_VALIDATE_CAPABILITY_INTERFACE_RET(pInterface,
FALSE);
468 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
477 _XN_VALIDATE_CAPABILITY_INTERFACE_RET(pInterface,);
486 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
496 _XN_VALIDATE_CAPABILITY_INTERFACE_RET(pInterface,
FALSE);
506 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
516 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
526 _XN_VALIDATE_CAPABILITY_INTERFACE_RET(pInterface,
FALSE);
536 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
545 _XN_VALIDATE_CAPABILITY_INTERFACE_RET(pInterface,);
598 XnBool XN_CALLBACK_TYPE __ModuleIsNewDataAvailable(
XnModuleNodeHandle hGenerator, XnUInt64* pnTimestamp)
645 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
654 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
663 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
672 _XN_VALIDATE_CAPABILITY_INTERFACE_RET(pInterface,);
681 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
699 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
708 _XN_VALIDATE_CAPABILITY_INTERFACE_RET(pInterface,);
712 XnUInt32 XN_CALLBACK_TYPE __ModuleGetSupportedMapOutputModesCount(
XnModuleNodeHandle hGenerator)
761 XnUInt32 XN_CALLBACK_TYPE __ModuleGetSupportedUserPositionsCount(
XnModuleNodeHandle hGenerator)
766 _XN_VALIDATE_CAPABILITY_INTERFACE_RET(pInterface, 0);
775 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
784 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
793 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
802 _XN_VALIDATE_CAPABILITY_INTERFACE_RET(pInterface,);
903 XnStatus XN_CALLBACK_TYPE __ModuleGetActiveGestures(
XnModuleNodeHandle hGenerator, XnChar** pstrGestures, XnUInt16* pnGestures)
909 XnStatus XN_CALLBACK_TYPE __ModuleGetAllActiveGestures(
XnModuleNodeHandle hGenerator, XnChar** pstrGestures, XnUInt32 nNameLength, XnUInt16* pnGestures)
915 XnStatus XN_CALLBACK_TYPE __ModuleEnumerateGestures(
XnModuleNodeHandle hGenerator, XnChar** pstrGestures, XnUInt16* pnGestures)
921 XnStatus XN_CALLBACK_TYPE __ModuleEnumerateAllGestures(
XnModuleNodeHandle hGenerator, XnChar** pstrGestures, XnUInt32 nNameLength, XnUInt16* pnGestures)
927 XnBool XN_CALLBACK_TYPE __ModuleIsGestureAvailable(
XnModuleNodeHandle hGenerator,
const XnChar* strGesture)
933 XnBool XN_CALLBACK_TYPE __ModuleIsGestureProgressSupported(
XnModuleNodeHandle hGenerator,
const XnChar* strGesture)
1043 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
1051 _XN_VALIDATE_CAPABILITY_INTERFACE_RET(pInterface, );
1060 _XN_VALIDATE_CAPABILITY_INTERFACE_RET(pInterface,
FALSE);
1068 _XN_VALIDATE_CAPABILITY_INTERFACE_RET(pInterface,
FALSE);
1076 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
1084 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
1092 _XN_VALIDATE_CAPABILITY_INTERFACE_RET(pInterface,
FALSE);
1100 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
1108 _XN_VALIDATE_CAPABILITY_INTERFACE_RET(pInterface,);
1116 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
1124 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
1132 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
1140 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
1148 _XN_VALIDATE_CAPABILITY_INTERFACE_RET(pInterface,
FALSE);
1156 _XN_VALIDATE_CAPABILITY_INTERFACE_RET(pInterface,
FALSE);
1164 _XN_VALIDATE_CAPABILITY_INTERFACE_RET(pInterface,
FALSE);
1173 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
1181 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
1189 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
1197 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
1205 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
1213 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
1221 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
1224 XnBool XN_CALLBACK_TYPE __ModuleIsCalibrationData(
XnModuleNodeHandle hGenerator, XnUInt32 nSlot)
1229 _XN_VALIDATE_CAPABILITY_INTERFACE_RET(pInterface,
FALSE);
1237 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
1245 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
1253 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
1254 return pInterface->
Reset(user);
1256 XnBool XN_CALLBACK_TYPE __ModuleNeedPoseForSkeletonCalibration(
XnModuleNodeHandle hGenerator)
1261 _XN_VALIDATE_CAPABILITY_INTERFACE_RET(pInterface,
FALSE);
1269 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
1277 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
1285 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
1293 _XN_VALIDATE_CAPABILITY_INTERFACE_RET(pInterface,);
1302 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
1310 _XN_VALIDATE_CAPABILITY_INTERFACE_RET(pInterface,);
1319 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
1327 _XN_VALIDATE_CAPABILITY_INTERFACE_RET(pInterface,);
1335 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
1343 _XN_VALIDATE_CAPABILITY_INTERFACE_RET(pInterface,);
1352 _XN_VALIDATE_CAPABILITY_INTERFACE_RET(pInterface, 0);
1360 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
1363 XnStatus XN_CALLBACK_TYPE __ModuleGetAllAvailablePoses(
XnModuleNodeHandle hGenerator, XnChar** pstrPoses, XnUInt32 nNameLength, XnUInt32* pnPoses)
1368 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
1378 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
1386 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
1394 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
1403 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
1411 _XN_VALIDATE_CAPABILITY_INTERFACE_RET(pInterface,);
1420 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
1428 _XN_VALIDATE_CAPABILITY_INTERFACE_RET(pInterface,);
1436 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
1444 _XN_VALIDATE_CAPABILITY_INTERFACE_RET(pInterface,);
1453 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
1461 _XN_VALIDATE_CAPABILITY_INTERFACE_RET(pInterface,);
1476 return pNode->
GetUsers(pUsers, *pnUsers);
1482 return pNode->
GetCoM(user, *pCoM);
1535 XnUInt32 XN_CALLBACK_TYPE __ModuleGetSupportedWaveOutputModesCount(
XnModuleNodeHandle hGenerator)
1584 XnStatus XN_CALLBACK_TYPE __ModuleCompressData(
XnModuleNodeHandle hCodec,
const void* pSrc, XnUInt32 nSrcSize,
void* pDst, XnUInt32 nDstSize, XnUInt* pnBytesWritten)
1588 return pCodec->
CompressData(pSrc, nSrcSize, pDst, nDstSize, pnBytesWritten);
1590 XnStatus XN_CALLBACK_TYPE __ModuleDecompressData(
XnModuleNodeHandle hCodec,
const void* pSrc, XnUInt32 nSrcSize,
void* pDst, XnUInt32 nDstSize, XnUInt* pnBytesWritten)
1594 return pCodec->
DecompressData(pSrc, nSrcSize, pDst, nDstSize, pnBytesWritten);
1597 const XnChar* XN_CALLBACK_TYPE __ModuleScriptGetSupportedFormat(
XnModuleNodeHandle hScript)
1624 return pScript->
Run(createdNodes, errors);
1650 pInterface->
GetRange = __ModuleGeneralIntGetRange;
1651 pInterface->
Get = __ModuleGeneralIntGet;
1652 pInterface->
Set = __ModuleGeneralIntSet;
1690 pInterface->
SetMirror = __ModuleSetMirror;
1729 pInterface->
GetData = __ModuleGetData;
1738 void XN_CALLBACK_TYPE __ModuleGetNodeNotificationsInterface(
XnNodeNotifications *pInterface)
1761 pInterface->
ReadNext = __ModuleReadNext;
1763 pInterface->
SetRepeat = __ModuleSetRepeat;
1767 pInterface->
TellFrame = __ModuleTellFrame;
1770 pInterface->
IsEOF = __ModuleIsEOF;
1816 __ModuleGetMapGeneratorInterface(pInterface->
pMapInterface);
1827 __ModuleGetMapGeneratorInterface(pInterface->
pMapInterface);
1838 __ModuleGetMapGeneratorInterface(pInterface->
pMapInterface);
1839 pInterface->
GetIRMap = __ModuleGetIRMap;
1866 __ModuleGetMapGeneratorInterface(pInterface->
pMapInterface);
1868 pInterface->
GetFloor = __ModuleGetFloor;
1884 pInterface->
IsTracking = __ModuleIsSkeletonTracking;
1885 pInterface->
IsCalibrated = __ModuleIsSkeletonCalibrated;
1896 pInterface->
StopTracking = __ModuleStopSkeletonTracking;
1897 pInterface->
Reset = __ModuleResetSkeleton;
1900 pInterface->
SetSmoothing = __ModuleSetSkeletonSmoothing;
1938 pInterface->
GetUsers = __ModuleGetUsers;
1939 pInterface->
GetCoM = __ModuleGetUserCoM;
1967 pInterface->
SetSmoothing = __ModuleSetTrackingSmoothing;
1990 pInterface->
Init = __ModuleCodecInit;
2002 pInterface->
Run = __ModuleScriptRun;