OpenNI 1.5.4
XnModuleCppInterface.h
Go to the documentation of this file.
1/****************************************************************************
2* *
3* OpenNI 1.x Alpha *
4* Copyright (C) 2011 PrimeSense Ltd. *
5* *
6* This file is part of OpenNI. *
7* *
8* OpenNI is free software: you can redistribute it and/or modify *
9* it under the terms of the GNU Lesser General Public License as published *
10* by the Free Software Foundation, either version 3 of the License, or *
11* (at your option) any later version. *
12* *
13* OpenNI is distributed in the hope that it will be useful, *
14* but WITHOUT ANY WARRANTY; without even the implied warranty of *
15* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
16* GNU Lesser General Public License for more details. *
17* *
18* You should have received a copy of the GNU Lesser General Public License *
19* along with OpenNI. If not, see <http://www.gnu.org/licenses/>. *
20* *
21****************************************************************************/
22#ifndef __XN_MODULE_CPP_INTERFACE_H__
23#define __XN_MODULE_CPP_INTERFACE_H__
24
31//---------------------------------------------------------------------------
32// Includes
33//---------------------------------------------------------------------------
34#include "XnModuleInterface.h"
35#include "XnListT.h"
36#include "XnCppWrapper.h"
37
38//---------------------------------------------------------------------------
39// Types
40//---------------------------------------------------------------------------
41namespace xn
42{
44
46
47 class Module
48 {
49 public:
50 Module() {}
51 virtual ~Module() {}
52
53 virtual XnStatus Load() { return XN_STATUS_OK; }
54 virtual void Unload() {}
55
56 inline XnStatus AddExportedNode(XnModuleGetExportedInterfacePtr pEntryPoint) { return m_ExportedNodes.AddLast(pEntryPoint); }
57
58 XnUInt32 GetExportedNodesCount() { return m_ExportedNodes.Size(); }
59
61 {
62 if (nCount < m_ExportedNodes.Size())
63 {
64 return XN_STATUS_OUTPUT_BUFFER_OVERFLOW;
65 }
66
67 XnUInt32 i = 0;
68 for (ExportedNodesList::ConstIterator it = m_ExportedNodes.Begin();
69 it != m_ExportedNodes.End();
70 ++it, ++i)
71 {
72 aEntryPoints[i] = *it;
73 }
74
75 return (XN_STATUS_OK);
76 }
77
78 private:
79 ExportedNodesList m_ExportedNodes;
80 };
81
82 class ExtensionModule : public Module
83 {
84 public:
85 virtual XnStatus Load()
86 {
87 XnStatus nRetVal = XN_STATUS_OK;
88
89 nRetVal = Module::Load();
90 XN_IS_STATUS_OK(nRetVal);
91
92 nRetVal = RegisterNewTypes();
93 XN_IS_STATUS_OK(nRetVal);
94
95 return (XN_STATUS_OK);
96 }
97
98 protected:
100 };
101
103 {
104 public:
107
108 virtual void GetDescription(XnProductionNodeDescription* pDescription) = 0;
109 virtual XnStatus EnumerateProductionTrees(Context& context, NodeInfoList& TreesList, EnumerationErrors* pErrors) = 0;
110 virtual XnStatus Create(Context& context, const XnChar* strInstanceName, const XnChar* strCreationInfo, NodeInfoList* pNeededTrees, const XnChar* strConfigurationDir, ModuleProductionNode** ppInstance) = 0;
111 virtual void Destroy(ModuleProductionNode* pInstance) = 0;
112 };
113
115 {
116 public:
118 virtual XnStatus NotifyExState(XnNodeNotifications* pNotifications, void* pCookie) = 0;
119 virtual void UnregisterExNotifications() = 0;
120 };
121
123 {
124 public:
126 virtual XnStatus SetLockState(XnBool bLocked) = 0;
127 virtual XnBool GetLockState() = 0;
128 virtual XnStatus RegisterToLockChange(XnModuleStateChangedHandler handler, void* pCookie, XnCallbackHandle& hCallback) = 0;
129 virtual void UnregisterFromLockChange(XnCallbackHandle hCallback) = 0;
130 };
131
133 {
134 public:
136 virtual XnStatus GetErrorState() = 0;
139 };
140
142 {
143 public:
144 virtual XnStatus GetRange(const XnChar* strCap, XnInt32& nMin, XnInt32& nMax, XnInt32& nStep, XnInt32& nDefault, XnBool& bIsAutoSupported) = 0;
145 virtual XnStatus Get(const XnChar* strCap, XnInt32& nValue) = 0;
146 virtual XnInt32 Set(const XnChar* strCap, XnInt32 nValue) = 0;
147 virtual XnStatus RegisterToValueChange(const XnChar* strCap, XnModuleStateChangedHandler handler, void* pCookie, XnCallbackHandle& hCallback) = 0;
148 virtual void UnregisterFromValueChange(const XnChar* strCap, XnCallbackHandle hCallback) = 0;
149 };
150
152 {
153 public:
154#ifdef XN_NO_DYNAMIC_CAST
156 {
157 xnOSMemSet(m_aInterfaces, 0, sizeof(m_aInterfaces));
158 m_aInterfaces[XN_NODE_TYPE_PRODUCTION_NODE] = this;
159 }
160#endif
162 virtual XnBool IsCapabilitySupported(const XnChar* /*strCapabilityName*/) { return FALSE; }
163 virtual XnStatus SetIntProperty(const XnChar* /*strName*/, XnUInt64 /*nValue*/) { return XN_STATUS_ERROR; }
164 virtual XnStatus SetRealProperty(const XnChar* /*strName*/, XnDouble /*dValue*/) { return XN_STATUS_ERROR; }
165 virtual XnStatus SetStringProperty(const XnChar* /*strName*/, const XnChar* /*strValue*/) { return XN_STATUS_ERROR; }
166 virtual XnStatus SetGeneralProperty(const XnChar* /*strName*/, XnUInt32 /*nBufferSize*/, const void* /*pBuffer*/) { return XN_STATUS_ERROR; }
167 virtual XnStatus GetIntProperty(const XnChar* /*strName*/, XnUInt64& /*nValue*/) const { return XN_STATUS_ERROR; }
168 virtual XnStatus GetRealProperty(const XnChar* /*strName*/, XnDouble& /*dValue*/) const { return XN_STATUS_ERROR; }
169 virtual XnStatus GetStringProperty(const XnChar* /*strName*/, XnChar* /*csValue*/, XnUInt32 /*nBufSize*/) const { return XN_STATUS_ERROR; }
170 virtual XnStatus GetGeneralProperty(const XnChar* /*strName*/, XnUInt32 /*nBufferSize*/, void* /*pBuffer*/) const { return XN_STATUS_ERROR; }
174 virtual ModuleGeneralIntInterface* GetGeneralIntInterface(const XnChar* /*strCap*/) { return NULL; }
175
176 public:
177#ifdef XN_NO_DYNAMIC_CAST
178 void* m_aInterfaces[XN_NODE_TYPE_FIRST_EXTENSION];
179#endif
180 };
181
183 {
184 public:
186 virtual XnStatus GetDeviceName(XnChar* strBuffer, XnUInt32& nBufferSize) = 0;
187 virtual XnStatus GetVendorSpecificData(XnChar* strBuffer, XnUInt32& nBufferSize) = 0;
188 virtual XnStatus GetSerialNumber(XnChar* strBuffer, XnUInt32& nBufferSize) = 0;
189 };
190
191 class ModuleDevice : virtual public ModuleProductionNode
192 {
193 public:
194#ifdef XN_NO_DYNAMIC_CAST
195 ModuleDevice() { m_aInterfaces[XN_NODE_TYPE_DEVICE] = this; }
196#endif
197 virtual ~ModuleDevice() {}
199 };
200
202 {
203 public:
205 virtual XnStatus SetMirror(XnBool bMirror) = 0;
206 virtual XnBool IsMirrored() = 0;
207 virtual XnStatus RegisterToMirrorChange(XnModuleStateChangedHandler handler, void* pCookie, XnCallbackHandle& hCallback) = 0;
208 virtual void UnregisterFromMirrorChange(XnCallbackHandle hCallback) = 0;
209 };
210
212 {
213 public:
215 virtual XnBool IsViewPointSupported(ProductionNode& other) = 0;
217 virtual XnBool IsViewPointAs(ProductionNode& other) = 0;
221 };
222
224 {
225 public:
226 virtual XnBool CanFrameSyncWith(ProductionNode& other) = 0;
229 virtual XnBool IsFrameSyncedWith(ProductionNode& other) = 0;
232 };
233
235 {
236 public:
237#ifdef XN_NO_DYNAMIC_CAST
238 ModuleGenerator() { m_aInterfaces[XN_NODE_TYPE_GENERATOR] = this;}
239#endif
240 virtual ~ModuleGenerator() {}
242 virtual XnBool IsGenerating() = 0;
243 virtual void StopGenerating() = 0;
248 virtual XnBool IsNewDataAvailable(XnUInt64& nTimestamp) = 0;
249 virtual XnStatus UpdateData() = 0;
250 virtual const void* GetData() = 0;
251 virtual XnUInt32 GetDataSize() = 0;
252 virtual XnUInt64 GetTimestamp() = 0;
253 virtual XnUInt32 GetFrameID() = 0;
254 virtual ModuleMirrorInterface* GetMirrorInterface() { return NULL; }
257 };
258
260 {
261 public:
263 virtual XnStatus OnNodeAdded(const XnChar* strNodeName, XnProductionNodeType type, XnCodecID compression) = 0;
264 virtual XnStatus OnNodeRemoved(const XnChar* strNodeName) = 0;
265 virtual XnStatus OnNodeIntPropChanged(const XnChar* strNodeName, const XnChar* strPropName, XnUInt64 nValue) = 0;
266 virtual XnStatus OnNodeRealPropChanged(const XnChar* strNodeName, const XnChar* strPropName, XnDouble dValue) = 0;
267 virtual XnStatus OnNodeStringPropChanged(const XnChar* strNodeName, const XnChar* strPropName, const XnChar* strValue) = 0;
268 virtual XnStatus OnNodeStateReady(const XnChar* strNodeName) = 0;
269 virtual XnStatus OnNodeGeneralPropChanged(const XnChar* strNodeName, const XnChar* strPropName, XnUInt32 nBufferSize, const void* pBuffer) = 0;
270 virtual XnStatus OnNodeNewData(const XnChar* strNodeName, XnUInt64 nTimeStamp, XnUInt32 nFrame, const void* pData, XnUInt32 nSize) = 0;
271 };
272
274 virtual public ModuleProductionNode,
275 virtual public ModuleNodeNotifications
276 {
277 public:
278#ifdef XN_NO_DYNAMIC_CAST
279 ModuleRecorder() { m_aInterfaces[XN_NODE_TYPE_RECORDER] = this; }
280#endif
281 virtual ~ModuleRecorder() {}
282 virtual XnStatus SetOutputStream(void* pCookie, XnRecorderOutputStreamInterface* pStream) = 0;
283 };
284
285 class ModulePlayer : virtual public ModuleProductionNode
286 {
287 public:
288#ifdef XN_NO_DYNAMIC_CAST
289 ModulePlayer() { m_aInterfaces[XN_NODE_TYPE_PLAYER] = this; }
290#endif
291 virtual ~ModulePlayer() {}
292 virtual XnStatus SetInputStream(void* pStreamCookie, XnPlayerInputStreamInterface* pStream) = 0;
293 virtual XnStatus ReadNext() = 0;
294 virtual XnStatus SetNodeNotifications(void* pNodeNotificationsCookie, XnNodeNotifications* pNodeNotifications) = 0;
295
296 virtual XnStatus SetRepeat(XnBool bRepeat) = 0;
297 virtual XnStatus SeekToTimeStamp(XnInt64 nTimeOffset, XnPlayerSeekOrigin origin) = 0;
298 virtual XnStatus SeekToFrame(const XnChar* strNodeName, XnInt32 nFrameOffset, XnPlayerSeekOrigin origin) = 0;
299 virtual XnStatus TellTimestamp(XnUInt64& nTimestamp) = 0;
300 virtual XnStatus TellFrame(const XnChar* strNodeName, XnUInt32& nFrame) = 0;
301 virtual XnUInt32 GetNumFrames(const XnChar* strNodeName, XnUInt32& nFrames) = 0;
302 virtual const XnChar* GetSupportedFormat() = 0;
303 virtual XnBool IsEOF() = 0;
306 };
307
309 {
310 public:
312 virtual XnStatus SetCropping(const XnCropping &Cropping) = 0;
313 virtual XnStatus GetCropping(XnCropping &Cropping) = 0;
314 virtual XnStatus RegisterToCroppingChange(XnModuleStateChangedHandler handler, void* pCookie, XnCallbackHandle& hCallback) = 0;
316 };
317
327
328 class ModuleMapGenerator : virtual public ModuleGenerator
329 {
330 public:
331#ifdef XN_NO_DYNAMIC_CAST
332 ModuleMapGenerator() { m_aInterfaces[XN_NODE_TYPE_MAP_GENERATOR] = this; }
333#endif
335 virtual XnUInt32 GetSupportedMapOutputModesCount() = 0;
336 virtual XnStatus GetSupportedMapOutputModes(XnMapOutputMode aModes[], XnUInt32& nCount) = 0;
337 virtual XnStatus SetMapOutputMode(const XnMapOutputMode& Mode) = 0;
341 virtual XnUInt32 GetBytesPerPixel() = 0;
344 };
345
347 {
348 public:
350 virtual XnUInt32 GetSupportedUserPositionsCount() = 0;
351 virtual XnStatus SetUserPosition(XnUInt32 nIndex, const XnBoundingBox3D& Position) = 0;
352 virtual XnStatus GetUserPosition(XnUInt32 nIndex, XnBoundingBox3D& Position) = 0;
355 };
356
358 {
359 public:
360#ifdef XN_NO_DYNAMIC_CAST
361 ModuleDepthGenerator() { m_aInterfaces[XN_NODE_TYPE_DEPTH] = this; }
362#endif
364 virtual const void* GetData() { return GetDepthMap(); }
365 virtual XnUInt32 GetBytesPerPixel() { return sizeof(XnDepthPixel); }
366 virtual XnDepthPixel* GetDepthMap() = 0;
368 virtual void GetFieldOfView(XnFieldOfView& FOV) = 0;
372 };
373
375 {
376 public:
377#ifdef XN_NO_DYNAMIC_CAST
378 ModuleImageGenerator() { m_aInterfaces[XN_NODE_TYPE_IMAGE] = this; }
379#endif
381 virtual const void* GetData() { return GetImageMap(); }
383 virtual XnUInt8* GetImageMap() = 0;
384 virtual XnBool IsPixelFormatSupported(XnPixelFormat Format) = 0;
389 };
390
392 {
393 public:
394#ifdef XN_NO_DYNAMIC_CAST
395 ModuleIRGenerator() { m_aInterfaces[XN_NODE_TYPE_IR] = this; }
396#endif
398 virtual const void* GetData() { return GetIRMap(); }
399 virtual XnUInt32 GetBytesPerPixel() { return sizeof(XnIRPixel); }
400 virtual XnIRPixel* GetIRMap() = 0;
401 };
402
404 {
405 public:
406#ifdef XN_NO_DYNAMIC_CAST
407 ModuleGestureGenerator() { m_aInterfaces[XN_NODE_TYPE_GESTURE] = this; }
408#endif
410 virtual const void* GetData() { return NULL; }
411 virtual XnStatus AddGesture(const XnChar* strGesture, XnBoundingBox3D* pArea) = 0;
412 virtual XnStatus RemoveGesture(const XnChar* strGesture) = 0;
413 virtual XnStatus GetActiveGestures(XnChar** pstrGestures, XnUInt16& nGestures) = 0;
414 virtual XnStatus GetAllActiveGestures(XnChar** pstrGestures, XnUInt32 nNameLength, XnUInt16& nGestures) = 0;
415 virtual XnStatus EnumerateGestures(XnChar** pstrGestures, XnUInt16& nGestures) = 0;
416 virtual XnStatus EnumerateAllGestures(XnChar** pstrGestures, XnUInt32 nNameLength, XnUInt16& nGestures) = 0;
417 virtual XnBool IsGestureAvailable(const XnChar* strGesture) = 0;
418 virtual XnBool IsGestureProgressSupported(const XnChar* strGesture) = 0;
419 virtual XnStatus RegisterGestureCallbacks(XnModuleGestureRecognized RecognizedCB, XnModuleGestureProgress ProgressCB, void* pCookie, XnCallbackHandle& hCallback) = 0;
420 virtual void UnregisterGestureCallbacks(XnCallbackHandle hCallback) = 0;
421 virtual XnStatus RegisterToGestureChange(XnModuleStateChangedHandler handler, void* pCookie, XnCallbackHandle& hCallback) = 0;
423
424 virtual XnStatus RegisterToGestureIntermediateStageCompleted(XnModuleGestureIntermediateStageCompleted GestureIntermediateStageCompletedCB, void* pCookie, XnCallbackHandle& hCallback) = 0;
428 };
429
431 {
432 public:
433#ifdef XN_NO_DYNAMIC_CAST
434 ModuleSceneAnalyzer() { m_aInterfaces[XN_NODE_TYPE_SCENE] = this; }
435#endif
437 virtual const void* GetData() { return GetLabelMap(); }
438 virtual XnUInt32 GetBytesPerPixel() { return sizeof(XnLabel); }
439 virtual const XnLabel* GetLabelMap() = 0;
440 virtual XnStatus GetFloor(XnPlane3D& pPlane) = 0;
441 };
442
450
452 {
453 public:
454#ifdef XN_NO_DYNAMIC_CAST
455 ModuleHandsGenerator() { m_aInterfaces[XN_NODE_TYPE_HANDS] = this; }
456#endif
458 virtual const void* GetData() { return NULL; }
459 virtual XnStatus RegisterHandCallbacks(XnModuleHandCreate CreateCB, XnModuleHandUpdate UpdateCB, XnModuleHandDestroy DestroyCB, void* pCookie, XnCallbackHandle& hCallback) = 0;
460 virtual void UnregisterHandCallbacks(XnCallbackHandle hCallback) = 0;
461 virtual XnStatus StopTracking(XnUserID user) = 0;
463 virtual XnStatus StartTracking(const XnPoint3D& ptPosition) = 0;
464 virtual XnStatus SetSmoothing(XnFloat fSmoothingFactor) = 0;
465
467 };
468
470 {
471 public:
473 virtual XnBool IsJointAvailable(XnSkeletonJoint eJoint) = 0;
474 virtual XnBool IsProfileAvailable(XnSkeletonProfile eProfile) = 0;
476 virtual XnStatus SetJointActive(XnSkeletonJoint eJoint, XnBool bState) = 0;
477 virtual XnBool IsJointActive(XnSkeletonJoint eJoint) = 0;
480 virtual XnStatus EnumerateActiveJoints(XnSkeletonJoint* pJoints, XnUInt16& nJoints) = 0;
481 virtual XnStatus GetSkeletonJoint(XnUserID user, XnSkeletonJoint eJoint, XnSkeletonJointTransformation& jointTransformation) = 0;
484 virtual XnBool IsTracking(XnUserID user) = 0;
485 virtual XnBool IsCalibrated(XnUserID user) = 0;
486 virtual XnBool IsCalibrating(XnUserID user) = 0;
487 virtual XnStatus RequestCalibration(XnUserID user, XnBool bForce) = 0;
489 virtual XnStatus SaveCalibrationDataToFile(XnUserID user, const XnChar* strFileName) = 0;
490 virtual XnStatus LoadCalibrationDataFromFile(XnUserID user, const XnChar* strFileName) = 0;
491 virtual XnStatus SaveCalibrationData(XnUserID user, XnUInt32 nSlot) = 0;
492 virtual XnStatus LoadCalibrationData(XnUserID user, XnUInt32 nSlot) = 0;
493 virtual XnStatus ClearCalibrationData(XnUInt32 nSlot) = 0;
494 virtual XnBool IsCalibrationData(XnUInt32 nSlot) = 0;
495 virtual XnStatus StartTracking(XnUserID user) = 0;
496 virtual XnStatus StopTracking(XnUserID user) = 0;
497 virtual XnStatus Reset(XnUserID user) = 0;
498 virtual XnBool NeedPoseForCalibration() = 0;
499 virtual XnStatus GetCalibrationPose(XnChar* strPose) = 0;
500 virtual XnStatus SetSmoothing(XnFloat fSmoothingFactor) = 0;
501 virtual XnStatus RegisterCalibrationCallbacks(XnModuleCalibrationStart CalibrationStartCB, XnModuleCalibrationEnd CalibrationEndCB, void* pCookie, XnCallbackHandle& hCallback) = 0;
503
504 virtual XnStatus RegisterToCalibrationInProgress(XnModuleCalibrationInProgress CalibrationInProgressCB, void* pCookie, XnCallbackHandle& hCallback) = 0;
506 virtual XnStatus RegisterToCalibrationComplete(XnModuleCalibrationComplete CalibrationCompleteCB, void* pCookie, XnCallbackHandle& hCallback) = 0;
508
509 virtual XnStatus RegisterToCalibrationStart(XnModuleCalibrationStart handler, void* pCookie, XnCallbackHandle& hCallback) = 0;
511 };
512
514 {
515 public:
517
518 virtual XnUInt32 GetNumberOfPoses() = 0;
519 virtual XnStatus GetAvailablePoses(XnChar** pstrPoses, XnUInt32& nPoses) = 0;
520 virtual XnStatus GetAllAvailablePoses(XnChar** pstrPoses, XnUInt32 nNameLength, XnUInt32& nPoses) = 0;
521
522 virtual XnStatus StartPoseDetection(const XnChar* strPose, XnUserID user) = 0;
524 virtual XnStatus StopSinglePoseDetection(XnUserID user, const XnChar* strPose) = 0;
525
528
531
532 virtual XnStatus RegisterToPoseDetected(XnModulePoseDetectionCallback handler, void* pCookie, XnCallbackHandle& hCallback) = 0;
533 virtual XnStatus RegisterToOutOfPose(XnModulePoseDetectionCallback handler, void* pCookie, XnCallbackHandle& hCallback) = 0;
534 virtual void UnregisterFromPoseDetected(XnCallbackHandle hCallback) = 0;
535 virtual void UnregisterFromOutOfPose(XnCallbackHandle hCallback) = 0;
536 };
537
539 {
540 public:
541#ifdef XN_NO_DYNAMIC_CAST
542 ModuleUserGenerator() { m_aInterfaces[XN_NODE_TYPE_USER] = this;}
543#endif
545 virtual const void* GetData() { return NULL; }
546 virtual XnUInt16 GetNumberOfUsers() = 0;
547 virtual XnStatus GetUsers(XnUserID* pUsers, XnUInt16& nUsers) = 0;
548 virtual XnStatus GetCoM(XnUserID user, XnPoint3D& com) = 0;
549 virtual XnStatus GetUserPixels(XnUserID user, XnSceneMetaData *pScene) = 0;
550 virtual XnStatus RegisterUserCallbacks(XnModuleUserHandler NewUserCB, XnModuleUserHandler LostUserCB, void* pCookie, XnCallbackHandle& hCallback) = 0;
551 virtual void UnregisterUserCallbacks(XnCallbackHandle hCallback) = 0;
554
555 virtual XnStatus RegisterToUserExit(XnModuleUserHandler UserExitCB, void* pCookie, XnCallbackHandle& hCallback) = 0;
556 virtual void UnregisterFromUserExit(XnCallbackHandle hCallback) = 0;
557 virtual XnStatus RegisterToUserReEnter(XnModuleUserHandler UserReEnterCB, void* pCookie, XnCallbackHandle& hCallback) = 0;
558 virtual void UnregisterFromUserReEnter(XnCallbackHandle hCallback) = 0;
559 };
560
562 {
563 public:
564#ifdef XN_NO_DYNAMIC_CAST
565 ModuleAudioGenerator() { m_aInterfaces[XN_NODE_TYPE_AUDIO] = this; }
566#endif
568 virtual const void* GetData() { return GetAudioBuffer(); }
569 virtual XnUChar* GetAudioBuffer() = 0;
570 virtual XnUInt32 GetSupportedWaveOutputModesCount() = 0;
571 virtual XnStatus GetSupportedWaveOutputModes(XnWaveOutputMode aSupportedModes[], XnUInt32& nCount) = 0;
572 virtual XnStatus SetWaveOutputMode(const XnWaveOutputMode& OutputMode) = 0;
576 };
577
578 class ModuleCodec : virtual public ModuleProductionNode
579 {
580 public:
581#ifdef XN_NO_DYNAMIC_CAST
582 ModuleCodec() { m_aInterfaces[XN_NODE_TYPE_CODEC] = this; }
583#endif
584 virtual ~ModuleCodec() {}
585 virtual XnCodecID GetCodecID() const = 0;
586 virtual XnStatus Init(const ProductionNode& node) = 0;
587 virtual XnStatus CompressData(const void* pSrc, XnUInt32 nSrcSize, void* pDst, XnUInt32 nDstSize, XnUInt* pnBytesWritten) const = 0;
588 virtual XnStatus DecompressData(const void* pSrc, XnUInt32 nSrcSize, void* pDst, XnUInt32 nDstSize, XnUInt* pnBytesWritten) const = 0;
589 };
590
592 {
593 public:
594#ifdef XN_NO_DYNAMIC_CAST
595 ModuleScriptNode() { m_aInterfaces[XN_NODE_TYPE_SCRIPT] = this; }
596#endif
597 virtual ~ModuleScriptNode() {}
598 virtual const XnChar* GetSupportedFormat() = 0;
599 virtual XnStatus LoadScriptFromFile(const XnChar* strFileName) = 0;
600 virtual XnStatus LoadScriptFromString(const XnChar* strScript) = 0;
601 virtual XnStatus Run(NodeInfoList& createdNodes, EnumerationErrors& errors) = 0;
602 };
603}
604
605#endif // __XN_MODULE_CPP_INTERFACE_H__
#define XN_IS_STATUS_OK(x)
Definition XnMacros.h:60
void(* XnModuleGestureProgress)(const XnChar *strGesture, const XnPoint3D *pPosition, XnFloat fProgress, void *pCookie)
Definition XnModuleInterface.h:95
void(* XnModuleHandDestroy)(XnUserID user, XnFloat fTime, void *pCookie)
Definition XnModuleInterface.h:91
void(* XnModuleStateChangedHandler)(void *pCookie)
Definition XnModuleInterface.h:80
void(* XnModuleHandCreate)(XnUserID user, const XnPoint3D *pPosition, XnFloat fTime, void *pCookie)
Definition XnModuleInterface.h:89
void(* XnModuleCalibrationInProgress)(XnUserID user, XnCalibrationStatus calibrationError, void *pCookie)
Definition XnModuleInterface.h:102
void(* XnModulePoseDetectionCallback)(const XnChar *strPose, XnUserID user, void *pCookie)
Definition XnModuleInterface.h:106
void(* XnModuleUserHandler)(XnUserID user, void *pCookie)
Definition XnModuleInterface.h:83
void(* XnModuleGestureReadyForNextIntermediateStage)(const XnChar *strGesture, const XnPoint3D *pPosition, void *pCookie)
Definition XnModuleInterface.h:97
void(* XnModuleHandUpdate)(XnUserID user, const XnPoint3D *pPosition, XnFloat fTime, void *pCookie)
Definition XnModuleInterface.h:90
void(* XnModuleCalibrationComplete)(XnUserID user, XnCalibrationStatus calibrationError, void *pCookie)
Definition XnModuleInterface.h:103
void(* XnModuleHandTouchingFOVEdge)(XnUserID user, const XnPoint3D *pPosition, XnFloat fTime, XnDirection eDir, void *pCookie)
Definition XnModuleInterface.h:86
void(* XnModuleGestureIntermediateStageCompleted)(const XnChar *strGesture, const XnPoint3D *pPosition, void *pCookie)
Definition XnModuleInterface.h:96
void(* XnModulePoseDetectionInProgressCallback)(const XnChar *strPose, XnUserID user, XnPoseDetectionStatus poseError, void *pCookie)
Definition XnModuleInterface.h:107
void(* XnModuleCalibrationStart)(XnUserID user, void *pCookie)
Definition XnModuleInterface.h:100
void(* XnModuleGetExportedInterfacePtr)(XnModuleExportedProductionNodeInterface *pInterface)
Definition XnModuleInterface.h:63
void(* XnModuleCalibrationEnd)(XnUserID user, XnBool bSuccess, void *pCookie)
Definition XnModuleInterface.h:101
void(* XnModuleGestureRecognized)(const XnChar *strGesture, const XnPoint3D *pIDPosition, const XnPoint3D *pEndPosition, void *pCookie)
Definition XnModuleInterface.h:94
XN_C_API void XN_C_DECL xnOSMemSet(void *pDest, XnUInt8 nValue, XnSizeT nCount)
#define FALSE
Definition XnPlatform.h:100
XnUInt32 XnStatus
Definition XnStatus.h:34
#define XN_STATUS_OK
Definition XnStatus.h:37
XnUInt32 XnCodecID
Definition XnTypes.h:839
XnPixelFormat
Definition XnTypes.h:512
XnSkeletonProfile
Definition XnTypes.h:645
XnPowerLineFrequency
Definition XnTypes.h:539
XnPlayerSeekOrigin
Definition XnTypes.h:532
void * XnCallbackHandle
Definition XnTypes.h:268
XnGrayscale16Pixel XnIRPixel
Definition XnTypes.h:305
XnUInt32 XnUserID
Definition XnTypes.h:546
XnInt32 XnProductionNodeType
Definition XnTypes.h:92
XnSkeletonJoint
Definition XnTypes.h:612
@ XN_NODE_TYPE_PLAYER
Definition XnTypes.h:124
@ XN_NODE_TYPE_DEPTH
Definition XnTypes.h:106
@ XN_NODE_TYPE_HANDS
Definition XnTypes.h:133
@ XN_NODE_TYPE_MAP_GENERATOR
Definition XnTypes.h:141
@ XN_NODE_TYPE_SCRIPT
Definition XnTypes.h:142
@ XN_NODE_TYPE_DEVICE
Definition XnTypes.h:103
@ XN_NODE_TYPE_IR
Definition XnTypes.h:115
@ XN_NODE_TYPE_IMAGE
Definition XnTypes.h:109
@ XN_NODE_TYPE_AUDIO
Definition XnTypes.h:112
@ XN_NODE_TYPE_CODEC
Definition XnTypes.h:136
@ XN_NODE_TYPE_PRODUCTION_NODE
Definition XnTypes.h:139
@ XN_NODE_TYPE_FIRST_EXTENSION
Definition XnTypes.h:144
@ XN_NODE_TYPE_GENERATOR
Definition XnTypes.h:140
@ XN_NODE_TYPE_GESTURE
Definition XnTypes.h:127
@ XN_NODE_TYPE_RECORDER
Definition XnTypes.h:121
@ XN_NODE_TYPE_USER
Definition XnTypes.h:118
@ XN_NODE_TYPE_SCENE
Definition XnTypes.h:130
XnUInt16 XnDepthPixel
Definition XnTypes.h:276
XnUInt16 XnLabel
Definition XnTypes.h:308
Definition XnListT.h:65
XnUInt32 Size() const
Definition XnListT.h:490
XnStatus AddLast(T const &value)
Definition XnListT.h:383
Iterator End()
Definition XnListT.h:281
Iterator Begin()
Definition XnListT.h:265
Definition XnCppWrapper.h:8594
Definition XnCppWrapper.h:8407
Definition XnModuleCppInterface.h:83
virtual XnStatus Load()
Definition XnModuleCppInterface.h:85
virtual XnStatus RegisterNewTypes()=0
Definition XnModuleCppInterface.h:212
virtual XnStatus SetViewPoint(ProductionNode &other)=0
virtual XnBool IsViewPointSupported(ProductionNode &other)=0
virtual XnBool IsViewPointAs(ProductionNode &other)=0
virtual XnStatus RegisterToViewPointChange(XnModuleStateChangedHandler handler, void *pCookie, XnCallbackHandle &hCallback)=0
virtual void UnregisterFromViewPointChange(XnCallbackHandle hCallback)=0
virtual ~ModuleAlternativeViewPointInterface()
Definition XnModuleCppInterface.h:214
Definition XnModuleCppInterface.h:319
virtual ~ModuleAntiFlickerInterface()
Definition XnModuleCppInterface.h:321
virtual void UnregisterFromPowerLineFrequencyChange(XnCallbackHandle hCallback)=0
virtual XnStatus SetPowerLineFrequency(XnPowerLineFrequency nFrequency)=0
virtual XnStatus RegisterToPowerLineFrequencyChange(XnModuleStateChangedHandler handler, void *pCookie, XnCallbackHandle &hCallback)=0
virtual XnPowerLineFrequency GetPowerLineFrequency()=0
Definition XnModuleCppInterface.h:562
virtual XnUChar * GetAudioBuffer()=0
virtual void UnregisterFromWaveOutputModeChanges(XnCallbackHandle hCallback)=0
virtual XnStatus SetWaveOutputMode(const XnWaveOutputMode &OutputMode)=0
virtual XnUInt32 GetSupportedWaveOutputModesCount()=0
virtual XnStatus GetSupportedWaveOutputModes(XnWaveOutputMode aSupportedModes[], XnUInt32 &nCount)=0
virtual XnStatus RegisterToWaveOutputModeChanges(XnModuleStateChangedHandler handler, void *pCookie, XnCallbackHandle &hCallback)=0
virtual ~ModuleAudioGenerator()
Definition XnModuleCppInterface.h:567
virtual XnStatus GetWaveOutputMode(XnWaveOutputMode &OutputMode)=0
virtual const void * GetData()
Definition XnModuleCppInterface.h:568
Definition XnModuleCppInterface.h:579
virtual XnStatus Init(const ProductionNode &node)=0
virtual XnStatus CompressData(const void *pSrc, XnUInt32 nSrcSize, void *pDst, XnUInt32 nDstSize, XnUInt *pnBytesWritten) const =0
virtual XnStatus DecompressData(const void *pSrc, XnUInt32 nSrcSize, void *pDst, XnUInt32 nDstSize, XnUInt *pnBytesWritten) const =0
virtual XnCodecID GetCodecID() const =0
virtual ~ModuleCodec()
Definition XnModuleCppInterface.h:584
Definition XnModuleCppInterface.h:309
virtual XnStatus GetCropping(XnCropping &Cropping)=0
virtual XnStatus SetCropping(const XnCropping &Cropping)=0
virtual ~ModuleCroppingInterface()
Definition XnModuleCppInterface.h:311
virtual void UnregisterFromCroppingChange(XnCallbackHandle hCallback)=0
virtual XnStatus RegisterToCroppingChange(XnModuleStateChangedHandler handler, void *pCookie, XnCallbackHandle &hCallback)=0
Definition XnModuleCppInterface.h:358
virtual void GetFieldOfView(XnFieldOfView &FOV)=0
virtual XnDepthPixel * GetDepthMap()=0
virtual XnDepthPixel GetDeviceMaxDepth()=0
virtual ~ModuleDepthGenerator()
Definition XnModuleCppInterface.h:363
virtual const void * GetData()
Definition XnModuleCppInterface.h:364
virtual XnStatus RegisterToFieldOfViewChange(XnModuleStateChangedHandler handler, void *pCookie, XnCallbackHandle &hCallback)=0
virtual void UnregisterFromFieldOfViewChange(XnCallbackHandle hCallback)=0
virtual ModuleUserPositionInterface * GetUserPositionInterface()
Definition XnModuleCppInterface.h:371
virtual XnUInt32 GetBytesPerPixel()
Definition XnModuleCppInterface.h:365
Definition XnModuleCppInterface.h:192
virtual ModuleDeviceIdentificationInterface * GetIdentificationInterface()
Definition XnModuleCppInterface.h:198
virtual ~ModuleDevice()
Definition XnModuleCppInterface.h:197
Definition XnModuleCppInterface.h:183
virtual XnStatus GetSerialNumber(XnChar *strBuffer, XnUInt32 &nBufferSize)=0
virtual ~ModuleDeviceIdentificationInterface()
Definition XnModuleCppInterface.h:185
virtual XnStatus GetVendorSpecificData(XnChar *strBuffer, XnUInt32 &nBufferSize)=0
virtual XnStatus GetDeviceName(XnChar *strBuffer, XnUInt32 &nBufferSize)=0
Definition XnModuleCppInterface.h:133
virtual void UnregisterFromErrorStateChange(XnCallbackHandle hCallback)=0
virtual XnStatus RegisterToErrorStateChange(XnModuleStateChangedHandler handler, void *pCookie, XnCallbackHandle &hCallback)=0
virtual XnStatus GetErrorState()=0
virtual ~ModuleErrorStateInterface()
Definition XnModuleCppInterface.h:135
Definition XnModuleCppInterface.h:103
virtual ~ModuleExportedProductionNode()
Definition XnModuleCppInterface.h:106
virtual XnStatus EnumerateProductionTrees(Context &context, NodeInfoList &TreesList, EnumerationErrors *pErrors)=0
virtual void Destroy(ModuleProductionNode *pInstance)=0
virtual void GetDescription(XnProductionNodeDescription *pDescription)=0
virtual XnStatus Create(Context &context, const XnChar *strInstanceName, const XnChar *strCreationInfo, NodeInfoList *pNeededTrees, const XnChar *strConfigurationDir, ModuleProductionNode **ppInstance)=0
ModuleExportedProductionNode()
Definition XnModuleCppInterface.h:105
Definition XnModuleCppInterface.h:115
virtual ~ModuleExtendedSerializationInterface()
Definition XnModuleCppInterface.h:117
virtual XnStatus NotifyExState(XnNodeNotifications *pNotifications, void *pCookie)=0
Definition XnModuleCppInterface.h:224
virtual XnBool IsFrameSyncedWith(ProductionNode &other)=0
virtual void UnregisterFromFrameSyncChange(XnCallbackHandle hCallback)=0
virtual XnBool CanFrameSyncWith(ProductionNode &other)=0
virtual XnStatus StopFrameSyncWith(ProductionNode &other)=0
virtual XnStatus FrameSyncWith(ProductionNode &other)=0
virtual XnStatus RegisterToFrameSyncChange(XnModuleStateChangedHandler handler, void *pCookie, XnCallbackHandle &hCallback)=0
Definition XnModuleCppInterface.h:142
virtual XnStatus Get(const XnChar *strCap, XnInt32 &nValue)=0
virtual void UnregisterFromValueChange(const XnChar *strCap, XnCallbackHandle hCallback)=0
virtual XnInt32 Set(const XnChar *strCap, XnInt32 nValue)=0
virtual XnStatus GetRange(const XnChar *strCap, XnInt32 &nMin, XnInt32 &nMax, XnInt32 &nStep, XnInt32 &nDefault, XnBool &bIsAutoSupported)=0
virtual XnStatus RegisterToValueChange(const XnChar *strCap, XnModuleStateChangedHandler handler, void *pCookie, XnCallbackHandle &hCallback)=0
Definition XnModuleCppInterface.h:235
virtual ~ModuleGenerator()
Definition XnModuleCppInterface.h:240
virtual ModuleFrameSyncInterface * GetFrameSyncInterface()
Definition XnModuleCppInterface.h:256
virtual XnBool IsNewDataAvailable(XnUInt64 &nTimestamp)=0
virtual XnStatus RegisterToNewDataAvailable(XnModuleStateChangedHandler handler, void *pCookie, XnCallbackHandle &hCallback)=0
virtual XnUInt64 GetTimestamp()=0
virtual void UnregisterFromNewDataAvailable(XnCallbackHandle hCallback)=0
virtual void UnregisterFromGenerationRunningChange(XnCallbackHandle hCallback)=0
virtual XnStatus UpdateData()=0
virtual void StopGenerating()=0
virtual const void * GetData()=0
virtual XnBool IsGenerating()=0
virtual XnStatus StartGenerating()=0
virtual ModuleMirrorInterface * GetMirrorInterface()
Definition XnModuleCppInterface.h:254
virtual XnStatus RegisterToGenerationRunningChange(XnModuleStateChangedHandler handler, void *pCookie, XnCallbackHandle &hCallback)=0
virtual XnUInt32 GetFrameID()=0
virtual XnUInt32 GetDataSize()=0
virtual ModuleAlternativeViewPointInterface * GetAlternativeViewPointInterface()
Definition XnModuleCppInterface.h:255
Definition XnModuleCppInterface.h:404
virtual XnStatus RegisterGestureCallbacks(XnModuleGestureRecognized RecognizedCB, XnModuleGestureProgress ProgressCB, void *pCookie, XnCallbackHandle &hCallback)=0
virtual XnBool IsGestureProgressSupported(const XnChar *strGesture)=0
virtual XnStatus EnumerateAllGestures(XnChar **pstrGestures, XnUInt32 nNameLength, XnUInt16 &nGestures)=0
virtual XnBool IsGestureAvailable(const XnChar *strGesture)=0
virtual void UnregisterFromGestureIntermediateStageCompleted(XnCallbackHandle hCallback)=0
virtual XnStatus GetAllActiveGestures(XnChar **pstrGestures, XnUInt32 nNameLength, XnUInt16 &nGestures)=0
virtual ~ModuleGestureGenerator()
Definition XnModuleCppInterface.h:409
virtual void UnregisterFromGestureReadyForNextIntermediateStage(XnCallbackHandle hCallback)=0
virtual void UnregisterGestureCallbacks(XnCallbackHandle hCallback)=0
virtual XnStatus RegisterToGestureReadyForNextIntermediateStage(XnModuleGestureReadyForNextIntermediateStage ReadyForNextIntermediateStageCB, void *pCookie, XnCallbackHandle &hCallback)=0
virtual XnStatus RegisterToGestureIntermediateStageCompleted(XnModuleGestureIntermediateStageCompleted GestureIntermediateStageCompletedCB, void *pCookie, XnCallbackHandle &hCallback)=0
virtual XnStatus EnumerateGestures(XnChar **pstrGestures, XnUInt16 &nGestures)=0
virtual XnStatus RegisterToGestureChange(XnModuleStateChangedHandler handler, void *pCookie, XnCallbackHandle &hCallback)=0
virtual XnStatus GetActiveGestures(XnChar **pstrGestures, XnUInt16 &nGestures)=0
virtual const void * GetData()
Definition XnModuleCppInterface.h:410
virtual XnStatus RemoveGesture(const XnChar *strGesture)=0
virtual XnStatus AddGesture(const XnChar *strGesture, XnBoundingBox3D *pArea)=0
virtual void UnregisterFromGestureChange(XnCallbackHandle hCallback)=0
Definition XnModuleCppInterface.h:444
virtual void UnregisterFromHandTouchingFOVEdge(XnCallbackHandle hCallback)=0
virtual XnStatus RegisterToHandTouchingFOVEdge(XnModuleHandTouchingFOVEdge TouchingFOVEdgeCB, void *pCookie, XnCallbackHandle &hCallback)=0
virtual ~ModuleHandTouchingFOVEdgeInterface()
Definition XnModuleCppInterface.h:446
Definition XnModuleCppInterface.h:452
virtual const void * GetData()
Definition XnModuleCppInterface.h:458
virtual ~ModuleHandsGenerator()
Definition XnModuleCppInterface.h:457
virtual void UnregisterHandCallbacks(XnCallbackHandle hCallback)=0
virtual XnStatus StartTracking(const XnPoint3D &ptPosition)=0
virtual XnStatus SetSmoothing(XnFloat fSmoothingFactor)=0
virtual XnStatus RegisterHandCallbacks(XnModuleHandCreate CreateCB, XnModuleHandUpdate UpdateCB, XnModuleHandDestroy DestroyCB, void *pCookie, XnCallbackHandle &hCallback)=0
virtual XnStatus StopTracking(XnUserID user)=0
virtual XnStatus StopTrackingAll()=0
virtual ModuleHandTouchingFOVEdgeInterface * GetHandTouchingFOVEdgeInterface()
Definition XnModuleCppInterface.h:466
Definition XnModuleCppInterface.h:48
Module()
Definition XnModuleCppInterface.h:50
virtual XnStatus Load()
Definition XnModuleCppInterface.h:53
virtual void Unload()
Definition XnModuleCppInterface.h:54
XnStatus GetExportedNodes(XnModuleGetExportedInterfacePtr *aEntryPoints, XnUInt32 nCount)
Definition XnModuleCppInterface.h:60
XnUInt32 GetExportedNodesCount()
Definition XnModuleCppInterface.h:58
XnStatus AddExportedNode(XnModuleGetExportedInterfacePtr pEntryPoint)
Definition XnModuleCppInterface.h:56
virtual ~Module()
Definition XnModuleCppInterface.h:51
Definition XnModuleCppInterface.h:392
virtual XnIRPixel * GetIRMap()=0
virtual const void * GetData()
Definition XnModuleCppInterface.h:398
virtual XnUInt32 GetBytesPerPixel()
Definition XnModuleCppInterface.h:399
virtual ~ModuleIRGenerator()
Definition XnModuleCppInterface.h:397
Definition XnModuleCppInterface.h:375
virtual XnPixelFormat GetPixelFormat()=0
virtual XnStatus RegisterToPixelFormatChange(XnModuleStateChangedHandler handler, void *pCookie, XnCallbackHandle &hCallback)=0
virtual ~ModuleImageGenerator()
Definition XnModuleCppInterface.h:380
virtual const void * GetData()
Definition XnModuleCppInterface.h:381
virtual XnStatus SetPixelFormat(XnPixelFormat Format)=0
virtual XnUInt8 * GetImageMap()=0
virtual void UnregisterFromPixelFormatChange(XnCallbackHandle hCallback)=0
virtual XnUInt32 GetBytesPerPixel()
Definition XnModuleCppInterface.h:382
virtual XnBool IsPixelFormatSupported(XnPixelFormat Format)=0
Definition XnModuleCppInterface.h:123
virtual void UnregisterFromLockChange(XnCallbackHandle hCallback)=0
virtual XnBool GetLockState()=0
virtual XnStatus SetLockState(XnBool bLocked)=0
virtual ~ModuleLockAwareInterface()
Definition XnModuleCppInterface.h:125
virtual XnStatus RegisterToLockChange(XnModuleStateChangedHandler handler, void *pCookie, XnCallbackHandle &hCallback)=0
Definition XnModuleCppInterface.h:329
virtual XnStatus SetMapOutputMode(const XnMapOutputMode &Mode)=0
virtual XnUInt32 GetSupportedMapOutputModesCount()=0
virtual XnStatus RegisterToMapOutputModeChange(XnModuleStateChangedHandler handler, void *pCookie, XnCallbackHandle &hCallback)=0
virtual ModuleAntiFlickerInterface * GetAntiFlickerInterface()
Definition XnModuleCppInterface.h:343
virtual void UnregisterFromMapOutputModeChange(XnCallbackHandle hCallback)=0
virtual XnStatus GetSupportedMapOutputModes(XnMapOutputMode aModes[], XnUInt32 &nCount)=0
virtual XnStatus GetMapOutputMode(XnMapOutputMode &Mode)=0
virtual XnUInt32 GetBytesPerPixel()=0
virtual ~ModuleMapGenerator()
Definition XnModuleCppInterface.h:334
virtual ModuleCroppingInterface * GetCroppingInterface()
Definition XnModuleCppInterface.h:342
Definition XnModuleCppInterface.h:202
virtual ~ModuleMirrorInterface()
Definition XnModuleCppInterface.h:204
virtual void UnregisterFromMirrorChange(XnCallbackHandle hCallback)=0
virtual XnStatus RegisterToMirrorChange(XnModuleStateChangedHandler handler, void *pCookie, XnCallbackHandle &hCallback)=0
virtual XnBool IsMirrored()=0
virtual XnStatus SetMirror(XnBool bMirror)=0
Definition XnModuleCppInterface.h:260
virtual XnStatus OnNodeAdded(const XnChar *strNodeName, XnProductionNodeType type, XnCodecID compression)=0
virtual XnStatus OnNodeGeneralPropChanged(const XnChar *strNodeName, const XnChar *strPropName, XnUInt32 nBufferSize, const void *pBuffer)=0
virtual XnStatus OnNodeStateReady(const XnChar *strNodeName)=0
virtual XnStatus OnNodeRealPropChanged(const XnChar *strNodeName, const XnChar *strPropName, XnDouble dValue)=0
virtual XnStatus OnNodeIntPropChanged(const XnChar *strNodeName, const XnChar *strPropName, XnUInt64 nValue)=0
virtual XnStatus OnNodeRemoved(const XnChar *strNodeName)=0
virtual XnStatus OnNodeNewData(const XnChar *strNodeName, XnUInt64 nTimeStamp, XnUInt32 nFrame, const void *pData, XnUInt32 nSize)=0
virtual ~ModuleNodeNotifications()
Definition XnModuleCppInterface.h:262
virtual XnStatus OnNodeStringPropChanged(const XnChar *strNodeName, const XnChar *strPropName, const XnChar *strValue)=0
Definition XnModuleCppInterface.h:286
virtual XnStatus SeekToTimeStamp(XnInt64 nTimeOffset, XnPlayerSeekOrigin origin)=0
virtual ~ModulePlayer()
Definition XnModuleCppInterface.h:291
virtual XnStatus SetRepeat(XnBool bRepeat)=0
virtual XnStatus RegisterToEndOfFileReached(XnModuleStateChangedHandler handler, void *pCookie, XnCallbackHandle &hCallback)=0
virtual XnStatus TellTimestamp(XnUInt64 &nTimestamp)=0
virtual XnStatus SeekToFrame(const XnChar *strNodeName, XnInt32 nFrameOffset, XnPlayerSeekOrigin origin)=0
virtual const XnChar * GetSupportedFormat()=0
virtual XnStatus SetInputStream(void *pStreamCookie, XnPlayerInputStreamInterface *pStream)=0
virtual XnBool IsEOF()=0
virtual void UnregisterFromEndOfFileReached(XnCallbackHandle hCallback)=0
virtual XnStatus SetNodeNotifications(void *pNodeNotificationsCookie, XnNodeNotifications *pNodeNotifications)=0
virtual XnStatus TellFrame(const XnChar *strNodeName, XnUInt32 &nFrame)=0
virtual XnUInt32 GetNumFrames(const XnChar *strNodeName, XnUInt32 &nFrames)=0
virtual XnStatus ReadNext()=0
Definition XnModuleCppInterface.h:514
virtual XnStatus RegisterToOutOfPose(XnModulePoseDetectionCallback handler, void *pCookie, XnCallbackHandle &hCallback)=0
virtual void UnregisterFromPoseDetectionCallbacks(XnCallbackHandle hCallback)=0
virtual void UnregisterFromOutOfPose(XnCallbackHandle hCallback)=0
virtual XnUInt32 GetNumberOfPoses()=0
virtual XnStatus GetAvailablePoses(XnChar **pstrPoses, XnUInt32 &nPoses)=0
virtual XnStatus RegisterToPoseDetected(XnModulePoseDetectionCallback handler, void *pCookie, XnCallbackHandle &hCallback)=0
virtual void UnregisterFromPoseDetectionInProgress(XnCallbackHandle hCallback)=0
virtual XnStatus RegisterToPoseDetectionCallbacks(XnModulePoseDetectionCallback StartPoseCB, XnModulePoseDetectionCallback EndPoseCB, void *pCookie, XnCallbackHandle &hCallback)=0
virtual XnStatus GetAllAvailablePoses(XnChar **pstrPoses, XnUInt32 nNameLength, XnUInt32 &nPoses)=0
virtual XnStatus RegisterToPoseDetectionInProgress(XnModulePoseDetectionInProgressCallback InProgressCB, void *pCookie, XnCallbackHandle &hCallback)=0
virtual XnStatus StopPoseDetection(XnUserID user)=0
virtual ~ModulePoseDetectionInteface()
Definition XnModuleCppInterface.h:516
virtual XnStatus StartPoseDetection(const XnChar *strPose, XnUserID user)=0
virtual XnStatus StopSinglePoseDetection(XnUserID user, const XnChar *strPose)=0
virtual void UnregisterFromPoseDetected(XnCallbackHandle hCallback)=0
Definition XnModuleCppInterface.h:152
virtual ModuleLockAwareInterface * GetLockAwareInterface()
Definition XnModuleCppInterface.h:172
virtual ~ModuleProductionNode()
Definition XnModuleCppInterface.h:161
virtual XnStatus SetRealProperty(const XnChar *, XnDouble)
Definition XnModuleCppInterface.h:164
virtual ModuleErrorStateInterface * GetErrorStateInterface()
Definition XnModuleCppInterface.h:173
virtual XnBool IsCapabilitySupported(const XnChar *)
Definition XnModuleCppInterface.h:162
virtual XnStatus GetIntProperty(const XnChar *, XnUInt64 &) const
Definition XnModuleCppInterface.h:167
virtual XnStatus SetIntProperty(const XnChar *, XnUInt64)
Definition XnModuleCppInterface.h:163
virtual XnStatus SetStringProperty(const XnChar *, const XnChar *)
Definition XnModuleCppInterface.h:165
virtual XnStatus GetGeneralProperty(const XnChar *, XnUInt32, void *) const
Definition XnModuleCppInterface.h:170
virtual ModuleGeneralIntInterface * GetGeneralIntInterface(const XnChar *)
Definition XnModuleCppInterface.h:174
virtual XnStatus GetRealProperty(const XnChar *, XnDouble &) const
Definition XnModuleCppInterface.h:168
virtual ModuleExtendedSerializationInterface * GetExtendedSerializationInterface()
Definition XnModuleCppInterface.h:171
virtual XnStatus SetGeneralProperty(const XnChar *, XnUInt32, const void *)
Definition XnModuleCppInterface.h:166
virtual XnStatus GetStringProperty(const XnChar *, XnChar *, XnUInt32) const
Definition XnModuleCppInterface.h:169
Definition XnModuleCppInterface.h:276
virtual ~ModuleRecorder()
Definition XnModuleCppInterface.h:281
virtual XnStatus SetOutputStream(void *pCookie, XnRecorderOutputStreamInterface *pStream)=0
Definition XnModuleCppInterface.h:431
virtual const void * GetData()
Definition XnModuleCppInterface.h:437
virtual XnUInt32 GetBytesPerPixel()
Definition XnModuleCppInterface.h:438
virtual ~ModuleSceneAnalyzer()
Definition XnModuleCppInterface.h:436
virtual XnStatus GetFloor(XnPlane3D &pPlane)=0
virtual const XnLabel * GetLabelMap()=0
Definition XnModuleCppInterface.h:592
virtual XnStatus Run(NodeInfoList &createdNodes, EnumerationErrors &errors)=0
virtual XnStatus LoadScriptFromFile(const XnChar *strFileName)=0
virtual ~ModuleScriptNode()
Definition XnModuleCppInterface.h:597
virtual const XnChar * GetSupportedFormat()=0
virtual XnStatus LoadScriptFromString(const XnChar *strScript)=0
Definition XnModuleCppInterface.h:470
virtual void UnregisterFromCalibrationStart(XnCallbackHandle hCallback)=0
virtual ~ModuleSkeletonInterface()
Definition XnModuleCppInterface.h:472
virtual XnStatus SetJointActive(XnSkeletonJoint eJoint, XnBool bState)=0
virtual XnStatus GetCalibrationPose(XnChar *strPose)=0
virtual XnBool IsCalibrationData(XnUInt32 nSlot)=0
virtual XnBool IsJointActive(XnSkeletonJoint eJoint)=0
virtual XnStatus RegisterToJointConfigurationChange(XnModuleStateChangedHandler handler, void *pCookie, XnCallbackHandle &hCallback)=0
virtual XnStatus RegisterToCalibrationInProgress(XnModuleCalibrationInProgress CalibrationInProgressCB, void *pCookie, XnCallbackHandle &hCallback)=0
virtual XnStatus GetSkeletonJointPosition(XnUserID user, XnSkeletonJoint eJoint, XnSkeletonJointPosition &pJointPosition)=0
virtual XnStatus SetSmoothing(XnFloat fSmoothingFactor)=0
virtual void UnregisterFromCalibrationInProgress(XnCallbackHandle hCallback)=0
virtual XnStatus StartTracking(XnUserID user)=0
virtual void UnregisterFromCalibrationComplete(XnCallbackHandle hCallback)=0
virtual void UnregisterFromJointConfigurationChange(XnCallbackHandle hCallback)=0
virtual XnStatus SetSkeletonProfile(XnSkeletonProfile eProfile)=0
virtual XnBool IsProfileAvailable(XnSkeletonProfile eProfile)=0
virtual XnStatus SaveCalibrationData(XnUserID user, XnUInt32 nSlot)=0
virtual XnStatus EnumerateActiveJoints(XnSkeletonJoint *pJoints, XnUInt16 &nJoints)=0
virtual XnStatus AbortCalibration(XnUserID user)=0
virtual XnStatus StopTracking(XnUserID user)=0
virtual XnStatus RequestCalibration(XnUserID user, XnBool bForce)=0
virtual XnStatus RegisterToCalibrationStart(XnModuleCalibrationStart handler, void *pCookie, XnCallbackHandle &hCallback)=0
virtual XnStatus LoadCalibrationDataFromFile(XnUserID user, const XnChar *strFileName)=0
virtual XnBool IsJointAvailable(XnSkeletonJoint eJoint)=0
virtual void UnregisterCalibrationCallbacks(XnCallbackHandle hCallback)=0
virtual XnBool NeedPoseForCalibration()=0
virtual XnStatus ClearCalibrationData(XnUInt32 nSlot)=0
virtual XnStatus GetSkeletonJoint(XnUserID user, XnSkeletonJoint eJoint, XnSkeletonJointTransformation &jointTransformation)=0
virtual XnStatus LoadCalibrationData(XnUserID user, XnUInt32 nSlot)=0
virtual XnBool IsCalibrating(XnUserID user)=0
virtual XnStatus RegisterCalibrationCallbacks(XnModuleCalibrationStart CalibrationStartCB, XnModuleCalibrationEnd CalibrationEndCB, void *pCookie, XnCallbackHandle &hCallback)=0
virtual XnStatus SaveCalibrationDataToFile(XnUserID user, const XnChar *strFileName)=0
virtual XnStatus GetSkeletonJointOrientation(XnUserID user, XnSkeletonJoint eJoint, XnSkeletonJointOrientation &pJointOrientation)=0
virtual XnStatus RegisterToCalibrationComplete(XnModuleCalibrationComplete CalibrationCompleteCB, void *pCookie, XnCallbackHandle &hCallback)=0
virtual XnStatus Reset(XnUserID user)=0
virtual XnBool IsCalibrated(XnUserID user)=0
virtual XnBool IsTracking(XnUserID user)=0
Definition XnModuleCppInterface.h:539
virtual ModuleSkeletonInterface * GetSkeletonInterface()
Definition XnModuleCppInterface.h:552
virtual XnStatus GetUsers(XnUserID *pUsers, XnUInt16 &nUsers)=0
virtual XnStatus GetCoM(XnUserID user, XnPoint3D &com)=0
virtual void UnregisterFromUserExit(XnCallbackHandle hCallback)=0
virtual XnStatus GetUserPixels(XnUserID user, XnSceneMetaData *pScene)=0
virtual void UnregisterFromUserReEnter(XnCallbackHandle hCallback)=0
virtual ~ModuleUserGenerator()
Definition XnModuleCppInterface.h:544
virtual XnStatus RegisterToUserReEnter(XnModuleUserHandler UserReEnterCB, void *pCookie, XnCallbackHandle &hCallback)=0
virtual ModulePoseDetectionInteface * GetPoseDetectionInteface()
Definition XnModuleCppInterface.h:553
virtual void UnregisterUserCallbacks(XnCallbackHandle hCallback)=0
virtual XnStatus RegisterToUserExit(XnModuleUserHandler UserExitCB, void *pCookie, XnCallbackHandle &hCallback)=0
virtual const void * GetData()
Definition XnModuleCppInterface.h:545
virtual XnStatus RegisterUserCallbacks(XnModuleUserHandler NewUserCB, XnModuleUserHandler LostUserCB, void *pCookie, XnCallbackHandle &hCallback)=0
virtual XnUInt16 GetNumberOfUsers()=0
Definition XnModuleCppInterface.h:347
virtual ~ModuleUserPositionInterface()
Definition XnModuleCppInterface.h:349
virtual void UnregisterFromUserPositionChange(XnCallbackHandle hCallback)=0
virtual XnStatus GetUserPosition(XnUInt32 nIndex, XnBoundingBox3D &Position)=0
virtual XnStatus RegisterToUserPositionChange(XnModuleStateChangedHandler handler, void *pCookie, XnCallbackHandle &hCallback)=0
virtual XnStatus SetUserPosition(XnUInt32 nIndex, const XnBoundingBox3D &Position)=0
virtual XnUInt32 GetSupportedUserPositionsCount()=0
Definition XnCppWrapper.h:2145
Definition XnCppWrapper.h:2632
XN_C_API XnUInt32 XN_C_DECL xnGetBytesPerPixelForPixelFormat(XnPixelFormat format)
Definition XnCppWrapper.h:35
XnListT< XnModuleGetExportedInterfacePtr > ExportedNodesList
Definition XnModuleCppInterface.h:43
Definition XnTypes.h:478
Definition XnTypes.h:487
Definition XnTypes.h:504
Definition XnTypes.h:433
Definition XnTypes.h:991
Definition XnTypes.h:561
Definition XnTypes.h:922
Definition XnTypes.h:163
Definition XnTypes.h:850
Definition XnTypes.h:1176
Definition XnTypes.h:590
Definition XnTypes.h:574
Definition XnTypes.h:601
Definition XnTypes.h:466
Definition XnTypes.h:456