OpenNI 1.5.7
XnModuleCppInterface.h
Go to the documentation of this file.
1/*****************************************************************************
2* *
3* OpenNI 1.x Alpha *
4* Copyright (C) 2012 PrimeSense Ltd. *
5* *
6* This file is part of OpenNI. *
7* *
8* Licensed under the Apache License, Version 2.0 (the "License"); *
9* you may not use this file except in compliance with the License. *
10* You may obtain a copy of the License at *
11* *
12* http://www.apache.org/licenses/LICENSE-2.0 *
13* *
14* Unless required by applicable law or agreed to in writing, software *
15* distributed under the License is distributed on an "AS IS" BASIS, *
16* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. *
17* See the License for the specific language governing permissions and *
18* limitations under the License. *
19* *
20*****************************************************************************/
21#ifndef __XN_MODULE_CPP_INTERFACE_H__
22#define __XN_MODULE_CPP_INTERFACE_H__
23
30//---------------------------------------------------------------------------
31// Includes
32//---------------------------------------------------------------------------
33#include "XnModuleInterface.h"
34#include "XnListT.h"
35#include "XnCppWrapper.h"
36
37//---------------------------------------------------------------------------
38// Types
39//---------------------------------------------------------------------------
40namespace xn
41{
43
45
46 class Module
47 {
48 public:
49 Module() {}
50 virtual ~Module() {}
51
52 virtual XnStatus Load() { return XN_STATUS_OK; }
53 virtual void Unload() {}
54
55 inline XnStatus AddExportedNode(XnModuleGetExportedInterfacePtr pEntryPoint) { return m_ExportedNodes.AddLast(pEntryPoint); }
56
57 XnUInt32 GetExportedNodesCount() { return m_ExportedNodes.Size(); }
58
60 {
61 if (nCount < m_ExportedNodes.Size())
62 {
63 return XN_STATUS_OUTPUT_BUFFER_OVERFLOW;
64 }
65
66 XnUInt32 i = 0;
67 for (ExportedNodesList::ConstIterator it = m_ExportedNodes.Begin();
68 it != m_ExportedNodes.End();
69 ++it, ++i)
70 {
71 aEntryPoints[i] = *it;
72 }
73
74 return (XN_STATUS_OK);
75 }
76
77 private:
78 ExportedNodesList m_ExportedNodes;
79 };
80
81 class ExtensionModule : public Module
82 {
83 public:
84 virtual XnStatus Load()
85 {
86 XnStatus nRetVal = XN_STATUS_OK;
87
88 nRetVal = Module::Load();
89 XN_IS_STATUS_OK(nRetVal);
90
91 nRetVal = RegisterNewTypes();
92 XN_IS_STATUS_OK(nRetVal);
93
94 return (XN_STATUS_OK);
95 }
96
97 protected:
99 };
100
102 {
103 public:
106
107 virtual void GetDescription(XnProductionNodeDescription* pDescription) = 0;
108 virtual XnStatus EnumerateProductionTrees(Context& context, NodeInfoList& TreesList, EnumerationErrors* pErrors) = 0;
109 virtual XnStatus Create(Context& context, const XnChar* strInstanceName, const XnChar* strCreationInfo, NodeInfoList* pNeededTrees, const XnChar* strConfigurationDir, ModuleProductionNode** ppInstance) = 0;
110 virtual void Destroy(ModuleProductionNode* pInstance) = 0;
111 };
112
114 {
115 public:
117 virtual XnStatus NotifyExState(XnNodeNotifications* pNotifications, void* pCookie) = 0;
118 virtual void UnregisterExNotifications() = 0;
119 };
120
122 {
123 public:
125 virtual XnStatus SetLockState(XnBool bLocked) = 0;
126 virtual XnBool GetLockState() = 0;
127 virtual XnStatus RegisterToLockChange(XnModuleStateChangedHandler handler, void* pCookie, XnCallbackHandle& hCallback) = 0;
128 virtual void UnregisterFromLockChange(XnCallbackHandle hCallback) = 0;
129 };
130
132 {
133 public:
135 virtual XnStatus GetErrorState() = 0;
138 };
139
141 {
142 public:
143 virtual XnStatus GetRange(const XnChar* strCap, XnInt32& nMin, XnInt32& nMax, XnInt32& nStep, XnInt32& nDefault, XnBool& bIsAutoSupported) = 0;
144 virtual XnStatus Get(const XnChar* strCap, XnInt32& nValue) = 0;
145 virtual XnInt32 Set(const XnChar* strCap, XnInt32 nValue) = 0;
146 virtual XnStatus RegisterToValueChange(const XnChar* strCap, XnModuleStateChangedHandler handler, void* pCookie, XnCallbackHandle& hCallback) = 0;
147 virtual void UnregisterFromValueChange(const XnChar* strCap, XnCallbackHandle hCallback) = 0;
148 };
149
151 {
152 public:
153#ifdef XN_NO_DYNAMIC_CAST
155 {
156 xnOSMemSet(m_aInterfaces, 0, sizeof(m_aInterfaces));
157 m_aInterfaces[XN_NODE_TYPE_PRODUCTION_NODE] = this;
158 }
159#endif
161 virtual XnBool IsCapabilitySupported(const XnChar* /*strCapabilityName*/) { return FALSE; }
162 virtual XnStatus SetIntProperty(const XnChar* /*strName*/, XnUInt64 /*nValue*/) { return XN_STATUS_ERROR; }
163 virtual XnStatus SetRealProperty(const XnChar* /*strName*/, XnDouble /*dValue*/) { return XN_STATUS_ERROR; }
164 virtual XnStatus SetStringProperty(const XnChar* /*strName*/, const XnChar* /*strValue*/) { return XN_STATUS_ERROR; }
165 virtual XnStatus SetGeneralProperty(const XnChar* /*strName*/, XnUInt32 /*nBufferSize*/, const void* /*pBuffer*/) { return XN_STATUS_ERROR; }
166 virtual XnStatus GetIntProperty(const XnChar* /*strName*/, XnUInt64& /*nValue*/) const { return XN_STATUS_ERROR; }
167 virtual XnStatus GetRealProperty(const XnChar* /*strName*/, XnDouble& /*dValue*/) const { return XN_STATUS_ERROR; }
168 virtual XnStatus GetStringProperty(const XnChar* /*strName*/, XnChar* /*csValue*/, XnUInt32 /*nBufSize*/) const { return XN_STATUS_ERROR; }
169 virtual XnStatus GetGeneralProperty(const XnChar* /*strName*/, XnUInt32 /*nBufferSize*/, void* /*pBuffer*/) const { return XN_STATUS_ERROR; }
173 virtual ModuleGeneralIntInterface* GetGeneralIntInterface(const XnChar* /*strCap*/) { return NULL; }
174
175 public:
176#ifdef XN_NO_DYNAMIC_CAST
177 void* m_aInterfaces[XN_NODE_TYPE_FIRST_EXTENSION];
178#endif
179 };
180
182 {
183 public:
185 virtual XnStatus GetDeviceName(XnChar* strBuffer, XnUInt32& nBufferSize) = 0;
186 virtual XnStatus GetVendorSpecificData(XnChar* strBuffer, XnUInt32& nBufferSize) = 0;
187 virtual XnStatus GetSerialNumber(XnChar* strBuffer, XnUInt32& nBufferSize) = 0;
188 };
189
190 class ModuleDevice : virtual public ModuleProductionNode
191 {
192 public:
193#ifdef XN_NO_DYNAMIC_CAST
194 ModuleDevice() { m_aInterfaces[XN_NODE_TYPE_DEVICE] = this; }
195#endif
196 virtual ~ModuleDevice() {}
198 };
199
201 {
202 public:
204 virtual XnStatus SetMirror(XnBool bMirror) = 0;
205 virtual XnBool IsMirrored() = 0;
206 virtual XnStatus RegisterToMirrorChange(XnModuleStateChangedHandler handler, void* pCookie, XnCallbackHandle& hCallback) = 0;
207 virtual void UnregisterFromMirrorChange(XnCallbackHandle hCallback) = 0;
208 };
209
211 {
212 public:
214 virtual XnBool IsViewPointSupported(ProductionNode& other) = 0;
216 virtual XnBool IsViewPointAs(ProductionNode& other) = 0;
220 virtual XnStatus GetPixelCoordinatesInViewPoint(ProductionNode& other, XnUInt32 x, XnUInt32 y, XnUInt32& altX, XnUInt32& altY) = 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
319 {
320 public:
326 };
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
444 {
445 public:
447 virtual XnStatus RegisterToHandTouchingFOVEdge(XnModuleHandTouchingFOVEdge TouchingFOVEdgeCB, void* pCookie, XnCallbackHandle& hCallback) = 0;
449 };
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:59
void(* XnModuleGestureProgress)(const XnChar *strGesture, const XnPoint3D *pPosition, XnFloat fProgress, void *pCookie)
Definition: XnModuleInterface.h:94
void(* XnModuleHandDestroy)(XnUserID user, XnFloat fTime, void *pCookie)
Definition: XnModuleInterface.h:90
void(* XnModuleStateChangedHandler)(void *pCookie)
Definition: XnModuleInterface.h:79
void(* XnModuleHandCreate)(XnUserID user, const XnPoint3D *pPosition, XnFloat fTime, void *pCookie)
Definition: XnModuleInterface.h:88
void(* XnModuleCalibrationInProgress)(XnUserID user, XnCalibrationStatus calibrationError, void *pCookie)
Definition: XnModuleInterface.h:101
void(* XnModulePoseDetectionCallback)(const XnChar *strPose, XnUserID user, void *pCookie)
Definition: XnModuleInterface.h:105
void(* XnModuleUserHandler)(XnUserID user, void *pCookie)
Definition: XnModuleInterface.h:82
void(* XnModuleGestureReadyForNextIntermediateStage)(const XnChar *strGesture, const XnPoint3D *pPosition, void *pCookie)
Definition: XnModuleInterface.h:96
void(* XnModuleHandUpdate)(XnUserID user, const XnPoint3D *pPosition, XnFloat fTime, void *pCookie)
Definition: XnModuleInterface.h:89
void(* XnModuleCalibrationComplete)(XnUserID user, XnCalibrationStatus calibrationError, void *pCookie)
Definition: XnModuleInterface.h:102
void(* XnModuleHandTouchingFOVEdge)(XnUserID user, const XnPoint3D *pPosition, XnFloat fTime, XnDirection eDir, void *pCookie)
Definition: XnModuleInterface.h:85
void(* XnModuleGestureIntermediateStageCompleted)(const XnChar *strGesture, const XnPoint3D *pPosition, void *pCookie)
Definition: XnModuleInterface.h:95
void(* XnModulePoseDetectionInProgressCallback)(const XnChar *strPose, XnUserID user, XnPoseDetectionStatus poseError, void *pCookie)
Definition: XnModuleInterface.h:106
void(* XnModuleCalibrationStart)(XnUserID user, void *pCookie)
Definition: XnModuleInterface.h:99
void(* XnModuleGetExportedInterfacePtr)(XnModuleExportedProductionNodeInterface *pInterface)
Definition: XnModuleInterface.h:62
void(* XnModuleCalibrationEnd)(XnUserID user, XnBool bSuccess, void *pCookie)
Definition: XnModuleInterface.h:100
void(* XnModuleGestureRecognized)(const XnChar *strGesture, const XnPoint3D *pIDPosition, const XnPoint3D *pEndPosition, void *pCookie)
Definition: XnModuleInterface.h:93
XN_C_API void XN_C_DECL xnOSMemSet(void *pDest, XnUInt8 nValue, XnSizeT nCount)
#define FALSE
Definition: XnPlatform.h:89
XnUInt32 XnStatus
Definition: XnStatus.h:33
#define XN_STATUS_OK
Definition: XnStatus.h:36
XnUInt32 XnCodecID
Definition: XnTypes.h:842
XnPixelFormat
Definition: XnTypes.h:515
XnSkeletonProfile
Definition: XnTypes.h:648
XnPowerLineFrequency
Definition: XnTypes.h:542
XnPlayerSeekOrigin
Definition: XnTypes.h:535
void * XnCallbackHandle
Definition: XnTypes.h:270
XnGrayscale16Pixel XnIRPixel
Definition: XnTypes.h:307
XnUInt32 XnUserID
Definition: XnTypes.h:549
XnInt32 XnProductionNodeType
Definition: XnTypes.h:94
XnSkeletonJoint
Definition: XnTypes.h:615
@ XN_NODE_TYPE_PLAYER
Definition: XnTypes.h:126
@ XN_NODE_TYPE_DEPTH
Definition: XnTypes.h:108
@ XN_NODE_TYPE_HANDS
Definition: XnTypes.h:135
@ XN_NODE_TYPE_MAP_GENERATOR
Definition: XnTypes.h:143
@ XN_NODE_TYPE_SCRIPT
Definition: XnTypes.h:144
@ XN_NODE_TYPE_DEVICE
Definition: XnTypes.h:105
@ XN_NODE_TYPE_IR
Definition: XnTypes.h:117
@ XN_NODE_TYPE_IMAGE
Definition: XnTypes.h:111
@ XN_NODE_TYPE_AUDIO
Definition: XnTypes.h:114
@ XN_NODE_TYPE_CODEC
Definition: XnTypes.h:138
@ XN_NODE_TYPE_PRODUCTION_NODE
Definition: XnTypes.h:141
@ XN_NODE_TYPE_FIRST_EXTENSION
Definition: XnTypes.h:146
@ XN_NODE_TYPE_GENERATOR
Definition: XnTypes.h:142
@ XN_NODE_TYPE_GESTURE
Definition: XnTypes.h:129
@ XN_NODE_TYPE_RECORDER
Definition: XnTypes.h:123
@ XN_NODE_TYPE_USER
Definition: XnTypes.h:120
@ XN_NODE_TYPE_SCENE
Definition: XnTypes.h:132
XnUInt16 XnDepthPixel
Definition: XnTypes.h:278
XnUInt16 XnLabel
Definition: XnTypes.h:310
XnUInt32 Size() const
Definition: XnListT.h:510
XnStatus AddLast(T const &value)
Definition: XnListT.h:403
Iterator End()
Definition: XnListT.h:301
Iterator Begin()
Definition: XnListT.h:285
Definition: XnCppWrapper.h:8621
Definition: XnCppWrapper.h:8434
Definition: XnModuleCppInterface.h:82
virtual XnStatus Load()
Definition: XnModuleCppInterface.h:84
virtual XnStatus RegisterNewTypes()=0
Definition: XnModuleCppInterface.h:211
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 XnStatus GetPixelCoordinatesInViewPoint(ProductionNode &other, XnUInt32 x, XnUInt32 y, XnUInt32 &altX, XnUInt32 &altY)=0
virtual ~ModuleAlternativeViewPointInterface()
Definition: XnModuleCppInterface.h:213
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:191
virtual ModuleDeviceIdentificationInterface * GetIdentificationInterface()
Definition: XnModuleCppInterface.h:197
virtual ~ModuleDevice()
Definition: XnModuleCppInterface.h:196
Definition: XnModuleCppInterface.h:182
virtual XnStatus GetSerialNumber(XnChar *strBuffer, XnUInt32 &nBufferSize)=0
virtual ~ModuleDeviceIdentificationInterface()
Definition: XnModuleCppInterface.h:184
virtual XnStatus GetVendorSpecificData(XnChar *strBuffer, XnUInt32 &nBufferSize)=0
virtual XnStatus GetDeviceName(XnChar *strBuffer, XnUInt32 &nBufferSize)=0
Definition: XnModuleCppInterface.h:132
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:134
Definition: XnModuleCppInterface.h:102
virtual ~ModuleExportedProductionNode()
Definition: XnModuleCppInterface.h:105
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:104
Definition: XnModuleCppInterface.h:114
virtual ~ModuleExtendedSerializationInterface()
Definition: XnModuleCppInterface.h:116
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:141
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:47
Module()
Definition: XnModuleCppInterface.h:49
virtual XnStatus Load()
Definition: XnModuleCppInterface.h:52
virtual void Unload()
Definition: XnModuleCppInterface.h:53
XnStatus GetExportedNodes(XnModuleGetExportedInterfacePtr *aEntryPoints, XnUInt32 nCount)
Definition: XnModuleCppInterface.h:59
XnUInt32 GetExportedNodesCount()
Definition: XnModuleCppInterface.h:57
XnStatus AddExportedNode(XnModuleGetExportedInterfacePtr pEntryPoint)
Definition: XnModuleCppInterface.h:55
virtual ~Module()
Definition: XnModuleCppInterface.h:50
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:122
virtual void UnregisterFromLockChange(XnCallbackHandle hCallback)=0
virtual XnBool GetLockState()=0
virtual XnStatus SetLockState(XnBool bLocked)=0
virtual ~ModuleLockAwareInterface()
Definition: XnModuleCppInterface.h:124
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:201
virtual ~ModuleMirrorInterface()
Definition: XnModuleCppInterface.h:203
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:151
virtual ModuleLockAwareInterface * GetLockAwareInterface()
Definition: XnModuleCppInterface.h:171
virtual ~ModuleProductionNode()
Definition: XnModuleCppInterface.h:160
virtual XnStatus SetRealProperty(const XnChar *, XnDouble)
Definition: XnModuleCppInterface.h:163
virtual ModuleErrorStateInterface * GetErrorStateInterface()
Definition: XnModuleCppInterface.h:172
virtual XnBool IsCapabilitySupported(const XnChar *)
Definition: XnModuleCppInterface.h:161
virtual XnStatus GetIntProperty(const XnChar *, XnUInt64 &) const
Definition: XnModuleCppInterface.h:166
virtual XnStatus SetIntProperty(const XnChar *, XnUInt64)
Definition: XnModuleCppInterface.h:162
virtual XnStatus SetStringProperty(const XnChar *, const XnChar *)
Definition: XnModuleCppInterface.h:164
virtual XnStatus GetGeneralProperty(const XnChar *, XnUInt32, void *) const
Definition: XnModuleCppInterface.h:169
virtual ModuleGeneralIntInterface * GetGeneralIntInterface(const XnChar *)
Definition: XnModuleCppInterface.h:173
virtual XnStatus GetRealProperty(const XnChar *, XnDouble &) const
Definition: XnModuleCppInterface.h:167
virtual ModuleExtendedSerializationInterface * GetExtendedSerializationInterface()
Definition: XnModuleCppInterface.h:170
virtual XnStatus SetGeneralProperty(const XnChar *, XnUInt32, const void *)
Definition: XnModuleCppInterface.h:165
virtual XnStatus GetStringProperty(const XnChar *, XnChar *, XnUInt32) const
Definition: XnModuleCppInterface.h:168
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:2144
Definition: XnCppWrapper.h:2631
XN_C_API XnUInt32 XN_C_DECL xnGetBytesPerPixelForPixelFormat(XnPixelFormat format)
Definition: XnCppWrapper.h:34
XnListT< XnModuleGetExportedInterfacePtr > ExportedNodesList
Definition: XnModuleCppInterface.h:42
Definition: XnTypes.h:481
Definition: XnTypes.h:490
Definition: XnTypes.h:507
Definition: XnTypes.h:436
Definition: XnTypes.h:994
Definition: XnTypes.h:564
Definition: XnTypes.h:925
Definition: XnTypes.h:165
Definition: XnTypes.h:853
Definition: XnTypes.h:1179
Definition: XnTypes.h:593
Definition: XnTypes.h:577
Definition: XnTypes.h:604
Definition: XnTypes.h:469
Definition: XnTypes.h:459