22 #ifndef XN_MODULE_C_FUNCTIONS_H_
23 #define XN_MODULE_C_FUNCTIONS_H_
29 #ifdef XN_NO_DYNAMIC_CAST
33 #define _XN_VALIDATE_CAPABILITY_INTERFACE_RET(capInterface, retVal) \
34 if (capInterface == NULL) \
37 #define _XN_VALIDATE_CAPABILITY_INTERFACE(capInterface) \
38 _XN_VALIDATE_CAPABILITY_INTERFACE_RET(capInterface, XN_STATUS_INVALID_OPERATION)
40 XnBool XN_CALLBACK_TYPE __ModuleIsCapabilitySupported(
XnModuleNodeHandle hInstance,
const XnChar* strCapabilityName)
50 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
57 _XN_VALIDATE_CAPABILITY_INTERFACE_RET(pInterface,);
65 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
73 _XN_VALIDATE_CAPABILITY_INTERFACE_RET(pInterface,
FALSE);
81 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
89 _XN_VALIDATE_CAPABILITY_INTERFACE_RET(pInterface,);
97 _XN_VALIDATE_CAPABILITY_INTERFACE_RET(pInterface,
XN_STATUS_OK);
105 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
113 _XN_VALIDATE_CAPABILITY_INTERFACE_RET(pInterface,);
117 XnStatus XN_CALLBACK_TYPE __ModuleGeneralIntGetRange(
XnModuleNodeHandle hInstance,
const XnChar* strCap, XnInt32* pnMin, XnInt32* pnMax, XnInt32* pnStep, XnInt32* pnDefault, XnBool* pbIsAutoSupported)
121 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
122 return pInterface->
GetRange(strCap, *pnMin, *pnMax, *pnStep, *pnDefault, *pbIsAutoSupported);
129 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
130 return pInterface->
Get(strCap, *pnValue);
137 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
138 return pInterface->
Set(strCap, nValue);
141 XnStatus XN_CALLBACK_TYPE __ModuleGeneralIntRegisterToValueChange
147 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
151 void XN_CALLBACK_TYPE __ModuleGeneralIntUnregisterFromValueChange
156 _XN_VALIDATE_CAPABILITY_INTERFACE_RET(pInterface,);
172 XnStatus XN_CALLBACK_TYPE __ModuleSetStringProperty(
XnModuleNodeHandle hInstance,
const XnChar* strName,
const XnChar* strValue)
178 XnStatus XN_CALLBACK_TYPE __ModuleSetGeneralProperty(
XnModuleNodeHandle hInstance,
const XnChar* strName, XnUInt32 nBufferSize,
const void* pBuffer)
196 XnStatus XN_CALLBACK_TYPE __ModuleGetStringProperty(
XnModuleNodeHandle hInstance,
const XnChar* strName, XnChar* csValue, XnUInt32 nBufSize)
202 XnStatus XN_CALLBACK_TYPE __ModuleGetGeneralProperty(
XnModuleNodeHandle hInstance,
const XnChar* strName, XnUInt32 nBufferSize,
void* pBuffer)
247 return pNode->
SeekToFrame(strNodeName, nFrameOffset, origin);
261 return pNode->
TellFrame(strNodeName, *pnFrame);
271 const XnChar* XN_CALLBACK_TYPE __ModuleGetSupportedFormat(
XnModuleNodeHandle hInstance)
282 return pNode->
IsEOF();
310 return pNode->
OnNodeAdded(strNodeName, type, compression);
320 XnStatus XN_CALLBACK_TYPE __ModuleOnNodeIntPropChanged(
XnModuleNodeHandle hGenerator,
const XnChar *strNodeName,
const XnChar* strPropName, XnUInt64 nValue)
327 XnStatus XN_CALLBACK_TYPE __ModuleOnNodeRealPropChanged(
XnModuleNodeHandle hGenerator,
const XnChar *strNodeName,
const XnChar* strPropName, XnDouble dValue)
334 XnStatus XN_CALLBACK_TYPE __ModuleOnNodeStringPropChanged(
XnModuleNodeHandle hGenerator,
const XnChar *strNodeName,
const XnChar* strPropName,
const XnChar* strValue)
341 XnStatus XN_CALLBACK_TYPE __ModuleOnNodeGeneralPropChanged(
XnModuleNodeHandle hGenerator,
const XnChar *strNodeName,
const XnChar* strPropName, XnUInt32 nBufferSize,
const void* pBuffer)
348 XnStatus XN_CALLBACK_TYPE __ModuleOnNodeNewData(
XnModuleNodeHandle hGenerator,
const XnChar *strNodeName, XnUInt64 nTimeStamp, XnUInt32 nFrame,
const void *pData, XnUInt32 nSize)
352 return pNode->
OnNodeNewData(strNodeName, nTimeStamp, nFrame, pData, nSize);
367 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
371 XnStatus XN_CALLBACK_TYPE __ModuleGetVendorSpecificData(
XnModuleNodeHandle hInstance, XnChar* strBuffer, XnUInt32* pnBufferSize)
376 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
385 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
394 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
403 _XN_VALIDATE_CAPABILITY_INTERFACE_RET(pInterface,
FALSE);
412 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
421 _XN_VALIDATE_CAPABILITY_INTERFACE_RET(pInterface,);
431 _XN_VALIDATE_CAPABILITY_INTERFACE_RET(pInterface,
FALSE);
441 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
450 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
459 _XN_VALIDATE_CAPABILITY_INTERFACE_RET(pInterface,
FALSE);
469 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
478 _XN_VALIDATE_CAPABILITY_INTERFACE_RET(pInterface,);
487 _XN_VALIDATE_CAPABILITY_INTERFACE_RET(pInterface,
FALSE);
497 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
507 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
517 _XN_VALIDATE_CAPABILITY_INTERFACE_RET(pInterface,
FALSE);
527 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
536 _XN_VALIDATE_CAPABILITY_INTERFACE_RET(pInterface,);
589 XnBool XN_CALLBACK_TYPE __ModuleIsNewDataAvailable(
XnModuleNodeHandle hGenerator, XnUInt64* pnTimestamp)
636 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
645 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
654 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
663 _XN_VALIDATE_CAPABILITY_INTERFACE_RET(pInterface,);
672 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
690 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
699 _XN_VALIDATE_CAPABILITY_INTERFACE_RET(pInterface,);
703 XnUInt32 XN_CALLBACK_TYPE __ModuleGetSupportedMapOutputModesCount(
XnModuleNodeHandle hGenerator)
752 XnUInt32 XN_CALLBACK_TYPE __ModuleGetSupportedUserPositionsCount(
XnModuleNodeHandle hGenerator)
757 _XN_VALIDATE_CAPABILITY_INTERFACE_RET(pInterface, 0);
766 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
775 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
784 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
793 _XN_VALIDATE_CAPABILITY_INTERFACE_RET(pInterface,);
894 XnStatus XN_CALLBACK_TYPE __ModuleGetActiveGestures(
XnModuleNodeHandle hGenerator, XnChar** pstrGestures, XnUInt16* pnGestures)
900 XnStatus XN_CALLBACK_TYPE __ModuleGetAllActiveGestures(
XnModuleNodeHandle hGenerator, XnChar** pstrGestures, XnUInt32 nNameLength, XnUInt16* pnGestures)
906 XnStatus XN_CALLBACK_TYPE __ModuleEnumerateGestures(
XnModuleNodeHandle hGenerator, XnChar** pstrGestures, XnUInt16* pnGestures)
912 XnStatus XN_CALLBACK_TYPE __ModuleEnumerateAllGestures(
XnModuleNodeHandle hGenerator, XnChar** pstrGestures, XnUInt32 nNameLength, XnUInt16* pnGestures)
918 XnBool XN_CALLBACK_TYPE __ModuleIsGestureAvailable(
XnModuleNodeHandle hGenerator,
const XnChar* strGesture)
924 XnBool XN_CALLBACK_TYPE __ModuleIsGestureProgressSupported(
XnModuleNodeHandle hGenerator,
const XnChar* strGesture)
1034 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
1042 _XN_VALIDATE_CAPABILITY_INTERFACE_RET(pInterface, );
1051 _XN_VALIDATE_CAPABILITY_INTERFACE_RET(pInterface,
FALSE);
1059 _XN_VALIDATE_CAPABILITY_INTERFACE_RET(pInterface,
FALSE);
1067 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
1075 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
1083 _XN_VALIDATE_CAPABILITY_INTERFACE_RET(pInterface,
FALSE);
1091 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
1099 _XN_VALIDATE_CAPABILITY_INTERFACE_RET(pInterface,);
1107 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
1115 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
1123 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
1131 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
1139 _XN_VALIDATE_CAPABILITY_INTERFACE_RET(pInterface,
FALSE);
1147 _XN_VALIDATE_CAPABILITY_INTERFACE_RET(pInterface,
FALSE);
1155 _XN_VALIDATE_CAPABILITY_INTERFACE_RET(pInterface,
FALSE);
1164 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
1172 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
1180 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
1188 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
1196 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
1204 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
1212 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
1215 XnBool XN_CALLBACK_TYPE __ModuleIsCalibrationData(
XnModuleNodeHandle hGenerator, XnUInt32 nSlot)
1220 _XN_VALIDATE_CAPABILITY_INTERFACE_RET(pInterface,
FALSE);
1228 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
1236 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
1244 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
1245 return pInterface->
Reset(user);
1247 XnBool XN_CALLBACK_TYPE __ModuleNeedPoseForSkeletonCalibration(
XnModuleNodeHandle hGenerator)
1252 _XN_VALIDATE_CAPABILITY_INTERFACE_RET(pInterface,
FALSE);
1260 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
1268 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
1276 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
1284 _XN_VALIDATE_CAPABILITY_INTERFACE_RET(pInterface,);
1293 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
1301 _XN_VALIDATE_CAPABILITY_INTERFACE_RET(pInterface,);
1310 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
1318 _XN_VALIDATE_CAPABILITY_INTERFACE_RET(pInterface,);
1326 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
1334 _XN_VALIDATE_CAPABILITY_INTERFACE_RET(pInterface,);
1343 _XN_VALIDATE_CAPABILITY_INTERFACE_RET(pInterface, 0);
1351 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
1354 XnStatus XN_CALLBACK_TYPE __ModuleGetAllAvailablePoses(
XnModuleNodeHandle hGenerator, XnChar** pstrPoses, XnUInt32 nNameLength, XnUInt32* pnPoses)
1359 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
1369 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
1377 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
1385 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
1394 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
1402 _XN_VALIDATE_CAPABILITY_INTERFACE_RET(pInterface,);
1411 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
1419 _XN_VALIDATE_CAPABILITY_INTERFACE_RET(pInterface,);
1427 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
1435 _XN_VALIDATE_CAPABILITY_INTERFACE_RET(pInterface,);
1444 _XN_VALIDATE_CAPABILITY_INTERFACE(pInterface);
1452 _XN_VALIDATE_CAPABILITY_INTERFACE_RET(pInterface,);
1467 return pNode->
GetUsers(pUsers, *pnUsers);
1473 return pNode->
GetCoM(user, *pCoM);
1526 XnUInt32 XN_CALLBACK_TYPE __ModuleGetSupportedWaveOutputModesCount(
XnModuleNodeHandle hGenerator)
1575 XnStatus XN_CALLBACK_TYPE __ModuleCompressData(
XnModuleNodeHandle hCodec,
const void* pSrc, XnUInt32 nSrcSize,
void* pDst, XnUInt32 nDstSize, XnUInt* pnBytesWritten)
1579 return pCodec->
CompressData(pSrc, nSrcSize, pDst, nDstSize, pnBytesWritten);
1581 XnStatus XN_CALLBACK_TYPE __ModuleDecompressData(
XnModuleNodeHandle hCodec,
const void* pSrc, XnUInt32 nSrcSize,
void* pDst, XnUInt32 nDstSize, XnUInt* pnBytesWritten)
1585 return pCodec->
DecompressData(pSrc, nSrcSize, pDst, nDstSize, pnBytesWritten);
1588 const XnChar* XN_CALLBACK_TYPE __ModuleScriptGetSupportedFormat(
XnModuleNodeHandle hScript)
1615 return pScript->
Run(createdNodes, errors);
1641 pInterface->
GetRange = __ModuleGeneralIntGetRange;
1642 pInterface->
Get = __ModuleGeneralIntGet;
1643 pInterface->
Set = __ModuleGeneralIntSet;
1681 pInterface->
SetMirror = __ModuleSetMirror;
1719 pInterface->
GetData = __ModuleGetData;
1728 void XN_CALLBACK_TYPE __ModuleGetNodeNotificationsInterface(
XnNodeNotifications *pInterface)
1751 pInterface->
ReadNext = __ModuleReadNext;
1753 pInterface->
SetRepeat = __ModuleSetRepeat;
1757 pInterface->
TellFrame = __ModuleTellFrame;
1760 pInterface->
IsEOF = __ModuleIsEOF;
1806 __ModuleGetMapGeneratorInterface(pInterface->
pMapInterface);
1817 __ModuleGetMapGeneratorInterface(pInterface->
pMapInterface);
1828 __ModuleGetMapGeneratorInterface(pInterface->
pMapInterface);
1829 pInterface->
GetIRMap = __ModuleGetIRMap;
1856 __ModuleGetMapGeneratorInterface(pInterface->
pMapInterface);
1858 pInterface->
GetFloor = __ModuleGetFloor;
1874 pInterface->
IsTracking = __ModuleIsSkeletonTracking;
1875 pInterface->
IsCalibrated = __ModuleIsSkeletonCalibrated;
1886 pInterface->
StopTracking = __ModuleStopSkeletonTracking;
1887 pInterface->
Reset = __ModuleResetSkeleton;
1890 pInterface->
SetSmoothing = __ModuleSetSkeletonSmoothing;
1928 pInterface->
GetUsers = __ModuleGetUsers;
1929 pInterface->
GetCoM = __ModuleGetUserCoM;
1957 pInterface->
SetSmoothing = __ModuleSetTrackingSmoothing;
1980 pInterface->
Init = __ModuleCodecInit;
1992 pInterface->
Run = __ModuleScriptRun;