00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #ifndef __XN_MODULE_CPP_REGISTRATION_H__
00027 #define __XN_MODULE_CPP_REGISTRATION_H__
00028
00029
00030
00031
00032 #include "XnModuleCppInterface.h"
00033
00034 using namespace xn;
00035
00036
00037
00038
00040 #define _XN_MODULE_INST g_pTheModule
00041
00042 #define _CONCAT(a,b) a##b
00043
00044 inline XnModuleNodeHandle __ModuleNodeToHandle(xn::ModuleProductionNode* pNode)
00045 {
00046 return ((XnModuleNodeHandle)pNode);
00047 }
00048
00049 #define __XN_EXPORT_NODE_COMMON(ExportedClass, ExportedName, Type, GetInterfaceFunc) \
00050 \
00051 static ExportedClass ExportedName; \
00052 \
00053 void XN_CALLBACK_TYPE _CONCAT(ExportedClass,GetDescription)(XnProductionNodeDescription* pDescription) \
00054 { \
00055 ExportedName.GetDescription(pDescription); \
00056 } \
00057 \
00058 XnStatus XN_CALLBACK_TYPE _CONCAT(ExportedClass,EnumerateProductionTrees) \
00059 (XnContext* pContext, XnNodeInfoList* pTreesList, XnEnumerationErrors* pErrors) \
00060 { \
00061 Context context(pContext); \
00062 NodeInfoList list(pTreesList); \
00063 EnumerationErrors errors(pErrors); \
00064 return ExportedName.EnumerateProductionTrees(context, list, pErrors == NULL ? NULL : &errors); \
00065 } \
00066 \
00067 XnStatus XN_CALLBACK_TYPE _CONCAT(ExportedClass,Create)(XnContext* pContext, \
00068 const XnChar* strInstanceName, \
00069 const XnChar* strCreationInfo, \
00070 XnNodeInfoList* pNeededTrees, \
00071 const XnChar* strConfigurationDir, \
00072 XnModuleNodeHandle* phInstance) \
00073 { \
00074 xn::NodeInfoList* pNeeded = NULL; \
00075 if (pNeededTrees != NULL) \
00076 { \
00077 pNeeded = XN_NEW(xn::NodeInfoList, pNeededTrees); \
00078 } \
00079 ModuleProductionNode* pNode; \
00080 Context context(pContext); \
00081 XnStatus nRetVal = ExportedName.Create(context, strInstanceName, strCreationInfo, \
00082 pNeeded, strConfigurationDir, &pNode); \
00083 if (nRetVal != XN_STATUS_OK) \
00084 { \
00085 XN_DELETE(pNeeded); \
00086 return (nRetVal); \
00087 } \
00088 *phInstance = __ModuleNodeToHandle(pNode); \
00089 XN_DELETE(pNeeded); \
00090 return (XN_STATUS_OK); \
00091 } \
00092 \
00093 void XN_CALLBACK_TYPE _CONCAT(ExportedClass,Destroy)(XnModuleNodeHandle hInstance) \
00094 { \
00095 ModuleProductionNode* pNode = (ModuleProductionNode*)hInstance; \
00096 ExportedName.Destroy(pNode); \
00097 } \
00098 \
00099 void XN_CALLBACK_TYPE _CONCAT(ExportedClass,GetExportedInterface)( \
00100 XnModuleExportedProductionNodeInterface* pInterface) \
00101 { \
00102 pInterface->GetDescription = _CONCAT(ExportedClass,GetDescription); \
00103 pInterface->EnumerateProductionTrees = _CONCAT(ExportedClass,EnumerateProductionTrees); \
00104 pInterface->Create = _CONCAT(ExportedClass,Create); \
00105 pInterface->Destroy = _CONCAT(ExportedClass,Destroy); \
00106 pInterface->GetInterface.Type = GetInterfaceFunc; \
00107 } \
00108 \
00109 static XnStatus _CONCAT(ExportedClass,RegisterResult) = \
00110 _XN_MODULE_INST->AddExportedNode(_CONCAT(ExportedClass,GetExportedInterface));
00111
00112 #define _XN_EXPORT_NODE_COMMON(ExportedClass, Type, GetInterfaceFunc) \
00113 __XN_EXPORT_NODE_COMMON(ExportedClass, _g_##ExportedClass, Type, GetInterfaceFunc)
00114
00115
00116
00117
00118
00120 #define XN_EXPORT_MODULE(ModuleClass) \
00121 \
00122 static ModuleClass __moduleInstance; \
00123 Module* _XN_MODULE_INST = &__moduleInstance;
00124
00126 #define XN_EXPORT_DEVICE(ExportedClass) \
00127 _XN_EXPORT_NODE_COMMON(ExportedClass, Device, __ModuleGetDeviceInterface)
00128
00130 #define XN_EXPORT_DEPTH(ExportedClass) \
00131 _XN_EXPORT_NODE_COMMON(ExportedClass, Depth, __ModuleGetDepthGeneratorInterface)
00132
00134 #define XN_EXPORT_IMAGE(ExportedClass) \
00135 _XN_EXPORT_NODE_COMMON(ExportedClass, Image, __ModuleGetImageGeneratorInterface)
00136
00138 #define XN_EXPORT_IR(ExportedClass) \
00139 _XN_EXPORT_NODE_COMMON(ExportedClass, IR, __ModuleGetIRGeneratorInterface)
00140
00141 #define XN_EXPORT_USER(ExportedClass) \
00142 _XN_EXPORT_NODE_COMMON(ExportedClass, User, __ModuleGetUserGeneratorInterface)
00143
00144 #define XN_EXPORT_HANDS(ExportedClass) \
00145 _XN_EXPORT_NODE_COMMON(ExportedClass, Hands, __ModuleGetHandsGeneratorInterface)
00146
00147 #define XN_EXPORT_GESTURE(ExportedClass) \
00148 _XN_EXPORT_NODE_COMMON(ExportedClass, Gesture, __ModuleGetGestureGeneratorInterface)
00149
00150 #define XN_EXPORT_SCENE(ExportedClass) \
00151 _XN_EXPORT_NODE_COMMON(ExportedClass, Scene, __ModuleGetSceneAnalyzerInterface)
00152
00154 #define XN_EXPORT_AUDIO(ExportedClass) \
00155 _XN_EXPORT_NODE_COMMON(ExportedClass, Audio, __ModuleGetAudioGeneratorInterface)
00156
00158 #define XN_EXPORT_RECORDER(ExportedClass) \
00159 _XN_EXPORT_NODE_COMMON(ExportedClass, Recorder, __ModuleGetRecorderInterface)
00160
00162 #define XN_EXPORT_PLAYER(ExportedClass) \
00163 _XN_EXPORT_NODE_COMMON(ExportedClass, Player, __ModuleGetPlayerInterface)
00164
00165 #define XN_EXPORT_CODEC(ExportedClass) \
00166 _XN_EXPORT_NODE_COMMON(ExportedClass, Codec, __ModuleGetCodecInterface)
00167
00168
00169
00170
00171 extern Module* _XN_MODULE_INST;
00172
00173 XN_C_API_EXPORT XnStatus XN_C_DECL XN_MODULE_LOAD()
00174 {
00175 XnStatus nRetVal = XN_STATUS_OK;
00176
00177 nRetVal = _XN_MODULE_INST->Load();
00178 XN_IS_STATUS_OK(nRetVal);
00179
00180 return (XN_STATUS_OK);
00181 }
00182
00183 XN_C_API_EXPORT void XN_C_DECL XN_MODULE_UNLOAD()
00184 {
00185 _XN_MODULE_INST->Unload();
00186 }
00187
00188 XN_C_API_EXPORT XnUInt32 XN_C_DECL XN_MODULE_GET_EXPORTED_NODES_COUNT()
00189 {
00190 return _XN_MODULE_INST->GetExportedNodesCount();
00191 }
00192
00193 XN_C_API_EXPORT XnStatus XN_C_DECL XN_MODULE_GET_EXPORTED_NODES_ENTRY_POINTS(XnModuleGetExportedInterfacePtr* aEntryPoints, XnUInt32 nCount)
00194 {
00195 return _XN_MODULE_INST->GetExportedNodes(aEntryPoints, nCount);
00196 }
00197
00198 XN_C_API_EXPORT void XN_C_DECL XN_MODULE_GET_OPEN_NI_VERSION(XnVersion* pVersion)
00199 {
00200 pVersion->nMajor = XN_MAJOR_VERSION;
00201 pVersion->nMinor = XN_MINOR_VERSION;
00202 pVersion->nMaintenance = XN_MAINTENANCE_VERSION;
00203 pVersion->nBuild = XN_BUILD_VERSION;
00204 }
00205
00206 XN_C_API_EXPORT XnBool XN_CALLBACK_TYPE __ModuleIsCapabilitySupported(XnModuleNodeHandle hInstance, const XnChar* strCapabilityName)
00207 {
00208 ModuleProductionNode* pNode = (ModuleProductionNode*)hInstance;
00209 return pNode->IsCapabilitySupported(strCapabilityName);
00210 }
00211
00212 XN_C_API_EXPORT XnStatus XN_CALLBACK_TYPE __ModuleInitNotifications(XnModuleNodeHandle hInstance, XnNodeNotifications* pNotifications, void* pCookie)
00213 {
00214 ModuleProductionNode* pNode = (ModuleProductionNode*)hInstance;
00215 return pNode->GetExtendedSerializationInterface()->NotifyExState(pNotifications, pCookie);
00216 }
00217 XN_C_API_EXPORT void XN_CALLBACK_TYPE __ModuleStopNotifications(XnModuleNodeHandle hInstance)
00218 {
00219 ModuleProductionNode* pNode = (ModuleProductionNode*)hInstance;
00220 return pNode->GetExtendedSerializationInterface()->UnregisterExNotifications();
00221 }
00222
00223 XN_C_API_EXPORT XnStatus XN_CALLBACK_TYPE __ModuleSetLockState(XnModuleNodeHandle hInstance, XnBool bLocked)
00224 {
00225 ModuleProductionNode* pNode = (ModuleProductionNode*)hInstance;
00226 return pNode->GetLockAwareInterface()->SetLockState(bLocked);
00227 }
00228
00229 XN_C_API_EXPORT XnBool XN_CALLBACK_TYPE __ModuleGetLockState(XnModuleNodeHandle hInstance)
00230 {
00231 ModuleProductionNode* pNode = (ModuleProductionNode*)hInstance;
00232 return pNode->GetLockAwareInterface()->GetLockState();
00233 }
00234
00235 XN_C_API_EXPORT XnStatus XN_CALLBACK_TYPE __ModuleRegisterToLockChange(XnModuleNodeHandle hInstance, XnModuleStateChangedHandler handler, void* pCookie, XnCallbackHandle* phCallback)
00236 {
00237 ModuleProductionNode* pNode = (ModuleProductionNode*)hInstance;
00238 return pNode->GetLockAwareInterface()->RegisterToLockChange(handler, pCookie, *phCallback);
00239 }
00240
00241 XN_C_API_EXPORT void XN_CALLBACK_TYPE __ModuleUnregisterFromLockChange(XnModuleNodeHandle hInstance, XnCallbackHandle hCallback)
00242 {
00243 ModuleProductionNode* pNode = (ModuleProductionNode*)hInstance;
00244 return pNode->GetLockAwareInterface()->UnregisterFromLockChange(hCallback);
00245 }
00246
00247 XN_C_API_EXPORT XnStatus XN_CALLBACK_TYPE __ModuleGetErrorState(XnModuleNodeHandle hInstance)
00248 {
00249 ModuleProductionNode* pNode = (ModuleProductionNode*)hInstance;
00250 return pNode->GetErrorStateInterface()->GetErrorState();
00251 }
00252
00253 XN_C_API_EXPORT XnStatus XN_CALLBACK_TYPE __ModuleRegisterToErrorStateChange(XnModuleNodeHandle hInstance, XnModuleStateChangedHandler handler, void* pCookie, XnCallbackHandle* phCallback)
00254 {
00255 ModuleProductionNode* pNode = (ModuleProductionNode*)hInstance;
00256 return pNode->GetErrorStateInterface()->RegisterToErrorStateChange(handler, pCookie, *phCallback);
00257 }
00258
00259 XN_C_API_EXPORT void XN_CALLBACK_TYPE __ModuleUnregisterFromErrorStateChange(XnModuleNodeHandle hInstance, XnCallbackHandle hCallback)
00260 {
00261 ModuleProductionNode* pNode = (ModuleProductionNode*)hInstance;
00262 return pNode->GetErrorStateInterface()->UnregisterFromErrorStateChange(hCallback);
00263 }
00264
00265 XN_C_API_EXPORT XnStatus XN_CALLBACK_TYPE __ModuleSetIntProperty(XnModuleNodeHandle hInstance, const XnChar* strName, XnUInt64 nValue)
00266 {
00267 ModuleProductionNode* pNode = (ModuleProductionNode*)hInstance;
00268 return pNode->SetIntProperty(strName, nValue);
00269 }
00270
00271 XN_C_API_EXPORT XnStatus XN_CALLBACK_TYPE __ModuleSetRealProperty(XnModuleNodeHandle hInstance, const XnChar* strName, XnDouble dValue)
00272 {
00273 ModuleProductionNode* pNode = (ModuleProductionNode*)hInstance;
00274 return pNode->SetRealProperty(strName, dValue);
00275 }
00276
00277 XN_C_API_EXPORT XnStatus XN_CALLBACK_TYPE __ModuleSetStringProperty(XnModuleNodeHandle hInstance, const XnChar* strName, const XnChar* strValue)
00278 {
00279 ModuleProductionNode* pNode = (ModuleProductionNode*)hInstance;
00280 return pNode->SetStringProperty(strName, strValue);
00281 }
00282
00283 XN_C_API_EXPORT XnStatus XN_CALLBACK_TYPE __ModuleSetGeneralProperty(XnModuleNodeHandle hInstance, const XnChar* strName, XnUInt32 nBufferSize, const void* pBuffer)
00284 {
00285 ModuleProductionNode* pNode = (ModuleProductionNode*)hInstance;
00286 return pNode->SetGeneralProperty(strName, nBufferSize, pBuffer);
00287 }
00288
00289 XN_C_API_EXPORT XnStatus XN_CALLBACK_TYPE __ModuleGetIntProperty(XnModuleNodeHandle hInstance, const XnChar* strName, XnUInt64* pnValue)
00290 {
00291 ModuleProductionNode* pNode = (ModuleProductionNode*)hInstance;
00292 return pNode->GetIntProperty(strName, *pnValue);
00293 }
00294
00295 XN_C_API_EXPORT XnStatus XN_CALLBACK_TYPE __ModuleGetRealProperty(XnModuleNodeHandle hInstance, const XnChar* strName, XnDouble* pdValue)
00296 {
00297 ModuleProductionNode* pNode = (ModuleProductionNode*)hInstance;
00298 return pNode->GetRealProperty(strName, *pdValue);
00299 }
00300
00301 XN_C_API_EXPORT XnStatus XN_CALLBACK_TYPE __ModuleGetStringProperty(XnModuleNodeHandle hInstance, const XnChar* strName, XnChar* csValue, XnUInt32 nBufSize)
00302 {
00303 ModuleProductionNode* pNode = (ModuleProductionNode*)hInstance;
00304 return pNode->GetStringProperty(strName, csValue, nBufSize);
00305 }
00306
00307 XN_C_API_EXPORT XnStatus XN_CALLBACK_TYPE __ModuleGetGeneralProperty(XnModuleNodeHandle hInstance, const XnChar* strName, XnUInt32 nBufferSize, void* pBuffer)
00308 {
00309 ModuleProductionNode* pNode = (ModuleProductionNode*)hInstance;
00310 return pNode->GetGeneralProperty(strName, nBufferSize, pBuffer);
00311 }
00312
00313 XN_C_API_EXPORT XnStatus XN_CALLBACK_TYPE __ModuleSetOutputStream(XnModuleNodeHandle hInstance, void *pCookie, XnRecorderOutputStreamInterface *pStream)
00314 {
00315 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hInstance;
00316 ModuleRecorder* pNode = dynamic_cast<ModuleRecorder*>(pProdNode);
00317 return pNode->SetOutputStream(pCookie, pStream);
00318 }
00319
00320 XN_C_API_EXPORT XnStatus XN_CALLBACK_TYPE __ModuleSetInputStream(XnModuleNodeHandle hInstance, void *pStreamCookie, XnPlayerInputStreamInterface *pStream)
00321 {
00322 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hInstance;
00323 ModulePlayer* pNode = dynamic_cast<ModulePlayer*>(pProdNode);
00324 return pNode->SetInputStream(pStreamCookie, pStream);
00325 }
00326
00327 XN_C_API_EXPORT XnStatus XN_CALLBACK_TYPE __ModuleReadNext(XnModuleNodeHandle hInstance)
00328 {
00329 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hInstance;
00330 ModulePlayer* pNode = dynamic_cast<ModulePlayer*>(pProdNode);
00331 return pNode->ReadNext();
00332 }
00333
00334 XN_C_API_EXPORT XnStatus XN_CALLBACK_TYPE __ModuleSetRepeat(XnModuleNodeHandle hInstance, XnBool bRepeat)
00335 {
00336 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hInstance;
00337 ModulePlayer* pNode = dynamic_cast<ModulePlayer*>(pProdNode);
00338 return pNode->SetRepeat(bRepeat);
00339 }
00340
00341 XN_C_API_EXPORT XnStatus XN_CALLBACK_TYPE __ModuleSeekToTimeStamp(XnModuleNodeHandle hInstance, XnInt64 nTimeOffset, XnPlayerSeekOrigin origin)
00342 {
00343 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hInstance;
00344 ModulePlayer* pNode = dynamic_cast<ModulePlayer*>(pProdNode);
00345 return pNode->SeekToTimeStamp(nTimeOffset, origin);
00346 }
00347
00348 XN_C_API_EXPORT XnStatus XN_CALLBACK_TYPE __ModuleSeekToFrame(XnModuleNodeHandle hInstance, const XnChar* strNodeName, XnInt32 nFrameOffset, XnPlayerSeekOrigin origin)
00349 {
00350 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hInstance;
00351 ModulePlayer* pNode = dynamic_cast<ModulePlayer*>(pProdNode);
00352 return pNode->SeekToFrame(strNodeName, nFrameOffset, origin);
00353 }
00354
00355 XN_C_API_EXPORT XnStatus XN_CALLBACK_TYPE __ModuleTellTimestamp(XnModuleNodeHandle hInstance, XnUInt64* pnTimestamp)
00356 {
00357 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hInstance;
00358 ModulePlayer* pNode = dynamic_cast<ModulePlayer*>(pProdNode);
00359 return pNode->TellTimestamp(*pnTimestamp);
00360 }
00361
00362 XN_C_API_EXPORT XnStatus XN_CALLBACK_TYPE __ModuleTellFrame(XnModuleNodeHandle hInstance, const XnChar* strNodeName, XnUInt32* pnFrame)
00363 {
00364 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hInstance;
00365 ModulePlayer* pNode = dynamic_cast<ModulePlayer*>(pProdNode);
00366 return pNode->TellFrame(strNodeName, *pnFrame);
00367 }
00368
00369 XN_C_API_EXPORT XnStatus XN_CALLBACK_TYPE __ModuleGetNumFrames(XnModuleNodeHandle hInstance, const XnChar* strNodeName, XnUInt32* pnFrames)
00370 {
00371 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hInstance;
00372 ModulePlayer* pNode = dynamic_cast<ModulePlayer*>(pProdNode);
00373 return pNode->GetNumFrames(strNodeName, *pnFrames);
00374 }
00375
00376 XN_C_API_EXPORT const XnChar* XN_CALLBACK_TYPE __ModuleGetSupportedFormat(XnModuleNodeHandle hInstance)
00377 {
00378 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hInstance;
00379 ModulePlayer* pNode = dynamic_cast<ModulePlayer*>(pProdNode);
00380 return pNode->GetSupportedFormat();
00381 }
00382
00383 XN_C_API_EXPORT XnBool XN_CALLBACK_TYPE __ModuleIsEOF(XnModuleNodeHandle hGenerator)
00384 {
00385 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
00386 ModulePlayer* pNode = dynamic_cast<ModulePlayer*>(pProdNode);
00387 return pNode->IsEOF();
00388 }
00389
00390 XN_C_API_EXPORT XnStatus XN_CALLBACK_TYPE __ModuleRegisterToEndOfFileReached(XnModuleNodeHandle hGenerator, XnModuleStateChangedHandler handler, void* pCookie, XnCallbackHandle* phCallback)
00391 {
00392 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
00393 ModulePlayer* pNode = dynamic_cast<ModulePlayer*>(pProdNode);
00394 return pNode->RegisterToEndOfFileReached(handler, pCookie, *phCallback);
00395 }
00396
00397 XN_C_API_EXPORT void XN_CALLBACK_TYPE __ModuleUnregisterFromEndOfFileReached(XnModuleNodeHandle hGenerator, XnCallbackHandle hCallback)
00398 {
00399 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
00400 ModulePlayer* pNode = dynamic_cast<ModulePlayer*>(pProdNode);
00401 return pNode->UnregisterFromEndOfFileReached(hCallback);
00402 }
00403
00404 XN_C_API_EXPORT XnStatus XN_CALLBACK_TYPE __ModuleSetNodeNotifications(XnModuleNodeHandle hInstance, void *pNodeNotificationsCookie, XnNodeNotifications *pNodeNotifications)
00405 {
00406 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hInstance;
00407 ModulePlayer* pNode = dynamic_cast<ModulePlayer*>(pProdNode);
00408 return pNode->SetNodeNotifications(pNodeNotificationsCookie, pNodeNotifications);
00409 }
00410
00411 XN_C_API_EXPORT XnStatus XN_CALLBACK_TYPE __ModuleOnNodeAdded(XnModuleNodeHandle hGenerator, const XnChar *strNodeName, XnProductionNodeType type, XnCodecID compression)
00412 {
00413 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
00414 ModuleRecorder* pNode = dynamic_cast<ModuleRecorder*>(pProdNode);
00415 return pNode->OnNodeAdded(strNodeName, type, compression);
00416 }
00417
00418 XN_C_API_EXPORT XnStatus XN_CALLBACK_TYPE __ModuleOnNodeRemoved(XnModuleNodeHandle hGenerator, const XnChar *strNodeName)
00419 {
00420 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
00421 ModuleRecorder* pNode = dynamic_cast<ModuleRecorder*>(pProdNode);
00422 return pNode->OnNodeRemoved(strNodeName);
00423 }
00424
00425 XN_C_API_EXPORT XnStatus XN_CALLBACK_TYPE __ModuleOnNodeIntPropChanged(XnModuleNodeHandle hGenerator, const XnChar *strNodeName, const XnChar* strPropName, XnUInt64 nValue)
00426 {
00427 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
00428 ModuleRecorder* pNode = dynamic_cast<ModuleRecorder*>(pProdNode);
00429 return pNode->OnNodeIntPropChanged(strNodeName, strPropName, nValue);
00430 }
00431
00432 XN_C_API_EXPORT XnStatus XN_CALLBACK_TYPE __ModuleOnNodeRealPropChanged(XnModuleNodeHandle hGenerator, const XnChar *strNodeName, const XnChar* strPropName, XnDouble dValue)
00433 {
00434 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
00435 ModuleRecorder* pNode = dynamic_cast<ModuleRecorder*>(pProdNode);
00436 return pNode->OnNodeRealPropChanged(strNodeName, strPropName, dValue);
00437 }
00438
00439 XN_C_API_EXPORT XnStatus XN_CALLBACK_TYPE __ModuleOnNodeStringPropChanged(XnModuleNodeHandle hGenerator, const XnChar *strNodeName, const XnChar* strPropName, const XnChar* strValue)
00440 {
00441 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
00442 ModuleRecorder* pNode = dynamic_cast<ModuleRecorder*>(pProdNode);
00443 return pNode->OnNodeStringPropChanged(strNodeName, strPropName, strValue);
00444 }
00445
00446 XN_C_API_EXPORT XnStatus XN_CALLBACK_TYPE __ModuleOnNodeGeneralPropChanged(XnModuleNodeHandle hGenerator, const XnChar *strNodeName, const XnChar* strPropName, XnUInt32 nBufferSize, const void* pBuffer)
00447 {
00448 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
00449 ModuleRecorder* pNode = dynamic_cast<ModuleRecorder*>(pProdNode);
00450 return pNode->OnNodeGeneralPropChanged(strNodeName, strPropName, nBufferSize, pBuffer);
00451 }
00452
00453 XN_C_API_EXPORT XnStatus XN_CALLBACK_TYPE __ModuleOnNodeNewData(XnModuleNodeHandle hGenerator, const XnChar *strNodeName, XnUInt64 nTimeStamp, XnUInt32 nFrame, const void *pData, XnUInt32 nSize)
00454 {
00455 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
00456 ModuleRecorder* pNode = dynamic_cast<ModuleRecorder*>(pProdNode);
00457 return pNode->OnNodeNewData(strNodeName, nTimeStamp, nFrame, pData, nSize);
00458 }
00459
00460 XN_C_API_EXPORT XnStatus XN_CALLBACK_TYPE __ModuleOnNodeStateReady(XnModuleNodeHandle hGenerator, const XnChar *strNodeName)
00461 {
00462 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
00463 ModuleRecorder* pNode = dynamic_cast<ModuleRecorder*>(pProdNode);
00464 return pNode->OnNodeStateReady(strNodeName);
00465 }
00466
00467 XN_C_API_EXPORT XnStatus XN_CALLBACK_TYPE __ModuleSetMirror(XnModuleNodeHandle hGenerator, XnBool bMirror)
00468 {
00469 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
00470 ModuleGenerator* pNode = dynamic_cast<ModuleGenerator*>(pProdNode);
00471 return pNode->GetMirrorInterface()->SetMirror(bMirror);
00472 }
00473
00474 XN_C_API_EXPORT XnBool XN_CALLBACK_TYPE __ModuleIsMirrored(XnModuleNodeHandle hGenerator)
00475 {
00476 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
00477 ModuleGenerator* pNode = dynamic_cast<ModuleGenerator*>(pProdNode);
00478 return pNode->GetMirrorInterface()->IsMirrored();
00479 }
00480
00481 XN_C_API_EXPORT XnStatus XN_CALLBACK_TYPE __ModuleRegisterToMirrorChange(XnModuleNodeHandle hGenerator, XnModuleStateChangedHandler handler, void* pCookie, XnCallbackHandle* phCallback)
00482 {
00483 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
00484 ModuleGenerator* pNode = dynamic_cast<ModuleGenerator*>(pProdNode);
00485 return pNode->GetMirrorInterface()->RegisterToMirrorChange(handler, pCookie, *phCallback);
00486 }
00487
00488 XN_C_API_EXPORT void XN_CALLBACK_TYPE __ModuleUnregisterFromMirrorChange(XnModuleNodeHandle hGenerator, XnCallbackHandle hCallback)
00489 {
00490 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
00491 ModuleGenerator* pNode = dynamic_cast<ModuleGenerator*>(pProdNode);
00492 return pNode->GetMirrorInterface()->UnregisterFromMirrorChange(hCallback);
00493 }
00494
00495 XN_C_API_EXPORT XnBool XN_CALLBACK_TYPE __ModuleIsViewPointSupported(XnModuleNodeHandle hGenerator, XnNodeHandle hNode)
00496 {
00497 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
00498 ModuleGenerator* pNode = dynamic_cast<ModuleGenerator*>(pProdNode);
00499 ProductionNode node(hNode);
00500 return pNode->GetAlternativeViewPointInterface()->IsViewPointSupported(node);
00501 }
00502
00503 XN_C_API_EXPORT XnStatus XN_CALLBACK_TYPE __ModuleSetViewPoint(XnModuleNodeHandle hGenerator, XnNodeHandle hNode)
00504 {
00505 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
00506 ModuleGenerator* pNode = dynamic_cast<ModuleGenerator*>(pProdNode);
00507 ProductionNode node(hNode);
00508 return pNode->GetAlternativeViewPointInterface()->SetViewPoint(node);
00509 }
00510
00511 XN_C_API_EXPORT XnStatus XN_CALLBACK_TYPE __ModuleResetViewPoint(XnModuleNodeHandle hGenerator)
00512 {
00513 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
00514 ModuleGenerator* pNode = dynamic_cast<ModuleGenerator*>(pProdNode);
00515 return pNode->GetAlternativeViewPointInterface()->ResetViewPoint();
00516 }
00517
00518 XN_C_API_EXPORT XnBool XN_CALLBACK_TYPE __ModuleIsViewPointAs(XnModuleNodeHandle hGenerator, XnNodeHandle hNode)
00519 {
00520 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
00521 ModuleGenerator* pNode = dynamic_cast<ModuleGenerator*>(pProdNode);
00522 ProductionNode node(hNode);
00523 return pNode->GetAlternativeViewPointInterface()->IsViewPointAs(node);
00524 }
00525
00526 XN_C_API_EXPORT XnStatus XN_CALLBACK_TYPE __ModuleRegisterToViewPointChange(XnModuleNodeHandle hGenerator, XnModuleStateChangedHandler handler, void* pCookie, XnCallbackHandle* phCallback)
00527 {
00528 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
00529 ModuleGenerator* pNode = dynamic_cast<ModuleGenerator*>(pProdNode);
00530 return pNode->GetAlternativeViewPointInterface()->RegisterToViewPointChange(handler, pCookie, *phCallback);
00531 }
00532
00533 XN_C_API_EXPORT void XN_CALLBACK_TYPE __ModuleUnregisterFromViewPointChange(XnModuleNodeHandle hGenerator, XnCallbackHandle hCallback)
00534 {
00535 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
00536 ModuleGenerator* pNode = dynamic_cast<ModuleGenerator*>(pProdNode);
00537 return pNode->GetAlternativeViewPointInterface()->UnregisterFromViewPointChange(hCallback);
00538 }
00539
00540 XN_C_API_EXPORT XnBool XN_CALLBACK_TYPE __ModuleCanFrameSyncWith(XnModuleNodeHandle hGenerator, XnNodeHandle hNode)
00541 {
00542 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
00543 ModuleGenerator* pNode = dynamic_cast<ModuleGenerator*>(pProdNode);
00544 ProductionNode node(hNode);
00545 return pNode->GetFrameSyncInterface()->CanFrameSyncWith(node);
00546 }
00547
00548 XN_C_API_EXPORT XnStatus XN_CALLBACK_TYPE __ModuleFrameSyncWith(XnModuleNodeHandle hGenerator, XnNodeHandle hNode)
00549 {
00550 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
00551 ModuleGenerator* pNode = dynamic_cast<ModuleGenerator*>(pProdNode);
00552 ProductionNode node(hNode);
00553 return pNode->GetFrameSyncInterface()->FrameSyncWith(node);
00554 }
00555
00556 XN_C_API_EXPORT XnStatus XN_CALLBACK_TYPE __ModuleStopFrameSyncWith(XnModuleNodeHandle hGenerator, XnNodeHandle hNode)
00557 {
00558 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
00559 ModuleGenerator* pNode = dynamic_cast<ModuleGenerator*>(pProdNode);
00560 ProductionNode node(hNode);
00561 return pNode->GetFrameSyncInterface()->StopFrameSyncWith(node);
00562 }
00563
00564 XN_C_API_EXPORT XnBool XN_CALLBACK_TYPE __ModuleIsFrameSyncedWith(XnModuleNodeHandle hGenerator, XnNodeHandle hNode)
00565 {
00566 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
00567 ModuleGenerator* pNode = dynamic_cast<ModuleGenerator*>(pProdNode);
00568 ProductionNode node(hNode);
00569 return pNode->GetFrameSyncInterface()->IsFrameSyncedWith(node);
00570 }
00571
00572 XN_C_API_EXPORT XnStatus XN_CALLBACK_TYPE __ModuleRegisterToFrameSyncChange(XnModuleNodeHandle hGenerator, XnModuleStateChangedHandler handler, void* pCookie, XnCallbackHandle* phCallback)
00573 {
00574 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
00575 ModuleGenerator* pNode = dynamic_cast<ModuleGenerator*>(pProdNode);
00576 return pNode->GetFrameSyncInterface()->RegisterToFrameSyncChange(handler, pCookie, *phCallback);
00577 }
00578
00579 XN_C_API_EXPORT void XN_CALLBACK_TYPE __ModuleUnregisterFromFrameSyncChange(XnModuleNodeHandle hGenerator, XnCallbackHandle hCallback)
00580 {
00581 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
00582 ModuleGenerator* pNode = dynamic_cast<ModuleGenerator*>(pProdNode);
00583 return pNode->GetFrameSyncInterface()->UnregisterFromFrameSyncChange(hCallback);
00584 }
00585
00586 XN_C_API_EXPORT XnStatus XN_CALLBACK_TYPE __ModuleStartGenerating(XnModuleNodeHandle hGenerator)
00587 {
00588 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
00589 ModuleGenerator* pNode = dynamic_cast<ModuleGenerator*>(pProdNode);
00590 return pNode->StartGenerating();
00591 }
00592
00593 XN_C_API_EXPORT XnBool XN_CALLBACK_TYPE __ModuleIsGenerating(XnModuleNodeHandle hGenerator)
00594 {
00595 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
00596 ModuleGenerator* pNode = dynamic_cast<ModuleGenerator*>(pProdNode);
00597 return pNode->IsGenerating();
00598 }
00599
00600 XN_C_API_EXPORT void XN_CALLBACK_TYPE __ModuleStopGenerating(XnModuleNodeHandle hGenerator)
00601 {
00602 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
00603 ModuleGenerator* pNode = dynamic_cast<ModuleGenerator*>(pProdNode);
00604 pNode->StopGenerating();
00605 }
00606
00607 XN_C_API_EXPORT XnStatus XN_CALLBACK_TYPE __ModuleRegisterToGenerationRunningChange(XnModuleNodeHandle hGenerator, XnModuleStateChangedHandler handler, void* pCookie, XnCallbackHandle* phCallback)
00608 {
00609 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
00610 ModuleGenerator* pNode = dynamic_cast<ModuleGenerator*>(pProdNode);
00611 return pNode->RegisterToGenerationRunningChange(handler, pCookie, *phCallback);
00612 }
00613
00614 XN_C_API_EXPORT void XN_CALLBACK_TYPE __ModuleUnregisterFromGenerationRunningChange(XnModuleNodeHandle hGenerator, XnCallbackHandle hCallback)
00615 {
00616 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
00617 ModuleGenerator* pNode = dynamic_cast<ModuleGenerator*>(pProdNode);
00618 return pNode->UnregisterFromGenerationRunningChange(hCallback);
00619 }
00620
00621 XN_C_API_EXPORT XnStatus XN_CALLBACK_TYPE __ModuleRegisterToNewDataAvailable(XnModuleNodeHandle hGenerator, XnModuleStateChangedHandler handler, void* pCookie, XnCallbackHandle* phCallback)
00622 {
00623 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
00624 ModuleGenerator* pNode = dynamic_cast<ModuleGenerator*>(pProdNode);
00625 return pNode->RegisterToNewDataAvailable(handler, pCookie, *phCallback);
00626 }
00627
00628 XN_C_API_EXPORT void XN_CALLBACK_TYPE __ModuleUnregisterFromNewDataAvailable(XnModuleNodeHandle hGenerator, XnCallbackHandle hCallback)
00629 {
00630 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
00631 ModuleGenerator* pNode = dynamic_cast<ModuleGenerator*>(pProdNode);
00632 return pNode->UnregisterFromNewDataAvailable(hCallback);
00633 }
00634
00635 XN_C_API_EXPORT XnBool XN_CALLBACK_TYPE __ModuleIsNewDataAvailable(XnModuleNodeHandle hGenerator, XnUInt64* pnTimestamp)
00636 {
00637 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
00638 ModuleGenerator* pNode = dynamic_cast<ModuleGenerator*>(pProdNode);
00639 return pNode->IsNewDataAvailable(*pnTimestamp);
00640 }
00641
00642 XN_C_API_EXPORT XnStatus XN_CALLBACK_TYPE __ModuleUpdateData(XnModuleNodeHandle hGenerator)
00643 {
00644 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
00645 ModuleGenerator* pNode = dynamic_cast<ModuleGenerator*>(pProdNode);
00646 return pNode->UpdateData();
00647 }
00648
00649 XN_C_API_EXPORT XnUInt32 XN_CALLBACK_TYPE __ModuleGetDataSize(XnModuleNodeHandle hGenerator)
00650 {
00651 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
00652 ModuleGenerator* pNode = dynamic_cast<ModuleGenerator*>(pProdNode);
00653 return pNode->GetDataSize();
00654 }
00655
00656 XN_C_API_EXPORT XnUInt64 XN_CALLBACK_TYPE __ModuleGetTimestamp(XnModuleNodeHandle hGenerator)
00657 {
00658 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
00659 ModuleGenerator* pNode = dynamic_cast<ModuleGenerator*>(pProdNode);
00660 return pNode->GetTimestamp();
00661 }
00662
00663 XN_C_API_EXPORT XnUInt32 XN_CALLBACK_TYPE __ModuleGetFrameID(XnModuleNodeHandle hGenerator)
00664 {
00665 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
00666 ModuleGenerator* pNode = dynamic_cast<ModuleGenerator*>(pProdNode);
00667 return pNode->GetFrameID();
00668 }
00669
00670 XN_C_API_EXPORT XnStatus XN_CALLBACK_TYPE __ModuleSetCropping(XnModuleNodeHandle hGenerator, const XnCropping* pCropping)
00671 {
00672 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
00673 ModuleMapGenerator* pNode = dynamic_cast<ModuleMapGenerator*>(pProdNode);
00674 return pNode->GetCroppingInterface()->SetCropping(*pCropping);
00675 }
00676
00677 XN_C_API_EXPORT XnStatus XN_CALLBACK_TYPE __ModuleGetCropping(XnModuleNodeHandle hGenerator, XnCropping* pCropping)
00678 {
00679 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
00680 ModuleMapGenerator* pNode = dynamic_cast<ModuleMapGenerator*>(pProdNode);
00681 return pNode->GetCroppingInterface()->GetCropping(*pCropping);
00682 }
00683
00684 XN_C_API_EXPORT XnStatus XN_CALLBACK_TYPE __ModuleRegisterToCroppingChange(XnModuleNodeHandle hGenerator, XnModuleStateChangedHandler handler, void* pCookie, XnCallbackHandle* phCallback)
00685 {
00686 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
00687 ModuleMapGenerator* pNode = dynamic_cast<ModuleMapGenerator*>(pProdNode);
00688 return pNode->GetCroppingInterface()->RegisterToCroppingChange(handler, pCookie, *phCallback);
00689 }
00690
00691 XN_C_API_EXPORT void XN_CALLBACK_TYPE __ModuleUnregisterFromCroppingChange(XnModuleNodeHandle hGenerator, XnCallbackHandle hCallback)
00692 {
00693 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
00694 ModuleMapGenerator* pNode = dynamic_cast<ModuleMapGenerator*>(pProdNode);
00695 return pNode->GetCroppingInterface()->UnregisterFromCroppingChange(hCallback);
00696 }
00697
00698 XN_C_API_EXPORT XnUInt32 XN_CALLBACK_TYPE __ModuleGetSupportedMapOutputModesCount(XnModuleNodeHandle hGenerator)
00699 {
00700 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
00701 ModuleMapGenerator* pNode = dynamic_cast<ModuleMapGenerator*>(pProdNode);
00702 return pNode->GetSupportedMapOutputModesCount();
00703 }
00704
00705 XN_C_API_EXPORT XnStatus XN_CALLBACK_TYPE __ModuleGetSupportedMapOutputModes(XnModuleNodeHandle hGenerator, XnMapOutputMode* aModes, XnUInt32* pnCount)
00706 {
00707 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
00708 ModuleMapGenerator* pNode = dynamic_cast<ModuleMapGenerator*>(pProdNode);
00709 return pNode->GetSupportedMapOutputModes(aModes, *pnCount);
00710 }
00711
00712 XN_C_API_EXPORT XnStatus XN_CALLBACK_TYPE __ModuleSetMapOutputMode(XnModuleNodeHandle hGenerator, const XnMapOutputMode* pOutputMode)
00713 {
00714 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
00715 ModuleMapGenerator* pNode = dynamic_cast<ModuleMapGenerator*>(pProdNode);
00716 return pNode->SetMapOutputMode(*pOutputMode);
00717 }
00718
00719 XN_C_API_EXPORT XnStatus XN_CALLBACK_TYPE __ModuleGetMapOutputMode(XnModuleNodeHandle hGenerator, XnMapOutputMode* pOutputMode)
00720 {
00721 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
00722 ModuleMapGenerator* pNode = dynamic_cast<ModuleMapGenerator*>(pProdNode);
00723 return pNode->GetMapOutputMode(*pOutputMode);
00724 }
00725
00726 XN_C_API_EXPORT XnStatus XN_CALLBACK_TYPE __ModuleRegisterToMapOutputModeChange(XnModuleNodeHandle hGenerator, XnModuleStateChangedHandler handler, void* pCookie, XnCallbackHandle* phCallback)
00727 {
00728 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
00729 ModuleMapGenerator* pNode = dynamic_cast<ModuleMapGenerator*>(pProdNode);
00730 return pNode->RegisterToMapOutputModeChange(handler, pCookie, *phCallback);
00731 }
00732
00733 XN_C_API_EXPORT void XN_CALLBACK_TYPE __ModuleUnregisterFromMapOutputModeChange(XnModuleNodeHandle hGenerator, XnCallbackHandle hCallback)
00734 {
00735 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
00736 ModuleMapGenerator* pNode = dynamic_cast<ModuleMapGenerator*>(pProdNode);
00737 return pNode->UnregisterFromMapOutputModeChange(hCallback);
00738 }
00739
00740 XN_C_API_EXPORT XnUInt32 XN_CALLBACK_TYPE __ModuleGetSupportedUserPositionsCount(XnModuleNodeHandle hGenerator)
00741 {
00742 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
00743 ModuleDepthGenerator* pNode = dynamic_cast<ModuleDepthGenerator*>(pProdNode);
00744 return pNode->GetUserPositionInterface()->GetSupportedUserPositionsCount();
00745 }
00746
00747 XN_C_API_EXPORT XnStatus XN_CALLBACK_TYPE __ModuleSetUserPosition(XnModuleNodeHandle hGenerator, XnUInt32 nIndex, const XnBoundingBox3D* pPosition)
00748 {
00749 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
00750 ModuleDepthGenerator* pNode = dynamic_cast<ModuleDepthGenerator*>(pProdNode);
00751 return pNode->GetUserPositionInterface()->SetUserPosition(nIndex, *pPosition);
00752 }
00753
00754 XN_C_API_EXPORT XnStatus XN_CALLBACK_TYPE __ModuleGetUserPosition(XnModuleNodeHandle hGenerator, XnUInt32 nIndex, XnBoundingBox3D* pPosition)
00755 {
00756 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
00757 ModuleDepthGenerator* pNode = dynamic_cast<ModuleDepthGenerator*>(pProdNode);
00758 return pNode->GetUserPositionInterface()->GetUserPosition(nIndex, *pPosition);
00759 }
00760
00761 XN_C_API_EXPORT XnStatus XN_CALLBACK_TYPE __ModuleRegisterToUserPositionChange(XnModuleNodeHandle hGenerator, XnModuleStateChangedHandler handler, void* pCookie, XnCallbackHandle* phCallback)
00762 {
00763 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
00764 ModuleDepthGenerator* pNode = dynamic_cast<ModuleDepthGenerator*>(pProdNode);
00765 return pNode->GetUserPositionInterface()->RegisterToUserPositionChange(handler, pCookie, *phCallback);
00766 }
00767
00768 XN_C_API_EXPORT void XN_CALLBACK_TYPE __ModuleUnregisterFromUserPositionChange(XnModuleNodeHandle hGenerator, XnCallbackHandle hCallback)
00769 {
00770 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
00771 ModuleDepthGenerator* pNode = dynamic_cast<ModuleDepthGenerator*>(pProdNode);
00772 return pNode->GetUserPositionInterface()->UnregisterFromUserPositionChange(hCallback);
00773 }
00774
00775 XN_C_API_EXPORT XnDepthPixel XN_CALLBACK_TYPE __ModuleGetDeviceMaxDepth(XnModuleNodeHandle hGenerator)
00776 {
00777 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
00778 ModuleDepthGenerator* pNode = dynamic_cast<ModuleDepthGenerator*>(pProdNode);
00779 return pNode->GetDeviceMaxDepth();
00780 }
00781
00782 XN_C_API_EXPORT void XN_CALLBACK_TYPE __ModuleGetFieldOfView(XnModuleNodeHandle hGenerator, XnFieldOfView* pFOV)
00783 {
00784 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
00785 ModuleDepthGenerator* pNode = dynamic_cast<ModuleDepthGenerator*>(pProdNode);
00786 return pNode->GetFieldOfView(*pFOV);
00787 }
00788
00789 XN_C_API_EXPORT XnStatus XN_CALLBACK_TYPE __ModuleRegisterToFieldOfViewChange(XnModuleNodeHandle hGenerator, XnModuleStateChangedHandler handler, void* pCookie, XnCallbackHandle* phCallback)
00790 {
00791 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
00792 ModuleDepthGenerator* pNode = dynamic_cast<ModuleDepthGenerator*>(pProdNode);
00793 return pNode->RegisterToFieldOfViewChange(handler, pCookie, *phCallback);
00794 }
00795
00796 XN_C_API_EXPORT void XN_CALLBACK_TYPE __ModuleUnregisterFromFieldOfViewChange(XnModuleNodeHandle hGenerator, XnCallbackHandle hCallback)
00797 {
00798 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
00799 ModuleDepthGenerator* pNode = dynamic_cast<ModuleDepthGenerator*>(pProdNode);
00800 return pNode->UnregisterFromFieldOfViewChange(hCallback);
00801 }
00802
00803 XN_C_API_EXPORT XnDepthPixel* XN_CALLBACK_TYPE __ModuleGetDepthMap(XnModuleNodeHandle hGenerator)
00804 {
00805 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
00806 ModuleDepthGenerator* pNode = dynamic_cast<ModuleDepthGenerator*>(pProdNode);
00807 return pNode->GetDepthMap();
00808 }
00809
00810 XN_C_API_EXPORT XnUInt8* XN_CALLBACK_TYPE __ModuleGetImageMap(XnModuleNodeHandle hGenerator)
00811 {
00812 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
00813 ModuleImageGenerator* pNode = dynamic_cast<ModuleImageGenerator*>(pProdNode);
00814 return pNode->GetImageMap();
00815 }
00816
00817 XN_C_API_EXPORT XnBool XN_CALLBACK_TYPE __ModuleIsPixelFormatSupported(XnModuleNodeHandle hGenerator, XnPixelFormat Format)
00818 {
00819 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
00820 ModuleImageGenerator* pNode = dynamic_cast<ModuleImageGenerator*>(pProdNode);
00821 return pNode->IsPixelFormatSupported(Format);
00822 }
00823
00824 XN_C_API_EXPORT XnStatus XN_CALLBACK_TYPE __ModuleSetPixelFormat(XnModuleNodeHandle hGenerator, XnPixelFormat Format)
00825 {
00826 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
00827 ModuleImageGenerator* pNode = dynamic_cast<ModuleImageGenerator*>(pProdNode);
00828 return pNode->SetPixelFormat(Format);
00829 }
00830
00831 XN_C_API_EXPORT XnPixelFormat XN_CALLBACK_TYPE __ModuleGetPixelFormat(XnModuleNodeHandle hGenerator)
00832 {
00833 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
00834 ModuleImageGenerator* pNode = dynamic_cast<ModuleImageGenerator*>(pProdNode);
00835 return pNode->GetPixelFormat();
00836 }
00837
00838 XN_C_API_EXPORT XnStatus XN_CALLBACK_TYPE __ModuleRegisterToPixelFormatChange(XnModuleNodeHandle hGenerator, XnModuleStateChangedHandler handler, void* pCookie, XnCallbackHandle* phCallback)
00839 {
00840 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
00841 ModuleImageGenerator* pNode = dynamic_cast<ModuleImageGenerator*>(pProdNode);
00842 return pNode->RegisterToPixelFormatChange(handler, pCookie, *phCallback);
00843 }
00844
00845 XN_C_API_EXPORT void XN_CALLBACK_TYPE __ModuleUnregisterFromPixelFormatChange(XnModuleNodeHandle hGenerator, XnCallbackHandle hCallback)
00846 {
00847 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
00848 ModuleImageGenerator* pNode = dynamic_cast<ModuleImageGenerator*>(pProdNode);
00849 return pNode->UnregisterFromPixelFormatChange(hCallback);
00850 }
00851
00852 XN_C_API_EXPORT XnIRPixel* XN_CALLBACK_TYPE __ModuleGetIRMap(XnModuleNodeHandle hGenerator)
00853 {
00854 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
00855 ModuleIRGenerator* pNode = dynamic_cast<ModuleIRGenerator*>(pProdNode);
00856 return pNode->GetIRMap();
00857 }
00858
00859 XN_C_API_EXPORT XnStatus XN_CALLBACK_TYPE __ModuleAddGesture(XnModuleNodeHandle hGenerator, const XnChar* strGesture, XnBoundingBox3D* pArea)
00860 {
00861 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
00862 ModuleGestureGenerator* pNode = dynamic_cast<ModuleGestureGenerator*>(pProdNode);
00863 return pNode->AddGesture(strGesture, pArea);
00864 }
00865
00866 XN_C_API_EXPORT XnStatus XN_CALLBACK_TYPE __ModuleRemoveGesture(XnModuleNodeHandle hGenerator, const XnChar* strGesture)
00867 {
00868 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
00869 ModuleGestureGenerator* pNode = dynamic_cast<ModuleGestureGenerator*>(pProdNode);
00870 return pNode->RemoveGesture(strGesture);
00871 }
00872 XN_C_API_EXPORT XnStatus XN_CALLBACK_TYPE __ModuleGetActiveGestures(XnModuleNodeHandle hGenerator, XnChar** pstrGestures, XnUInt16* pnGestures)
00873 {
00874 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
00875 ModuleGestureGenerator* pNode = dynamic_cast<ModuleGestureGenerator*>(pProdNode);
00876 return pNode->GetActiveGestures(pstrGestures, *pnGestures);
00877 }
00878 XN_C_API_EXPORT XnStatus XN_CALLBACK_TYPE __ModuleEnumerateGestures(XnModuleNodeHandle hGenerator, XnChar** pstrGestures, XnUInt16* pnGestures)
00879 {
00880 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
00881 ModuleGestureGenerator* pNode = dynamic_cast<ModuleGestureGenerator*>(pProdNode);
00882 return pNode->EnumerateGestures(pstrGestures, *pnGestures);
00883 }
00884 XN_C_API_EXPORT XnBool XN_CALLBACK_TYPE __ModuleIsGestureAvailable(XnModuleNodeHandle hGenerator, const XnChar* strGesture)
00885 {
00886 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
00887 ModuleGestureGenerator* pNode = dynamic_cast<ModuleGestureGenerator*>(pProdNode);
00888 return pNode->IsGestureAvailable(strGesture);
00889 }
00890 XN_C_API_EXPORT XnBool XN_CALLBACK_TYPE __ModuleIsGestureProgressSupported(XnModuleNodeHandle hGenerator, const XnChar* strGesture)
00891 {
00892 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
00893 ModuleGestureGenerator* pNode = dynamic_cast<ModuleGestureGenerator*>(pProdNode);
00894 return pNode->IsGestureProgressSupported(strGesture);
00895 }
00896 XN_C_API_EXPORT XnStatus XN_CALLBACK_TYPE __ModuleRegisterGestureCallbacks(XnModuleNodeHandle hGenerator, XnModuleGestureRecognized RecognizedCB, XnModuleGestureProgress ProgressCB, void* pCookie, XnCallbackHandle* phCallback)
00897 {
00898 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
00899 ModuleGestureGenerator* pNode = dynamic_cast<ModuleGestureGenerator*>(pProdNode);
00900 return pNode->RegisterGestureCallbacks(RecognizedCB, ProgressCB, pCookie, *phCallback);
00901 }
00902 XN_C_API_EXPORT void XN_CALLBACK_TYPE __ModuleUnregisterGestureCallbacks(XnModuleNodeHandle hGenerator, XnCallbackHandle hCallback)
00903 {
00904 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
00905 ModuleGestureGenerator* pNode = dynamic_cast<ModuleGestureGenerator*>(pProdNode);
00906 return pNode->UnregisterGestureCallbacks(hCallback);
00907 }
00908 XN_C_API_EXPORT XnStatus XN_CALLBACK_TYPE __ModuleRegisterToGestureChange(XnModuleNodeHandle hGenerator, XnModuleStateChangedHandler handler, void* pCookie, XnCallbackHandle* phCallback)
00909 {
00910 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
00911 ModuleGestureGenerator* pNode = dynamic_cast<ModuleGestureGenerator*>(pProdNode);
00912 return pNode->RegisterToGestureChange(handler, pCookie, *phCallback);
00913 }
00914 XN_C_API_EXPORT void XN_CALLBACK_TYPE __ModuleUnregisterFromGestureChange(XnModuleNodeHandle hGenerator, XnCallbackHandle hCallback)
00915 {
00916 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
00917 ModuleGestureGenerator* pNode = dynamic_cast<ModuleGestureGenerator*>(pProdNode);
00918 return pNode->UnregisterFromGestureChange(hCallback);
00919 }
00920
00921 XN_C_API_EXPORT const XnLabel* XN_CALLBACK_TYPE __ModuleGetLabelMap(XnModuleNodeHandle hGenerator)
00922 {
00923 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
00924 ModuleSceneAnalyzer* pNode = dynamic_cast<ModuleSceneAnalyzer*>(pProdNode);
00925 return pNode->GetLabelMap();
00926 }
00927 XN_C_API_EXPORT XnStatus XN_CALLBACK_TYPE __ModuleGetFloor(XnModuleNodeHandle hGenerator, XnPlane3D* pPlane)
00928 {
00929 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
00930 ModuleSceneAnalyzer* pNode = dynamic_cast<ModuleSceneAnalyzer*>(pProdNode);
00931 return pNode->GetFloor(*pPlane);
00932 }
00933
00934 XN_C_API_EXPORT XnStatus XN_CALLBACK_TYPE __ModuleRegisterHandCallbacks(XnModuleNodeHandle hGenerator, XnModuleHandCreate CreateCB, XnModuleHandUpdate UpdateCB, XnModuleHandDestroy DestroyCB, void* pCookie, XnCallbackHandle* phCallback)
00935 {
00936 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
00937 ModuleHandsGenerator* pNode = dynamic_cast<ModuleHandsGenerator*>(pProdNode);
00938 return pNode->RegisterHandCallbacks(CreateCB, UpdateCB, DestroyCB, pCookie, *phCallback);
00939 }
00940 XN_C_API_EXPORT void XN_CALLBACK_TYPE __ModuleUnregisterHandCallbacks(XnModuleNodeHandle hGenerator, XnCallbackHandle hCallback)
00941 {
00942 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
00943 ModuleHandsGenerator* pNode = dynamic_cast<ModuleHandsGenerator*>(pProdNode);
00944 return pNode->UnregisterHandCallbacks(hCallback);
00945 }
00946 XN_C_API_EXPORT XnStatus XN_CALLBACK_TYPE __ModuleStopTracking(XnModuleNodeHandle hGenerator, XnUserID user)
00947 {
00948 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
00949 ModuleHandsGenerator* pNode = dynamic_cast<ModuleHandsGenerator*>(pProdNode);
00950 return pNode->StopTracking(user);
00951 }
00952 XN_C_API_EXPORT XnStatus XN_CALLBACK_TYPE __ModuleStopTrackingAll(XnModuleNodeHandle hGenerator)
00953 {
00954 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
00955 ModuleHandsGenerator* pNode = dynamic_cast<ModuleHandsGenerator*>(pProdNode);
00956 return pNode->StopTrackingAll();
00957 }
00958 XN_C_API_EXPORT XnStatus XN_CALLBACK_TYPE __ModuleStartTracking(XnModuleNodeHandle hGenerator, const XnPoint3D* pPosition)
00959 {
00960 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
00961 ModuleHandsGenerator* pNode = dynamic_cast<ModuleHandsGenerator*>(pProdNode);
00962 return pNode->StartTracking(*pPosition);
00963 }
00964 XN_C_API_EXPORT XnStatus XN_CALLBACK_TYPE __ModuleSetTrackingSmoothing(XnModuleNodeHandle hGenerator, XnFloat fSmoothingFactor)
00965 {
00966 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
00967 ModuleHandsGenerator* pNode = dynamic_cast<ModuleHandsGenerator*>(pProdNode);
00968 return pNode->SetSmoothing(fSmoothingFactor);
00969 }
00970
00971 XN_C_API_EXPORT XnBool XN_CALLBACK_TYPE __ModuleIsJointAvailable(XnModuleNodeHandle hGenerator, XnSkeletonJoint eJoint)
00972 {
00973 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
00974 ModuleSkeletonInterface* pNode = dynamic_cast<ModuleSkeletonInterface*>(pProdNode);
00975 return pNode->IsJointAvailable(eJoint);
00976 }
00977 XN_C_API_EXPORT XnBool XN_CALLBACK_TYPE __ModuleIsProfileAvailable(XnModuleNodeHandle hGenerator, XnSkeletonProfile eProfile)
00978 {
00979 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
00980 ModuleSkeletonInterface* pNode = dynamic_cast<ModuleSkeletonInterface*>(pProdNode);
00981 return pNode->IsProfileAvailable(eProfile);
00982 }
00983 XN_C_API_EXPORT XnStatus XN_CALLBACK_TYPE __ModuleSetSkeletonProfile(XnModuleNodeHandle hGenerator, XnSkeletonProfile eProfile)
00984 {
00985 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
00986 ModuleSkeletonInterface* pNode = dynamic_cast<ModuleSkeletonInterface*>(pProdNode);
00987 return pNode->SetSkeletonProfile(eProfile);
00988 }
00989 XN_C_API_EXPORT XnStatus XN_CALLBACK_TYPE __ModuleSetJointActive(XnModuleNodeHandle hGenerator, XnSkeletonJoint eJoint, XnBool bState)
00990 {
00991 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
00992 ModuleSkeletonInterface* pNode = dynamic_cast<ModuleSkeletonInterface*>(pProdNode);
00993 return pNode->SetJointActive(eJoint, bState);
00994 }
00995 XN_C_API_EXPORT XnBool XN_CALLBACK_TYPE __ModuleIsJointActive(XnModuleNodeHandle hGenerator, XnSkeletonJoint eJoint)
00996 {
00997 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
00998 ModuleSkeletonInterface* pNode = dynamic_cast<ModuleSkeletonInterface*>(pProdNode);
00999 return pNode->IsJointActive(eJoint);
01000 }
01001 XN_C_API_EXPORT XnStatus XN_CALLBACK_TYPE __ModuleRegisterToJointConfigurationChange(XnModuleNodeHandle hGenerator, XnModuleStateChangedHandler handler, void* pCookie, XnCallbackHandle* phCallback)
01002 {
01003 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
01004 ModuleSkeletonInterface* pNode = dynamic_cast<ModuleSkeletonInterface*>(pProdNode);
01005 return pNode->RegisterToJointConfigurationChange(handler, pCookie, *phCallback);
01006 }
01007 XN_C_API_EXPORT void XN_CALLBACK_TYPE __ModuleUnregisterFromJointConfigurationChange(XnModuleNodeHandle hGenerator, XnCallbackHandle hCallback)
01008 {
01009 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
01010 ModuleSkeletonInterface* pNode = dynamic_cast<ModuleSkeletonInterface*>(pProdNode);
01011 return pNode->UnregisterFromJointConfigurationChange(hCallback);
01012 }
01013 XN_C_API_EXPORT XnStatus XN_CALLBACK_TYPE __ModuleEnumerateActiveJoints(XnModuleNodeHandle hGenerator, XnSkeletonJoint* pJoints, XnUInt16& nJoints)
01014 {
01015 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
01016 ModuleSkeletonInterface* pNode = dynamic_cast<ModuleSkeletonInterface*>(pProdNode);
01017 return pNode->EnumerateActiveJoints(pJoints, nJoints);
01018 }
01019 XN_C_API_EXPORT XnStatus XN_CALLBACK_TYPE __ModuleGetSkeletonJoint(XnModuleNodeHandle hGenerator, XnUserID user, XnSkeletonJoint eJoint, XnSkeletonJointTransformation* pJoint)
01020 {
01021 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
01022 ModuleSkeletonInterface* pNode = dynamic_cast<ModuleSkeletonInterface*>(pProdNode);
01023 return pNode->GetSkeletonJoint(user, eJoint, *pJoint);
01024 }
01025 XN_C_API_EXPORT XnStatus XN_CALLBACK_TYPE __ModuleGetSkeletonJointPosition(XnModuleNodeHandle hGenerator, XnUserID user, XnSkeletonJoint eJoint, XnSkeletonJointPosition* pJoint)
01026 {
01027 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
01028 ModuleSkeletonInterface* pNode = dynamic_cast<ModuleSkeletonInterface*>(pProdNode);
01029 return pNode->GetSkeletonJointPosition(user, eJoint, *pJoint);
01030 }
01031 XN_C_API_EXPORT XnStatus XN_CALLBACK_TYPE __ModuleGetSkeletonJointOrientation(XnModuleNodeHandle hGenerator, XnUserID user, XnSkeletonJoint eJoint, XnSkeletonJointOrientation* pJoint)
01032 {
01033 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
01034 ModuleSkeletonInterface* pNode = dynamic_cast<ModuleSkeletonInterface*>(pProdNode);
01035 return pNode->GetSkeletonJointOrientation(user, eJoint, *pJoint);
01036 }
01037 XN_C_API_EXPORT XnBool XN_CALLBACK_TYPE __ModuleIsSkeletonTracking(XnModuleNodeHandle hGenerator, XnUserID user)
01038 {
01039 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
01040 ModuleSkeletonInterface* pNode = dynamic_cast<ModuleSkeletonInterface*>(pProdNode);
01041 return pNode->IsTracking(user);
01042 }
01043 XN_C_API_EXPORT XnBool XN_CALLBACK_TYPE __ModuleIsSkeletonCalibrated(XnModuleNodeHandle hGenerator, XnUserID user)
01044 {
01045 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
01046 ModuleSkeletonInterface* pNode = dynamic_cast<ModuleSkeletonInterface*>(pProdNode);
01047 return pNode->IsCalibrated(user);
01048 }
01049 XN_C_API_EXPORT XnBool XN_CALLBACK_TYPE __ModuleIsSkeletonCalibrating(XnModuleNodeHandle hGenerator, XnUserID user)
01050 {
01051 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
01052 ModuleSkeletonInterface* pNode = dynamic_cast<ModuleSkeletonInterface*>(pProdNode);
01053 return pNode->IsCalibrating(user);
01054 }
01055
01056 XN_C_API_EXPORT XnStatus XN_CALLBACK_TYPE __ModuleRequestSkeletonCalibration(XnModuleNodeHandle hGenerator, XnUserID user, XnBool bForce)
01057 {
01058 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
01059 ModuleSkeletonInterface* pNode = dynamic_cast<ModuleSkeletonInterface*>(pProdNode);
01060 return pNode->RequestCalibration(user, bForce);
01061 }
01062 XN_C_API_EXPORT XnStatus XN_CALLBACK_TYPE __ModuleAbortSkeletonCalibration(XnModuleNodeHandle hGenerator, XnUserID user)
01063 {
01064 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
01065 ModuleSkeletonInterface* pNode = dynamic_cast<ModuleSkeletonInterface*>(pProdNode);
01066 return pNode->AbortCalibration(user);
01067 }
01068 XN_C_API_EXPORT XnStatus XN_CALLBACK_TYPE __ModuleSaveCalibrationData(XnModuleNodeHandle hGenerator, XnUserID user, XnUInt32 nSlot)
01069 {
01070 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
01071 ModuleSkeletonInterface* pNode = dynamic_cast<ModuleSkeletonInterface*>(pProdNode);
01072 return pNode->SaveCalibrationData(user, nSlot);
01073 }
01074 XN_C_API_EXPORT XnStatus XN_CALLBACK_TYPE __ModuleLoadCalibrationData(XnModuleNodeHandle hGenerator, XnUserID user, XnUInt32 nSlot)
01075 {
01076 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
01077 ModuleSkeletonInterface* pNode = dynamic_cast<ModuleSkeletonInterface*>(pProdNode);
01078 return pNode->LoadCalibrationData(user, nSlot);
01079 }
01080 XN_C_API_EXPORT XnStatus XN_CALLBACK_TYPE __ModuleClearCalibrationData(XnModuleNodeHandle hGenerator, XnUInt32 nSlot)
01081 {
01082 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
01083 ModuleSkeletonInterface* pNode = dynamic_cast<ModuleSkeletonInterface*>(pProdNode);
01084 return pNode->ClearCalibrationData(nSlot);
01085 }
01086 XN_C_API_EXPORT XnBool XN_CALLBACK_TYPE __ModuleIsCalibrationData(XnModuleNodeHandle hGenerator, XnUInt32 nSlot)
01087 {
01088 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
01089 ModuleSkeletonInterface* pNode = dynamic_cast<ModuleSkeletonInterface*>(pProdNode);
01090 return pNode->IsCalibrationData(nSlot);
01091 }
01092 XN_C_API_EXPORT XnStatus XN_CALLBACK_TYPE __ModuleStartSkeletonTracking(XnModuleNodeHandle hGenerator, XnUserID user)
01093 {
01094 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
01095 ModuleSkeletonInterface* pNode = dynamic_cast<ModuleSkeletonInterface*>(pProdNode);
01096 return pNode->StartTracking(user);
01097 }
01098 XN_C_API_EXPORT XnStatus XN_CALLBACK_TYPE __ModuleStopSkeletonTracking(XnModuleNodeHandle hGenerator, XnUserID user)
01099 {
01100 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
01101 ModuleSkeletonInterface* pNode = dynamic_cast<ModuleSkeletonInterface*>(pProdNode);
01102 return pNode->StopTracking(user);
01103 }
01104 XN_C_API_EXPORT XnStatus XN_CALLBACK_TYPE __ModuleResetSkeleton(XnModuleNodeHandle hGenerator, XnUserID user)
01105 {
01106 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
01107 ModuleSkeletonInterface* pNode = dynamic_cast<ModuleSkeletonInterface*>(pProdNode);
01108 return pNode->Reset(user);
01109 }
01110 XN_C_API_EXPORT XnBool XN_CALLBACK_TYPE __ModuleNeedPoseForSkeletonCalibration(XnModuleNodeHandle hGenerator)
01111 {
01112 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
01113 ModuleSkeletonInterface* pNode = dynamic_cast<ModuleSkeletonInterface*>(pProdNode);
01114 return pNode->NeedPoseForCalibration();
01115 }
01116 XN_C_API_EXPORT XnStatus XN_CALLBACK_TYPE __ModuleGetSkeletonCalibrationPose(XnModuleNodeHandle hGenerator, XnChar* strPose)
01117 {
01118 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
01119 ModuleSkeletonInterface* pNode = dynamic_cast<ModuleSkeletonInterface*>(pProdNode);
01120 return pNode->GetCalibrationPose(strPose);
01121 }
01122 XN_C_API_EXPORT XnStatus XN_CALLBACK_TYPE __ModuleSetSkeletonSmoothing(XnModuleNodeHandle hGenerator, XnFloat fSmoothingFactor)
01123 {
01124 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
01125 ModuleSkeletonInterface* pNode = dynamic_cast<ModuleSkeletonInterface*>(pProdNode);
01126 return pNode->SetSmoothing(fSmoothingFactor);
01127 }
01128 XN_C_API_EXPORT XnStatus XN_CALLBACK_TYPE __ModuleRegisterCalibrationCallbacks(XnModuleNodeHandle hGenerator, XnModuleCalibrationStart CalibrationStartCB, XnModuleCalibrationEnd CalibrationEndCB, void* pCookie, XnCallbackHandle* phCallback)
01129 {
01130 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
01131 ModuleSkeletonInterface* pNode = dynamic_cast<ModuleSkeletonInterface*>(pProdNode);
01132 return pNode->RegisterCalibrationCallbacks(CalibrationStartCB, CalibrationEndCB, pCookie, *phCallback);
01133 }
01134 XN_C_API_EXPORT void XN_CALLBACK_TYPE __ModuleUnregisterCalibrationCallbacks(XnModuleNodeHandle hGenerator, XnCallbackHandle hCallback)
01135 {
01136 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
01137 ModuleSkeletonInterface* pNode = dynamic_cast<ModuleSkeletonInterface*>(pProdNode);
01138 return pNode->UnregisterCalibrationCallbacks(hCallback);
01139 }
01141 XN_C_API_EXPORT XnUInt32 XN_CALLBACK_TYPE __ModuleGetNumberOfPoses(XnModuleNodeHandle hGenerator)
01142 {
01143 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
01144 ModulePoseDetectionInteface* pNode = dynamic_cast<ModulePoseDetectionInteface*>(pProdNode);
01145 return pNode->GetNumberOfPoses();
01146 }
01147 XN_C_API_EXPORT XnStatus XN_CALLBACK_TYPE __ModuleGetAvailablePoses(XnModuleNodeHandle hGenerator, XnChar** pstrPoses, XnUInt32* pnPoses)
01148 {
01149 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
01150 ModulePoseDetectionInteface* pNode = dynamic_cast<ModulePoseDetectionInteface*>(pProdNode);
01151 return pNode->GetAvailablePoses(pstrPoses, *pnPoses);
01152 }
01153
01154 XN_C_API_EXPORT XnStatus XN_CALLBACK_TYPE __ModuleStartPoseDetection(XnModuleNodeHandle hGenerator, const XnChar* strPose, XnUserID user)
01155 {
01156 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
01157 ModulePoseDetectionInteface* pNode = dynamic_cast<ModulePoseDetectionInteface*>(pProdNode);
01158 return pNode->StartPoseDetection(strPose, user);
01159 }
01160 XN_C_API_EXPORT XnStatus XN_CALLBACK_TYPE __ModuleStopPoseDetection(XnModuleNodeHandle hGenerator, XnUserID user)
01161 {
01162 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
01163 ModulePoseDetectionInteface* pNode = dynamic_cast<ModulePoseDetectionInteface*>(pProdNode);
01164 return pNode->StopPoseDetection(user);
01165 }
01166
01167 XN_C_API_EXPORT XnStatus XN_CALLBACK_TYPE __ModuleRegisterToPoseCallbacks(XnModuleNodeHandle hGenerator, XnModulePoseDetectionCallback PoseDetectionStartCB, XnModulePoseDetectionCallback PoseDetectionEndCB, void* pCookie, XnCallbackHandle* phCallback)
01168 {
01169 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
01170 ModulePoseDetectionInteface* pNode = dynamic_cast<ModulePoseDetectionInteface*>(pProdNode);
01171 return pNode->RegisterToPoseDetectionCallbacks(PoseDetectionStartCB, PoseDetectionEndCB, pCookie, *phCallback);
01172 }
01173 XN_C_API_EXPORT void XN_CALLBACK_TYPE __ModuleUnregisterFromPoseCallbacks(XnModuleNodeHandle hGenerator, XnCallbackHandle hCallback)
01174 {
01175 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
01176 ModulePoseDetectionInteface* pNode = dynamic_cast<ModulePoseDetectionInteface*>(pProdNode);
01177 return pNode->UnregisterFromPoseDetectionCallbacks(hCallback);
01178 }
01179
01180
01181 XN_C_API_EXPORT XnUInt16 XN_CALLBACK_TYPE __ModuleGetNumberOfUsers(XnModuleNodeHandle hGenerator)
01182 {
01183 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
01184 ModuleUserGenerator* pNode = dynamic_cast<ModuleUserGenerator*>(pProdNode);
01185 return pNode->GetNumberOfUsers();
01186 }
01187 XN_C_API_EXPORT XnStatus XN_CALLBACK_TYPE __ModuleGetUsers(XnModuleNodeHandle hGenerator, XnUserID* pUsers, XnUInt16* pnUsers)
01188 {
01189 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
01190 ModuleUserGenerator* pNode = dynamic_cast<ModuleUserGenerator*>(pProdNode);
01191 return pNode->GetUsers(pUsers, *pnUsers);
01192 }
01193 XN_C_API_EXPORT XnStatus XN_CALLBACK_TYPE __ModuleGetUserCoM(XnModuleNodeHandle hGenerator, XnUserID user, XnPoint3D* pCoM)
01194 {
01195 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
01196 ModuleUserGenerator* pNode = dynamic_cast<ModuleUserGenerator*>(pProdNode);
01197 return pNode->GetCoM(user, *pCoM);
01198 }
01199 XN_C_API_EXPORT XnStatus XN_CALLBACK_TYPE __ModuleGetUserPixels(XnModuleNodeHandle hGenerator, XnUserID user, XnSceneMetaData* pScene)
01200 {
01201 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
01202 ModuleUserGenerator* pNode = dynamic_cast<ModuleUserGenerator*>(pProdNode);
01203 return pNode->GetUserPixels(user, pScene);
01204 }
01205 XN_C_API_EXPORT XnStatus XN_CALLBACK_TYPE __ModuleRegisterUserCallbacks(XnModuleNodeHandle hGenerator, XnModuleUserHandler NewUserCB, XnModuleUserHandler LostUserCB, void* pCookie, XnCallbackHandle* phCallback)
01206 {
01207 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
01208 ModuleUserGenerator* pNode = dynamic_cast<ModuleUserGenerator*>(pProdNode);
01209 return pNode->RegisterUserCallbacks(NewUserCB, LostUserCB, pCookie, *phCallback);
01210 }
01211 XN_C_API_EXPORT void XN_CALLBACK_TYPE __ModuleUnregisterUserCallbacks(XnModuleNodeHandle hGenerator, XnCallbackHandle hCallback)
01212 {
01213 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
01214 ModuleUserGenerator* pNode = dynamic_cast<ModuleUserGenerator*>(pProdNode);
01215 return pNode->UnregisterUserCallbacks(hCallback);
01216 }
01217
01218 XN_C_API_EXPORT XnUChar* XN_CALLBACK_TYPE __ModuleGetAudioBuffer(XnModuleNodeHandle hGenerator)
01219 {
01220 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
01221 ModuleAudioGenerator* pNode = dynamic_cast<ModuleAudioGenerator*>(pProdNode);
01222 return pNode->GetAudioBuffer();
01223 }
01224 XN_C_API_EXPORT XnUInt32 XN_CALLBACK_TYPE __ModuleGetSupportedWaveOutputModesCount(XnModuleNodeHandle hGenerator)
01225 {
01226 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
01227 ModuleAudioGenerator* pNode = dynamic_cast<ModuleAudioGenerator*>(pProdNode);
01228 return pNode->GetSupportedWaveOutputModesCount();
01229 }
01230 XN_C_API_EXPORT XnStatus XN_CALLBACK_TYPE __ModuleGetSupportedWaveOutputModes(XnModuleNodeHandle hGenerator, XnWaveOutputMode* aSupportedModes, XnUInt32* pnCount)
01231 {
01232 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
01233 ModuleAudioGenerator* pNode = dynamic_cast<ModuleAudioGenerator*>(pProdNode);
01234 return pNode->GetSupportedWaveOutputModes(aSupportedModes, *pnCount);
01235 }
01236 XN_C_API_EXPORT XnStatus XN_CALLBACK_TYPE __ModuleSetWaveOutputMode(XnModuleNodeHandle hGenerator, const XnWaveOutputMode* pOutputMode)
01237 {
01238 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
01239 ModuleAudioGenerator* pNode = dynamic_cast<ModuleAudioGenerator*>(pProdNode);
01240 return pNode->SetWaveOutputMode(*pOutputMode);
01241 }
01242 XN_C_API_EXPORT XnStatus XN_CALLBACK_TYPE __ModuleGetWaveOutputMode(XnModuleNodeHandle hGenerator, XnWaveOutputMode* pOutputMode)
01243 {
01244 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
01245 ModuleAudioGenerator* pNode = dynamic_cast<ModuleAudioGenerator*>(pProdNode);
01246 return pNode->GetWaveOutputMode(*pOutputMode);
01247 }
01248 XN_C_API_EXPORT XnStatus XN_CALLBACK_TYPE __ModuleRegisterToWaveOutputModeChanges(XnModuleNodeHandle hGenerator, XnModuleStateChangedHandler handler, void* pCookie, XnCallbackHandle* phCallback)
01249 {
01250 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
01251 ModuleAudioGenerator* pNode = dynamic_cast<ModuleAudioGenerator*>(pProdNode);
01252 return pNode->RegisterToWaveOutputModeChanges(handler, pCookie, *phCallback);
01253 }
01254 XN_C_API_EXPORT void XN_CALLBACK_TYPE __ModuleUnregisterFromWaveOutputModeChanges(XnModuleNodeHandle hGenerator, XnCallbackHandle hCallback)
01255 {
01256 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
01257 ModuleAudioGenerator* pNode = dynamic_cast<ModuleAudioGenerator*>(pProdNode);
01258 return pNode->UnregisterFromWaveOutputModeChanges(hCallback);
01259 }
01260
01261 XN_C_API_EXPORT XnCodecID XN_CALLBACK_TYPE __ModuleGetCodecID(XnModuleNodeHandle hCodec)
01262 {
01263 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hCodec;
01264 ModuleCodec* pCodec = dynamic_cast<ModuleCodec*>(pProdNode);
01265 return pCodec->GetCodecID();
01266 }
01267 XN_C_API_EXPORT XnStatus XN_CALLBACK_TYPE __ModuleCodecInit(XnModuleNodeHandle hCodec, XnNodeHandle hNode)
01268 {
01269 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hCodec;
01270 ModuleCodec* pCodec = dynamic_cast<ModuleCodec*>(pProdNode);
01271 return pCodec->Init(ProductionNode(hNode));
01272 }
01273 XN_C_API_EXPORT XnStatus XN_CALLBACK_TYPE __ModuleCompressData(XnModuleNodeHandle hCodec, const void* pSrc, XnUInt32 nSrcSize, void* pDst, XnUInt32 nDstSize, XnUInt* pnBytesWritten)
01274 {
01275 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hCodec;
01276 ModuleCodec* pCodec = dynamic_cast<ModuleCodec*>(pProdNode);
01277 return pCodec->CompressData(pSrc, nSrcSize, pDst, nDstSize, pnBytesWritten);
01278 }
01279 XN_C_API_EXPORT XnStatus XN_CALLBACK_TYPE __ModuleDecompressData(XnModuleNodeHandle hCodec, const void* pSrc, XnUInt32 nSrcSize, void* pDst, XnUInt32 nDstSize, XnUInt* pnBytesWritten)
01280 {
01281 ModuleProductionNode* pProdNode = (ModuleProductionNode*)hCodec;
01282 ModuleCodec* pCodec = dynamic_cast<ModuleCodec*>(pProdNode);
01283 return pCodec->DecompressData(pSrc, nSrcSize, pDst, nDstSize, pnBytesWritten);
01284 }
01285
01286 XN_C_API_EXPORT void XN_CALLBACK_TYPE __ModuleGetExtendedSerializationInterface(XnModuleExtendedSerializationInterface* pInterface)
01287 {
01288 pInterface->InitNotifications = __ModuleInitNotifications;
01289 pInterface->StopNotifications = __ModuleStopNotifications;
01290 }
01291
01292 XN_C_API_EXPORT void XN_CALLBACK_TYPE __ModuleGetLockAwareInterface(XnModuleLockAwareInterface* pInterface)
01293 {
01294 pInterface->SetLockState = __ModuleSetLockState;
01295 pInterface->GetLockState = __ModuleGetLockState;
01296 pInterface->RegisterToLockChange = __ModuleRegisterToLockChange;
01297 pInterface->UnregisterFromLockChange = __ModuleUnregisterFromLockChange;
01298 }
01299
01300 XN_C_API_EXPORT void XN_CALLBACK_TYPE __ModuleGetErrorStateInterface(XnModuleErrorStateInterface* pInterface)
01301 {
01302 pInterface->GetErrorState = __ModuleGetErrorState;
01303 pInterface->RegisterToErrorStateChange = __ModuleRegisterToErrorStateChange;
01304 pInterface->UnregisterFromErrorStateChange = __ModuleUnregisterFromErrorStateChange;
01305 }
01306
01307 XN_C_API_EXPORT void XN_CALLBACK_TYPE __ModuleGetProductionNodeInterface(XnModuleProductionNodeInterface* pInterface)
01308 {
01309 pInterface->IsCapabilitySupported = __ModuleIsCapabilitySupported;
01310 pInterface->SetIntProperty = __ModuleSetIntProperty;
01311 pInterface->SetRealProperty = __ModuleSetRealProperty;
01312 pInterface->SetStringProperty = __ModuleSetStringProperty;
01313 pInterface->SetGeneralProperty = __ModuleSetGeneralProperty;
01314 pInterface->GetIntProperty = __ModuleGetIntProperty;
01315 pInterface->GetRealProperty = __ModuleGetRealProperty;
01316 pInterface->GetStringProperty = __ModuleGetStringProperty;
01317 pInterface->GetGeneralProperty = __ModuleGetGeneralProperty;
01318
01319 __ModuleGetExtendedSerializationInterface(pInterface->pExtendedSerializationInterface);
01320 __ModuleGetLockAwareInterface(pInterface->pLockAwareInterface);
01321 __ModuleGetErrorStateInterface(pInterface->pErrorStateInterface);
01322 }
01323
01324 XN_C_API_EXPORT void XN_CALLBACK_TYPE __ModuleGetDeviceInterface(XnModuleDeviceInterface* pInterface)
01325 {
01326 __ModuleGetProductionNodeInterface(pInterface->pProductionNode);
01327 }
01328
01329 XN_C_API_EXPORT void XN_CALLBACK_TYPE __ModuleGetMirrorInterface(XnModuleMirrorInterface* pInterface)
01330 {
01331 pInterface->SetMirror = __ModuleSetMirror;
01332 pInterface->IsMirrored = __ModuleIsMirrored;
01333 pInterface->RegisterToMirrorChange = __ModuleRegisterToMirrorChange;
01334 pInterface->UnregisterFromMirrorChange = __ModuleUnregisterFromMirrorChange;
01335 }
01336
01337 XN_C_API_EXPORT void XN_CALLBACK_TYPE __ModuleGetAlternativeViewPointInterface(XnModuleAlternativeViewPointInterface* pInterface)
01338 {
01339 pInterface->IsViewPointSupported = __ModuleIsViewPointSupported;
01340 pInterface->SetViewPoint = __ModuleSetViewPoint;
01341 pInterface->ResetViewPoint = __ModuleResetViewPoint;
01342 pInterface->IsViewPointAs = __ModuleIsViewPointAs;
01343 pInterface->RegisterToViewPointChange = __ModuleRegisterToViewPointChange;
01344 pInterface->UnregisterFromViewPointChange = __ModuleUnregisterFromViewPointChange;
01345 }
01346
01347 XN_C_API_EXPORT void XN_CALLBACK_TYPE __ModuleGetFrameSyncInterface(XnModuleFrameSyncInterface* pInterface)
01348 {
01349 pInterface->CanFrameSyncWith = __ModuleCanFrameSyncWith;
01350 pInterface->FrameSyncWith = __ModuleFrameSyncWith;
01351 pInterface->StopFrameSyncWith = __ModuleStopFrameSyncWith;
01352 pInterface->IsFrameSyncedWith = __ModuleIsFrameSyncedWith;
01353 pInterface->RegisterToFrameSyncChange = __ModuleRegisterToFrameSyncChange;
01354 pInterface->UnregisterFromFrameSyncChange = __ModuleUnregisterFromFrameSyncChange;
01355 }
01356
01357 XN_C_API_EXPORT void XN_CALLBACK_TYPE __ModuleGetGeneratorInterface(XnModuleGeneratorInterface* pInterface)
01358 {
01359 __ModuleGetProductionNodeInterface(pInterface->pProductionNodeInterface);
01360 pInterface->StartGenerating = __ModuleStartGenerating;
01361 pInterface->IsGenerating = __ModuleIsGenerating;
01362 pInterface->StopGenerating = __ModuleStopGenerating;
01363 pInterface->RegisterToGenerationRunningChange = __ModuleRegisterToGenerationRunningChange;
01364 pInterface->UnregisterFromGenerationRunningChange = __ModuleUnregisterFromGenerationRunningChange;
01365 pInterface->RegisterToNewDataAvailable = __ModuleRegisterToNewDataAvailable;
01366 pInterface->UnregisterFromNewDataAvailable = __ModuleUnregisterFromNewDataAvailable;
01367 pInterface->IsNewDataAvailable = __ModuleIsNewDataAvailable;
01368 pInterface->UpdateData = __ModuleUpdateData;
01369 pInterface->GetDataSize = __ModuleGetDataSize;
01370 pInterface->GetTimestamp = __ModuleGetTimestamp;
01371 pInterface->GetFrameID = __ModuleGetFrameID;
01372 __ModuleGetMirrorInterface(pInterface->pMirrorInterface);
01373 __ModuleGetAlternativeViewPointInterface(pInterface->pAlternativeViewPointInterface);
01374 __ModuleGetFrameSyncInterface(pInterface->pFrameSyncInterface);
01375 }
01376
01377 XN_C_API_EXPORT void XN_CALLBACK_TYPE __ModuleGetNodeNotifications(XnNodeNotifications *pInterface)
01378 {
01379 pInterface->OnNodeAdded = __ModuleOnNodeAdded;
01380 pInterface->OnNodeRemoved = __ModuleOnNodeRemoved;
01381 pInterface->OnNodeIntPropChanged = __ModuleOnNodeIntPropChanged;
01382 pInterface->OnNodeRealPropChanged = __ModuleOnNodeRealPropChanged;
01383 pInterface->OnNodeStringPropChanged = __ModuleOnNodeStringPropChanged;
01384 pInterface->OnNodeGeneralPropChanged = __ModuleOnNodeGeneralPropChanged;
01385 pInterface->OnNodeStateReady = __ModuleOnNodeStateReady;
01386 pInterface->OnNodeNewData = __ModuleOnNodeNewData;
01387 }
01388
01389 XN_C_API_EXPORT void XN_CALLBACK_TYPE __ModuleGetRecorderInterface(XnModuleRecorderInterface* pInterface)
01390 {
01391 pInterface->SetOutputStream = __ModuleSetOutputStream;
01392 __ModuleGetProductionNodeInterface(pInterface->pProductionNode);
01393 __ModuleGetNodeNotifications(pInterface->pNodeNotifications);
01394 }
01395
01396 XN_C_API_EXPORT void XN_CALLBACK_TYPE __ModuleGetPlayerInterface(XnModulePlayerInterface* pInterface)
01397 {
01398 __ModuleGetProductionNodeInterface(pInterface->pProductionNode);
01399 pInterface->SetInputStream = __ModuleSetInputStream;
01400 pInterface->ReadNext = __ModuleReadNext;
01401 pInterface->SetNodeNotifications = __ModuleSetNodeNotifications;
01402 pInterface->SetRepeat = __ModuleSetRepeat;
01403 pInterface->SeekToTimeStamp = __ModuleSeekToTimeStamp;
01404 pInterface->SeekToFrame = __ModuleSeekToFrame;
01405 pInterface->TellTimestamp = __ModuleTellTimestamp;
01406 pInterface->TellFrame = __ModuleTellFrame;
01407 pInterface->GetNumFrames = __ModuleGetNumFrames;
01408 pInterface->GetSupportedFormat = __ModuleGetSupportedFormat;
01409 pInterface->IsEOF = __ModuleIsEOF;
01410 pInterface->RegisterToEndOfFileReached = __ModuleRegisterToEndOfFileReached;
01411 pInterface->UnregisterFromEndOfFileReached = __ModuleUnregisterFromEndOfFileReached;
01412 }
01413
01414 XN_C_API_EXPORT void XN_CALLBACK_TYPE __ModuleGetCroppingInterface(XnModuleCroppingInterface* pInterface)
01415 {
01416 pInterface->SetCropping = __ModuleSetCropping;
01417 pInterface->GetCropping = __ModuleGetCropping;
01418 pInterface->RegisterToCroppingChange = __ModuleRegisterToCroppingChange;
01419 pInterface->UnregisterFromCroppingChange = __ModuleUnregisterFromCroppingChange;
01420 }
01421
01422 XN_C_API_EXPORT void XN_CALLBACK_TYPE __ModuleGetMapGeneratorInterface(XnModuleMapGeneratorInterface* pInterface)
01423 {
01424 __ModuleGetGeneratorInterface(pInterface->pGeneratorInterface);
01425 pInterface->GetSupportedMapOutputModesCount = __ModuleGetSupportedMapOutputModesCount;
01426 pInterface->GetSupportedMapOutputModes = __ModuleGetSupportedMapOutputModes;
01427 pInterface->SetMapOutputMode = __ModuleSetMapOutputMode;
01428 pInterface->GetMapOutputMode = __ModuleGetMapOutputMode;
01429 pInterface->RegisterToMapOutputModeChange = __ModuleRegisterToMapOutputModeChange;
01430 pInterface->UnregisterFromMapOutputModeChange = __ModuleUnregisterFromMapOutputModeChange;
01431 __ModuleGetCroppingInterface(pInterface->pCroppingInterface);
01432 }
01433
01434 XN_C_API_EXPORT void XN_CALLBACK_TYPE __ModuleGetUserPositionInterface(XnModuleUserPositionCapabilityInterface* pInterface)
01435 {
01436 pInterface->GetSupportedUserPositionsCount = __ModuleGetSupportedUserPositionsCount;
01437 pInterface->SetUserPosition = __ModuleSetUserPosition;
01438 pInterface->GetUserPosition = __ModuleGetUserPosition;
01439 pInterface->RegisterToUserPositionChange = __ModuleRegisterToUserPositionChange;
01440 pInterface->UnregisterFromUserPositionChange = __ModuleUnregisterFromUserPositionChange;
01441 }
01442
01443 XN_C_API_EXPORT void XN_CALLBACK_TYPE __ModuleGetDepthGeneratorInterface(XnModuleDepthGeneratorInterface* pInterface)
01444 {
01445 __ModuleGetMapGeneratorInterface(pInterface->pMapInterface);
01446 pInterface->GetDeviceMaxDepth = __ModuleGetDeviceMaxDepth;
01447 pInterface->GetFieldOfView = __ModuleGetFieldOfView;
01448 pInterface->RegisterToFieldOfViewChange = __ModuleRegisterToFieldOfViewChange;
01449 pInterface->UnregisterFromFieldOfViewChange = __ModuleUnregisterFromFieldOfViewChange;
01450 pInterface->GetDepthMap = __ModuleGetDepthMap;
01451 __ModuleGetUserPositionInterface(pInterface->pUserPositionInterface);
01452 }
01453
01454 XN_C_API_EXPORT void XN_CALLBACK_TYPE __ModuleGetImageGeneratorInterface(XnModuleImageGeneratorInterface* pInterface)
01455 {
01456 __ModuleGetMapGeneratorInterface(pInterface->pMapInterface);
01457 pInterface->GetImageMap = __ModuleGetImageMap;
01458 pInterface->IsPixelFormatSupported = __ModuleIsPixelFormatSupported;
01459 pInterface->SetPixelFormat = __ModuleSetPixelFormat;
01460 pInterface->GetPixelFormat = __ModuleGetPixelFormat;
01461 pInterface->RegisterToPixelFormatChange = __ModuleRegisterToPixelFormatChange;
01462 pInterface->UnregisterFromPixelFormatChange = __ModuleUnregisterFromPixelFormatChange;
01463 }
01464
01465 XN_C_API_EXPORT void XN_CALLBACK_TYPE __ModuleGetIRGeneratorInterface(XnModuleIRGeneratorInterface* pInterface)
01466 {
01467 __ModuleGetMapGeneratorInterface(pInterface->pMapInterface);
01468 pInterface->GetIRMap = __ModuleGetIRMap;
01469 }
01470
01471 XN_C_API_EXPORT void XN_CALLBACK_TYPE __ModuleGetGestureGeneratorInterface(XnModuleGestureGeneratorInterface* pInterface)
01472 {
01473 __ModuleGetGeneratorInterface(pInterface->pGeneratorInterface);
01474 pInterface->AddGesture = __ModuleAddGesture;
01475 pInterface->RemoveGesture = __ModuleRemoveGesture;
01476 pInterface->GetActiveGestures = __ModuleGetActiveGestures;
01477 pInterface->EnumerateGestures = __ModuleEnumerateGestures;
01478 pInterface->IsGestureAvailable = __ModuleIsGestureAvailable;
01479 pInterface->IsGestureProgressSupported = __ModuleIsGestureProgressSupported;
01480 pInterface->RegisterGestureCallbacks = __ModuleRegisterGestureCallbacks;
01481 pInterface->UnregisterGestureCallbacks = __ModuleUnregisterGestureCallbacks;
01482 pInterface->RegisterToGestureChange = __ModuleRegisterToGestureChange;
01483 pInterface->UnregisterFromGestureChange = __ModuleUnregisterFromGestureChange;
01484 }
01485
01486 XN_C_API_EXPORT void XN_CALLBACK_TYPE __ModuleGetSceneAnalyzerInterface(XnModuleSceneAnalyzerInterface* pInterface)
01487 {
01488 __ModuleGetMapGeneratorInterface(pInterface->pMapInterface);
01489 pInterface->GetLabelMap = __ModuleGetLabelMap;
01490 pInterface->GetFloor = __ModuleGetFloor;
01491 }
01492
01493 XN_C_API_EXPORT void XN_CALLBACK_TYPE __ModuleGetSkeletonInterface(XnModuleSkeletonCapabilityInterface* pInterface)
01494 {
01495 pInterface->IsJointAvailable = __ModuleIsJointAvailable;
01496 pInterface->IsProfileAvailable = __ModuleIsProfileAvailable;
01497 pInterface->SetSkeletonProfile = __ModuleSetSkeletonProfile;
01498 pInterface->SetJointActive = __ModuleSetJointActive;
01499 pInterface->IsJointActive = __ModuleIsJointActive;
01500 pInterface->RegisterToJointConfigurationChange = __ModuleRegisterToJointConfigurationChange;
01501 pInterface->UnregisterFromJointConfigurationChange = __ModuleUnregisterFromJointConfigurationChange;
01502 pInterface->EnumerateActiveJoints = __ModuleEnumerateActiveJoints;
01503 pInterface->GetSkeletonJoint = __ModuleGetSkeletonJoint;
01504 pInterface->GetSkeletonJointPosition = __ModuleGetSkeletonJointPosition;
01505 pInterface->GetSkeletonJointOrientation = __ModuleGetSkeletonJointOrientation;
01506 pInterface->IsTracking = __ModuleIsSkeletonTracking;
01507 pInterface->IsCalibrated = __ModuleIsSkeletonCalibrated;
01508 pInterface->IsCalibrating = __ModuleIsSkeletonCalibrating;
01509 pInterface->RequestCalibration = __ModuleRequestSkeletonCalibration;
01510 pInterface->AbortCalibration = __ModuleAbortSkeletonCalibration;
01511 pInterface->SaveCalibrationData = __ModuleSaveCalibrationData;
01512 pInterface->LoadCalibrationData = __ModuleLoadCalibrationData;
01513 pInterface->ClearCalibrationData = __ModuleClearCalibrationData;
01514 pInterface->IsCalibrationData = __ModuleIsCalibrationData;
01515 pInterface->StartTracking = __ModuleStartSkeletonTracking;
01516 pInterface->StopTracking = __ModuleStopSkeletonTracking;
01517 pInterface->Reset = __ModuleResetSkeleton;
01518 pInterface->NeedPoseForCalibration = __ModuleNeedPoseForSkeletonCalibration;
01519 pInterface->GetCalibrationPose = __ModuleGetSkeletonCalibrationPose;
01520 pInterface->SetSmoothing = __ModuleSetSkeletonSmoothing;
01521 pInterface->RegisterCalibrationCallbacks = __ModuleRegisterCalibrationCallbacks;
01522 pInterface->UnregisterCalibrationCallbacks = __ModuleUnregisterCalibrationCallbacks;
01523 }
01524
01525 XN_C_API_EXPORT void XN_CALLBACK_TYPE __ModuleGetPoseDetectionInterface(XnModulePoseDetectionCapabilityInterface* pInteface)
01526 {
01527 pInteface->GetNumberOfPoses = __ModuleGetNumberOfPoses;
01528 pInteface->GetAvailablePoses = __ModuleGetAvailablePoses;
01529 pInteface->StartPoseDetection = __ModuleStartPoseDetection;
01530 pInteface->StopPoseDetection = __ModuleStopPoseDetection;
01531 pInteface->RegisterToPoseCallbacks = __ModuleRegisterToPoseCallbacks;
01532 pInteface->UnregisterFromPoseCallbacks = __ModuleUnregisterFromPoseCallbacks;
01533 }
01534
01535 XN_C_API_EXPORT void XN_CALLBACK_TYPE __ModuleGetUserGeneratorInterface(XnModuleUserGeneratorInterface* pInterface)
01536 {
01537 __ModuleGetGeneratorInterface(pInterface->pGeneratorInterface);
01538
01539 pInterface->GetNumberOfUsers = __ModuleGetNumberOfUsers;
01540 pInterface->GetUsers = __ModuleGetUsers;
01541 pInterface->GetCoM = __ModuleGetUserCoM;
01542 pInterface->GetUserPixels = __ModuleGetUserPixels;
01543 pInterface->RegisterUserCallbacks = __ModuleRegisterUserCallbacks;
01544 pInterface->UnregisterUserCallbacks = __ModuleUnregisterUserCallbacks;
01545
01546 __ModuleGetSkeletonInterface(pInterface->pSkeletonInterface);
01547 __ModuleGetPoseDetectionInterface(pInterface->pPoseDetectionInteface);
01548 }
01549
01550 XN_C_API_EXPORT void XN_CALLBACK_TYPE __ModuleGetHandsGeneratorInterface(XnModuleHandsGeneratorInterface* pInterface)
01551 {
01552 __ModuleGetGeneratorInterface(pInterface->pGeneratorInterface);
01553
01554 pInterface->StartTracking = __ModuleStartTracking;
01555 pInterface->StopTracking = __ModuleStopTracking;
01556 pInterface->StopTrackingAll = __ModuleStopTrackingAll;
01557 pInterface->RegisterHandCallbacks = __ModuleRegisterHandCallbacks;
01558 pInterface->UnregisterHandCallbacks = __ModuleUnregisterHandCallbacks;
01559 pInterface->SetSmoothing = __ModuleSetTrackingSmoothing;
01560 }
01561
01562 XN_C_API_EXPORT void XN_CALLBACK_TYPE __ModuleGetAudioGeneratorInterface(XnModuleAudioGeneratorInterface* pInterface)
01563 {
01564 __ModuleGetGeneratorInterface(pInterface->pGeneratorInterface);
01565
01566 pInterface->GetAudioBuffer = __ModuleGetAudioBuffer;
01567 pInterface->GetSupportedWaveOutputModesCount = __ModuleGetSupportedWaveOutputModesCount;
01568 pInterface->GetSupportedWaveOutputModes = __ModuleGetSupportedWaveOutputModes;
01569 pInterface->SetWaveOutputMode = __ModuleSetWaveOutputMode;
01570 pInterface->GetWaveOutputMode = __ModuleGetWaveOutputMode;
01571 pInterface->RegisterToWaveOutputModeChanges = __ModuleRegisterToWaveOutputModeChanges;
01572 pInterface->UnregisterFromWaveOutputModeChanges = __ModuleUnregisterFromWaveOutputModeChanges;
01573 }
01574
01575 XN_C_API_EXPORT void XN_CALLBACK_TYPE __ModuleGetCodecInterface(XnModuleCodecInterface* pInterface)
01576 {
01577 __ModuleGetProductionNodeInterface(pInterface->pProductionNode);
01578
01579 pInterface->GetCodecID = __ModuleGetCodecID;
01580 pInterface->Init = __ModuleCodecInit;
01581 pInterface->CompressData = __ModuleCompressData;
01582 pInterface->DecompressData = __ModuleDecompressData;
01583 }
01584
01585 #endif // __XN_MODULE_CPP_REGISTRATION_H__