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 //---------------------------------------------------------------------------
41 namespace 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:
99  virtual XnStatus RegisterNewTypes() = 0;
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;
137  virtual XnStatus RegisterToErrorStateChange(XnModuleStateChangedHandler handler, void* pCookie, XnCallbackHandle& hCallback) = 0;
138  virtual void UnregisterFromErrorStateChange(XnCallbackHandle hCallback) = 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;
216  virtual XnStatus SetViewPoint(ProductionNode& other) = 0;
217  virtual XnBool IsViewPointAs(ProductionNode& other) = 0;
218  virtual XnStatus ResetViewPoint() = 0;
219  virtual XnStatus RegisterToViewPointChange(XnModuleStateChangedHandler handler, void* pCookie, XnCallbackHandle& hCallback) = 0;
220  virtual void UnregisterFromViewPointChange(XnCallbackHandle hCallback) = 0;
221  };
222 
224  {
225  public:
226  virtual XnBool CanFrameSyncWith(ProductionNode& other) = 0;
227  virtual XnStatus FrameSyncWith(ProductionNode& other) = 0;
228  virtual XnStatus StopFrameSyncWith(ProductionNode& other) = 0;
229  virtual XnBool IsFrameSyncedWith(ProductionNode& other) = 0;
230  virtual XnStatus RegisterToFrameSyncChange(XnModuleStateChangedHandler handler, void* pCookie, XnCallbackHandle& hCallback) = 0;
231  virtual void UnregisterFromFrameSyncChange(XnCallbackHandle hCallback) = 0;
232  };
233 
234  class ModuleGenerator : virtual public ModuleProductionNode
235  {
236  public:
237 #ifdef XN_NO_DYNAMIC_CAST
238  ModuleGenerator() { m_aInterfaces[XN_NODE_TYPE_GENERATOR] = this;}
239 #endif
240  virtual ~ModuleGenerator() {}
241  virtual XnStatus StartGenerating() = 0;
242  virtual XnBool IsGenerating() = 0;
243  virtual void StopGenerating() = 0;
244  virtual XnStatus RegisterToGenerationRunningChange(XnModuleStateChangedHandler handler, void* pCookie, XnCallbackHandle& hCallback) = 0;
245  virtual void UnregisterFromGenerationRunningChange(XnCallbackHandle hCallback) = 0;
246  virtual XnStatus RegisterToNewDataAvailable(XnModuleStateChangedHandler handler, void* pCookie, XnCallbackHandle& hCallback) = 0;
247  virtual void UnregisterFromNewDataAvailable(XnCallbackHandle hCallback) = 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 
273  class ModuleRecorder :
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;
304  virtual XnStatus RegisterToEndOfFileReached(XnModuleStateChangedHandler handler, void* pCookie, XnCallbackHandle& hCallback) = 0;
305  virtual void UnregisterFromEndOfFileReached(XnCallbackHandle hCallback) = 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;
315  virtual void UnregisterFromCroppingChange(XnCallbackHandle hCallback) = 0;
316  };
317 
319  {
320  public:
322  virtual XnStatus SetPowerLineFrequency(XnPowerLineFrequency nFrequency) = 0;
324  virtual XnStatus RegisterToPowerLineFrequencyChange(XnModuleStateChangedHandler handler, void* pCookie, XnCallbackHandle& hCallback) = 0;
325  virtual void UnregisterFromPowerLineFrequencyChange(XnCallbackHandle hCallback) = 0;
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
334  virtual ~ModuleMapGenerator() {}
335  virtual XnUInt32 GetSupportedMapOutputModesCount() = 0;
336  virtual XnStatus GetSupportedMapOutputModes(XnMapOutputMode aModes[], XnUInt32& nCount) = 0;
337  virtual XnStatus SetMapOutputMode(const XnMapOutputMode& Mode) = 0;
338  virtual XnStatus GetMapOutputMode(XnMapOutputMode& Mode) = 0;
339  virtual XnStatus RegisterToMapOutputModeChange(XnModuleStateChangedHandler handler, void* pCookie, XnCallbackHandle& hCallback) = 0;
340  virtual void UnregisterFromMapOutputModeChange(XnCallbackHandle hCallback) = 0;
341  virtual XnUInt32 GetBytesPerPixel() = 0;
342  virtual ModuleCroppingInterface* GetCroppingInterface() { return NULL; }
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;
353  virtual XnStatus RegisterToUserPositionChange(XnModuleStateChangedHandler handler, void* pCookie, XnCallbackHandle& hCallback) = 0;
354  virtual void UnregisterFromUserPositionChange(XnCallbackHandle hCallback) = 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;
367  virtual XnDepthPixel GetDeviceMaxDepth() = 0;
368  virtual void GetFieldOfView(XnFieldOfView& FOV) = 0;
369  virtual XnStatus RegisterToFieldOfViewChange(XnModuleStateChangedHandler handler, void* pCookie, XnCallbackHandle& hCallback) = 0;
370  virtual void UnregisterFromFieldOfViewChange(XnCallbackHandle hCallback) = 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;
385  virtual XnStatus SetPixelFormat(XnPixelFormat Format) = 0;
386  virtual XnPixelFormat GetPixelFormat() = 0;
387  virtual XnStatus RegisterToPixelFormatChange(XnModuleStateChangedHandler handler, void* pCookie, XnCallbackHandle& hCallback) = 0;
388  virtual void UnregisterFromPixelFormatChange(XnCallbackHandle hCallback) = 0;
389  };
390 
391  class ModuleIRGenerator : virtual public ModuleMapGenerator
392  {
393  public:
394 #ifdef XN_NO_DYNAMIC_CAST
395  ModuleIRGenerator() { m_aInterfaces[XN_NODE_TYPE_IR] = this; }
396 #endif
397  virtual ~ModuleIRGenerator() {}
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;
422  virtual void UnregisterFromGestureChange(XnCallbackHandle hCallback) = 0;
423 
424  virtual XnStatus RegisterToGestureIntermediateStageCompleted(XnModuleGestureIntermediateStageCompleted GestureIntermediateStageCompletedCB, void* pCookie, XnCallbackHandle& hCallback) = 0;
426  virtual XnStatus RegisterToGestureReadyForNextIntermediateStage(XnModuleGestureReadyForNextIntermediateStage ReadyForNextIntermediateStageCB, 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
436  virtual ~ModuleSceneAnalyzer() {}
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;
448  virtual void UnregisterFromHandTouchingFOVEdge(XnCallbackHandle hCallback) = 0;
449  };
450 
451  class ModuleHandsGenerator : virtual public ModuleGenerator
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;
462  virtual XnStatus StopTrackingAll() = 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;
475  virtual XnStatus SetSkeletonProfile(XnSkeletonProfile eProfile) = 0;
476  virtual XnStatus SetJointActive(XnSkeletonJoint eJoint, XnBool bState) = 0;
477  virtual XnBool IsJointActive(XnSkeletonJoint eJoint) = 0;
478  virtual XnStatus RegisterToJointConfigurationChange(XnModuleStateChangedHandler handler, void* pCookie, XnCallbackHandle& hCallback) = 0;
479  virtual void UnregisterFromJointConfigurationChange(XnCallbackHandle hCallback) = 0;
480  virtual XnStatus EnumerateActiveJoints(XnSkeletonJoint* pJoints, XnUInt16& nJoints) = 0;
481  virtual XnStatus GetSkeletonJoint(XnUserID user, XnSkeletonJoint eJoint, XnSkeletonJointTransformation& jointTransformation) = 0;
482  virtual XnStatus GetSkeletonJointPosition(XnUserID user, XnSkeletonJoint eJoint, XnSkeletonJointPosition& pJointPosition) = 0;
483  virtual XnStatus GetSkeletonJointOrientation(XnUserID user, XnSkeletonJoint eJoint, XnSkeletonJointOrientation& pJointOrientation) = 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;
488  virtual XnStatus AbortCalibration(XnUserID user) = 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;
502  virtual void UnregisterCalibrationCallbacks(XnCallbackHandle hCallback) = 0;
503 
504  virtual XnStatus RegisterToCalibrationInProgress(XnModuleCalibrationInProgress CalibrationInProgressCB, void* pCookie, XnCallbackHandle& hCallback) = 0;
505  virtual void UnregisterFromCalibrationInProgress(XnCallbackHandle hCallback) = 0;
506  virtual XnStatus RegisterToCalibrationComplete(XnModuleCalibrationComplete CalibrationCompleteCB, void* pCookie, XnCallbackHandle& hCallback) = 0;
507  virtual void UnregisterFromCalibrationComplete(XnCallbackHandle hCallback) = 0;
508 
509  virtual XnStatus RegisterToCalibrationStart(XnModuleCalibrationStart handler, void* pCookie, XnCallbackHandle& hCallback) = 0;
510  virtual void UnregisterFromCalibrationStart(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;
523  virtual XnStatus StopPoseDetection(XnUserID user) = 0;
524  virtual XnStatus StopSinglePoseDetection(XnUserID user, const XnChar* strPose) = 0;
525 
527  virtual void UnregisterFromPoseDetectionCallbacks(XnCallbackHandle hCallback) = 0;
528 
529  virtual XnStatus RegisterToPoseDetectionInProgress(XnModulePoseDetectionInProgressCallback InProgressCB, void* pCookie, XnCallbackHandle& hCallback) = 0;
530  virtual void UnregisterFromPoseDetectionInProgress(XnCallbackHandle hCallback) = 0;
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 
538  class ModuleUserGenerator : virtual public ModuleGenerator
539  {
540  public:
541 #ifdef XN_NO_DYNAMIC_CAST
542  ModuleUserGenerator() { m_aInterfaces[XN_NODE_TYPE_USER] = this;}
543 #endif
544  virtual ~ModuleUserGenerator() {}
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;
552  virtual ModuleSkeletonInterface* GetSkeletonInterface() { return NULL; }
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 
561  class ModuleAudioGenerator : virtual public ModuleGenerator
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;
573  virtual XnStatus GetWaveOutputMode(XnWaveOutputMode& OutputMode) = 0;
574  virtual XnStatus RegisterToWaveOutputModeChanges(XnModuleStateChangedHandler handler, void* pCookie, XnCallbackHandle& hCallback) = 0;
575  virtual void UnregisterFromWaveOutputModeChanges(XnCallbackHandle hCallback) = 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 
591  class ModuleScriptNode : virtual public ModuleProductionNode
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__
Definition: XnTypes.h:503
virtual XnBool IsCalibrating(XnUserID user)=0
virtual XnBool CanFrameSyncWith(ProductionNode &other)=0
virtual ~ModuleGenerator()
Definition: XnModuleCppInterface.h:240
void(* XnModuleStateChangedHandler)(void *pCookie)
Definition: XnModuleInterface.h:80
Definition: XnModuleCppInterface.h:285
virtual void UnregisterCalibrationCallbacks(XnCallbackHandle hCallback)=0
XnUInt32 XnUserID
Definition: XnTypes.h:546
virtual XnStatus GetVendorSpecificData(XnChar *strBuffer, XnUInt32 &nBufferSize)=0
virtual XnUInt32 GetBytesPerPixel()
Definition: XnModuleCppInterface.h:365
virtual XnStatus Run(NodeInfoList &createdNodes, EnumerationErrors &errors)=0
Definition: XnTypes.h:112
Definition: XnModuleCppInterface.h:318
virtual XnStatus SaveCalibrationDataToFile(XnUserID user, const XnChar *strFileName)=0
virtual ModuleCroppingInterface * GetCroppingInterface()
Definition: XnModuleCppInterface.h:342
virtual XnStatus SetWaveOutputMode(const XnWaveOutputMode &OutputMode)=0
virtual void UnregisterFromWaveOutputModeChanges(XnCallbackHandle hCallback)=0
Definition: XnModuleCppInterface.h:102
virtual XnStatus SetUserPosition(XnUInt32 nIndex, const XnBoundingBox3D &Position)=0
virtual const void * GetData()
Definition: XnModuleCppInterface.h:458
Definition: XnCppWrapper.h:8406
virtual XnStatus TellFrame(const XnChar *strNodeName, XnUInt32 &nFrame)=0
virtual const XnLabel * GetLabelMap()=0
Definition: XnTypes.h:136
#define XN_IS_STATUS_OK(x)
Definition: XnMacros.h:60
Definition: XnTypes.h:127
#define FALSE
Definition: XnPlatform.h:85
virtual void UnregisterFromUserReEnter(XnCallbackHandle hCallback)=0
virtual XnStatus Load()
Definition: XnModuleCppInterface.h:53
void(* XnModuleGestureReadyForNextIntermediateStage)(const XnChar *strGesture, const XnPoint3D *pPosition, void *pCookie)
Definition: XnModuleInterface.h:97
virtual XnStatus SaveCalibrationData(XnUserID user, XnUInt32 nSlot)=0
virtual void UnregisterFromFrameSyncChange(XnCallbackHandle hCallback)=0
virtual XnStatus StopFrameSyncWith(ProductionNode &other)=0
virtual ~ModuleMapGenerator()
Definition: XnModuleCppInterface.h:334
virtual const void * GetData()
Definition: XnModuleCppInterface.h:364
virtual ~ModulePlayer()
Definition: XnModuleCppInterface.h:291
virtual ~ModuleAudioGenerator()
Definition: XnModuleCppInterface.h:567
virtual XnStatus RegisterToGestureIntermediateStageCompleted(XnModuleGestureIntermediateStageCompleted GestureIntermediateStageCompletedCB, void *pCookie, XnCallbackHandle &hCallback)=0
virtual XnStatus RegisterCalibrationCallbacks(XnModuleCalibrationStart CalibrationStartCB, XnModuleCalibrationEnd CalibrationEndCB, void *pCookie, XnCallbackHandle &hCallback)=0
virtual void UnregisterFromCalibrationComplete(XnCallbackHandle hCallback)=0
virtual XnStatus RegisterToEndOfFileReached(XnModuleStateChangedHandler handler, void *pCookie, XnCallbackHandle &hCallback)=0
virtual XnStatus LoadCalibrationData(XnUserID user, XnUInt32 nSlot)=0
virtual void UnregisterFromJointConfigurationChange(XnCallbackHandle hCallback)=0
virtual void UnregisterFromCalibrationStart(XnCallbackHandle hCallback)=0
Definition: XnModuleCppInterface.h:141
void(* XnModulePoseDetectionInProgressCallback)(const XnChar *strPose, XnUserID user, XnPoseDetectionStatus poseError, void *pCookie)
Definition: XnModuleInterface.h:107
virtual ~ModuleDevice()
Definition: XnModuleCppInterface.h:197
virtual ~ModuleGestureGenerator()
Definition: XnModuleCppInterface.h:409
XnUInt32 Size() const
Definition: XnListT.h:490
Definition: XnTypes.h:115
virtual XnStatus StopTracking(XnUserID user)=0
Definition: XnModuleCppInterface.h:357
virtual ~ModuleProductionNode()
Definition: XnModuleCppInterface.h:161
virtual ~ModuleErrorStateInterface()
Definition: XnModuleCppInterface.h:135
virtual void UnregisterFromErrorStateChange(XnCallbackHandle hCallback)=0
virtual XnStatus RegisterToPixelFormatChange(XnModuleStateChangedHandler handler, void *pCookie, XnCallbackHandle &hCallback)=0
virtual XnStatus RegisterToPowerLineFrequencyChange(XnModuleStateChangedHandler handler, void *pCookie, XnCallbackHandle &hCallback)=0
Definition: XnModuleCppInterface.h:114
virtual XnStatus SetSkeletonProfile(XnSkeletonProfile eProfile)=0
Definition: XnTypes.h:162
virtual XnStatus GetSkeletonJointOrientation(XnUserID user, XnSkeletonJoint eJoint, XnSkeletonJointOrientation &pJointOrientation)=0
virtual void UnregisterFromValueChange(const XnChar *strCap, XnCallbackHandle hCallback)=0
virtual XnStatus RegisterToFrameSyncChange(XnModuleStateChangedHandler handler, void *pCookie, XnCallbackHandle &hCallback)=0
virtual XnStatus EnumerateGestures(XnChar **pstrGestures, XnUInt16 &nGestures)=0
Definition: XnTypes.h:133
virtual XnStatus RegisterToGenerationRunningChange(XnModuleStateChangedHandler handler, void *pCookie, XnCallbackHandle &hCallback)=0
virtual XnStatus SetIntProperty(const XnChar *, XnUInt64)
Definition: XnModuleCppInterface.h:163
Definition: XnModuleCppInterface.h:346
XnPlayerSeekOrigin
Definition: XnTypes.h:531
virtual XnStatus RegisterToValueChange(const XnChar *strCap, XnModuleStateChangedHandler handler, void *pCookie, XnCallbackHandle &hCallback)=0
virtual ModuleAlternativeViewPointInterface * GetAlternativeViewPointInterface()
Definition: XnModuleCppInterface.h:255
Definition: XnModuleCppInterface.h:151
#define XN_STATUS_OK
Definition: XnStatus.h:37
virtual void StopGenerating()=0
virtual ModuleUserPositionInterface * GetUserPositionInterface()
Definition: XnModuleCppInterface.h:371
virtual XnStatus RegisterToUserExit(XnModuleUserHandler UserExitCB, void *pCookie, XnCallbackHandle &hCallback)=0
Definition: XnModuleCppInterface.h:201
Definition: XnModuleCppInterface.h:469
virtual ~ModuleIRGenerator()
Definition: XnModuleCppInterface.h:397
Module()
Definition: XnModuleCppInterface.h:50
virtual XnBool IsJointActive(XnSkeletonJoint eJoint)=0
void(* XnModuleCalibrationComplete)(XnUserID user, XnCalibrationStatus calibrationError, void *pCookie)
Definition: XnModuleInterface.h:103
Definition: XnModuleCppInterface.h:82
virtual ~ModuleSceneAnalyzer()
Definition: XnModuleCppInterface.h:436
Definition: XnTypes.h:121
virtual ~ModuleHandsGenerator()
Definition: XnModuleCppInterface.h:457
Definition: XnModuleCppInterface.h:591
virtual XnStatus GetSerialNumber(XnChar *strBuffer, XnUInt32 &nBufferSize)=0
virtual XnBool IsEOF()=0
virtual XnDepthPixel * GetDepthMap()=0
virtual ~ModuleAlternativeViewPointInterface()
Definition: XnModuleCppInterface.h:214
Definition: XnModuleCppInterface.h:538
Definition: XnModuleCppInterface.h:47
virtual ModuleSkeletonInterface * GetSkeletonInterface()
Definition: XnModuleCppInterface.h:552
ModuleExportedProductionNode()
Definition: XnModuleCppInterface.h:105
virtual XnStatus SetOutputStream(void *pCookie, XnRecorderOutputStreamInterface *pStream)=0
Definition: XnTypes.h:141
virtual XnStatus RegisterToCroppingChange(XnModuleStateChangedHandler handler, void *pCookie, XnCallbackHandle &hCallback)=0
virtual XnStatus GetStringProperty(const XnChar *, XnChar *, XnUInt32) const
Definition: XnModuleCppInterface.h:169
XnListT< XnModuleGetExportedInterfacePtr > ExportedNodesList
Definition: XnModuleCppInterface.h:43
Definition: XnModuleCppInterface.h:328
virtual const void * GetData()
Definition: XnModuleCppInterface.h:410
virtual XnStatus GetGeneralProperty(const XnChar *, XnUInt32, void *) const
Definition: XnModuleCppInterface.h:170
Definition: XnTypes.h:921
virtual const XnChar * GetSupportedFormat()=0
virtual void UnregisterUserCallbacks(XnCallbackHandle hCallback)=0
virtual XnUInt32 GetSupportedMapOutputModesCount()=0
virtual XnBool IsMirrored()=0
void(* XnModuleGestureRecognized)(const XnChar *strGesture, const XnPoint3D *pIDPosition, const XnPoint3D *pEndPosition, void *pCookie)
Definition: XnModuleInterface.h:94
void(* XnModuleCalibrationEnd)(XnUserID user, XnBool bSuccess, void *pCookie)
Definition: XnModuleInterface.h:101
virtual XnStatus GetCropping(XnCropping &Cropping)=0
Definition: XnTypes.h:103
virtual XnStatus EnumerateProductionTrees(Context &context, NodeInfoList &TreesList, EnumerationErrors *pErrors)=0
virtual XnBool NeedPoseForCalibration()=0
virtual XnStatus EnumerateAllGestures(XnChar **pstrGestures, XnUInt32 nNameLength, XnUInt16 &nGestures)=0
virtual XnUInt32 GetSupportedUserPositionsCount()=0
virtual XnUChar * GetAudioBuffer()=0
virtual XnStatus Create(Context &context, const XnChar *strInstanceName, const XnChar *strCreationInfo, NodeInfoList *pNeededTrees, const XnChar *strConfigurationDir, ModuleProductionNode **ppInstance)=0
virtual XnStatus StartTracking(const XnPoint3D &ptPosition)=0
void(* XnModuleGestureIntermediateStageCompleted)(const XnChar *strGesture, const XnPoint3D *pPosition, void *pCookie)
Definition: XnModuleInterface.h:96
XnPowerLineFrequency
Definition: XnTypes.h:538
virtual XnStatus GetDeviceName(XnChar *strBuffer, XnUInt32 &nBufferSize)=0
virtual XnStatus RegisterToFieldOfViewChange(XnModuleStateChangedHandler handler, void *pCookie, XnCallbackHandle &hCallback)=0
Definition: XnModuleCppInterface.h:451
virtual XnStatus SetInputStream(void *pStreamCookie, XnPlayerInputStreamInterface *pStream)=0
Definition: XnTypes.h:589
virtual XnStatus SetPixelFormat(XnPixelFormat Format)=0
virtual void UnregisterFromGestureIntermediateStageCompleted(XnCallbackHandle hCallback)=0
virtual XnBool IsPixelFormatSupported(XnPixelFormat Format)=0
Definition: XnTypes.h:486
virtual ~Module()
Definition: XnModuleCppInterface.h:51
virtual ~ModuleUserPositionInterface()
Definition: XnModuleCppInterface.h:349
virtual XnStatus GetActiveGestures(XnChar **pstrGestures, XnUInt16 &nGestures)=0
virtual const void * GetData()
Definition: XnModuleCppInterface.h:545
virtual void UnregisterFromGenerationRunningChange(XnCallbackHandle hCallback)=0
virtual XnBool IsFrameSyncedWith(ProductionNode &other)=0
virtual XnStatus Get(const XnChar *strCap, XnInt32 &nValue)=0
virtual XnStatus SetNodeNotifications(void *pNodeNotificationsCookie, XnNodeNotifications *pNodeNotifications)=0
virtual XnPixelFormat GetPixelFormat()=0
virtual ~ModuleUserGenerator()
Definition: XnModuleCppInterface.h:544
virtual XnUInt32 GetBytesPerPixel()
Definition: XnModuleCppInterface.h:438
Definition: XnModuleCppInterface.h:259
virtual XnStatus GetFloor(XnPlane3D &pPlane)=0
virtual const void * GetData()
Definition: XnModuleCppInterface.h:437
XnUInt32 XnStatus
Definition: XnStatus.h:34
virtual XnStatus RegisterToPoseDetected(XnModulePoseDetectionCallback handler, void *pCookie, XnCallbackHandle &hCallback)=0
virtual void UnregisterFromCroppingChange(XnCallbackHandle hCallback)=0
virtual XnStatus RegisterToPoseDetectionCallbacks(XnModulePoseDetectionCallback StartPoseCB, XnModulePoseDetectionCallback EndPoseCB, void *pCookie, XnCallbackHandle &hCallback)=0
virtual const void * GetData()=0
Definition: XnModuleCppInterface.h:513
Definition: XnModuleCppInterface.h:403
void(* XnModuleCalibrationStart)(XnUserID user, void *pCookie)
Definition: XnModuleInterface.h:100
virtual ~ModulePoseDetectionInteface()
Definition: XnModuleCppInterface.h:516
void(* XnModulePoseDetectionCallback)(const XnChar *strPose, XnUserID user, void *pCookie)
Definition: XnModuleInterface.h:106
virtual XnStatus RegisterHandCallbacks(XnModuleHandCreate CreateCB, XnModuleHandUpdate UpdateCB, XnModuleHandDestroy DestroyCB, void *pCookie, XnCallbackHandle &hCallback)=0
virtual XnStatus RegisterToCalibrationInProgress(XnModuleCalibrationInProgress CalibrationInProgressCB, void *pCookie, XnCallbackHandle &hCallback)=0
virtual XnStatus RegisterToViewPointChange(XnModuleStateChangedHandler handler, void *pCookie, XnCallbackHandle &hCallback)=0
virtual XnBool IsCalibrationData(XnUInt32 nSlot)=0
Definition: XnTypes.h:990
virtual XnStatus GetAllAvailablePoses(XnChar **pstrPoses, XnUInt32 nNameLength, XnUInt32 &nPoses)=0
virtual XnStatus GetSkeletonJoint(XnUserID user, XnSkeletonJoint eJoint, XnSkeletonJointTransformation &jointTransformation)=0
virtual void GetFieldOfView(XnFieldOfView &FOV)=0
virtual XnBool IsGestureProgressSupported(const XnChar *strGesture)=0
virtual XnStatus StopSinglePoseDetection(XnUserID user, const XnChar *strPose)=0
virtual XnStatus LoadScriptFromFile(const XnChar *strFileName)=0
virtual XnStatus SetRepeat(XnBool bRepeat)=0
Definition: XnTypes.h:600
XnStatus AddExportedNode(XnModuleGetExportedInterfacePtr pEntryPoint)
Definition: XnModuleCppInterface.h:56
Definition: XnModuleCppInterface.h:561
virtual XnUInt32 GetNumFrames(const XnChar *strNodeName, XnUInt32 &nFrames)=0
virtual XnStatus DecompressData(const void *pSrc, XnUInt32 nSrcSize, void *pDst, XnUInt32 nDstSize, XnUInt *pnBytesWritten) const =0
XnUInt32 GetExportedNodesCount()
Definition: XnModuleCppInterface.h:58
virtual XnStatus StartPoseDetection(const XnChar *strPose, XnUserID user)=0
virtual XnBool IsJointAvailable(XnSkeletonJoint eJoint)=0
virtual XnStatus SetPowerLineFrequency(XnPowerLineFrequency nFrequency)=0
Definition: XnModuleCppInterface.h:234
XnUInt16 XnDepthPixel
Definition: XnTypes.h:276
Definition: XnTypes.h:142
XnStatus GetExportedNodes(XnModuleGetExportedInterfacePtr *aEntryPoints, XnUInt32 nCount)
Definition: XnModuleCppInterface.h:60
virtual XnBool IsCalibrated(XnUserID user)=0
virtual ~ModuleHandTouchingFOVEdgeInterface()
Definition: XnModuleCppInterface.h:446
virtual XnStatus StopPoseDetection(XnUserID user)=0
Definition: XnModuleCppInterface.h:223
virtual ~ModuleCroppingInterface()
Definition: XnModuleCppInterface.h:311
virtual ~ModuleExtendedSerializationInterface()
Definition: XnModuleCppInterface.h:117
virtual ModulePoseDetectionInteface * GetPoseDetectionInteface()
Definition: XnModuleCppInterface.h:553
XnInt32 XnProductionNodeType
Definition: XnTypes.h:92
virtual void UnregisterFromUserPositionChange(XnCallbackHandle hCallback)=0
Definition: XnModuleCppInterface.h:273
void(* XnModuleHandUpdate)(XnUserID user, const XnPoint3D *pPosition, XnFloat fTime, void *pCookie)
Definition: XnModuleInterface.h:90
virtual XnStatus GetCoM(XnUserID user, XnPoint3D &com)=0
virtual void UnregisterFromOutOfPose(XnCallbackHandle hCallback)=0
virtual XnBool IsViewPointSupported(ProductionNode &other)=0
Definition: XnTypes.h:465
virtual XnStatus SeekToTimeStamp(XnInt64 nTimeOffset, XnPlayerSeekOrigin origin)=0
virtual void UnregisterFromPowerLineFrequencyChange(XnCallbackHandle hCallback)=0
virtual XnStatus OnNodeIntPropChanged(const XnChar *strNodeName, const XnChar *strPropName, XnUInt64 nValue)=0
virtual XnStatus RegisterGestureCallbacks(XnModuleGestureRecognized RecognizedCB, XnModuleGestureProgress ProgressCB, void *pCookie, XnCallbackHandle &hCallback)=0
virtual ~ModuleImageGenerator()
Definition: XnModuleCppInterface.h:380
virtual ~ModuleDepthGenerator()
Definition: XnModuleCppInterface.h:363
virtual XnStatus GetUsers(XnUserID *pUsers, XnUInt16 &nUsers)=0
virtual XnStatus RemoveGesture(const XnChar *strGesture)=0
virtual XnStatus SetGeneralProperty(const XnChar *, XnUInt32, const void *)
Definition: XnModuleCppInterface.h:166
virtual XnStatus GetWaveOutputMode(XnWaveOutputMode &OutputMode)=0
virtual XnStatus GetAllActiveGestures(XnChar **pstrGestures, XnUInt32 nNameLength, XnUInt16 &nGestures)=0
Definition: XnTypes.h:118
virtual ~ModuleRecorder()
Definition: XnModuleCppInterface.h:281
virtual XnStatus AbortCalibration(XnUserID user)=0
Definition: XnTypes.h:1175
virtual XnStatus EnumerateActiveJoints(XnSkeletonJoint *pJoints, XnUInt16 &nJoints)=0
virtual XnUInt32 GetBytesPerPixel()=0
virtual XnStatus GetMapOutputMode(XnMapOutputMode &Mode)=0
virtual XnStatus GetErrorState()=0
virtual void UnregisterFromViewPointChange(XnCallbackHandle hCallback)=0
Definition: XnTypes.h:432
virtual XnStatus Load()
Definition: XnModuleCppInterface.h:85
virtual XnStatus RegisterNewTypes()=0
XnUInt16 XnLabel
Definition: XnTypes.h:308
virtual void UnregisterFromPoseDetectionCallbacks(XnCallbackHandle hCallback)=0
virtual ModuleFrameSyncInterface * GetFrameSyncInterface()
Definition: XnModuleCppInterface.h:256
virtual ModuleAntiFlickerInterface * GetAntiFlickerInterface()
Definition: XnModuleCppInterface.h:343
virtual XnStatus OnNodeStateReady(const XnChar *strNodeName)=0
XnGrayscale16Pixel XnIRPixel
Definition: XnTypes.h:305
virtual XnStatus RegisterToHandTouchingFOVEdge(XnModuleHandTouchingFOVEdge TouchingFOVEdgeCB, void *pCookie, XnCallbackHandle &hCallback)=0
virtual XnStatus GetSupportedMapOutputModes(XnMapOutputMode aModes[], XnUInt32 &nCount)=0
virtual XnUInt32 GetSupportedWaveOutputModesCount()=0
virtual void UnregisterFromMirrorChange(XnCallbackHandle hCallback)=0
virtual XnBool IsViewPointAs(ProductionNode &other)=0
virtual XnStatus RegisterUserCallbacks(XnModuleUserHandler NewUserCB, XnModuleUserHandler LostUserCB, void *pCookie, XnCallbackHandle &hCallback)=0
Definition: XnTypes.h:109
virtual XnStatus UpdateData()=0
virtual ~ModuleAntiFlickerInterface()
Definition: XnModuleCppInterface.h:321
virtual XnStatus OnNodeRemoved(const XnChar *strNodeName)=0
virtual XnStatus RegisterToPoseDetectionInProgress(XnModulePoseDetectionInProgressCallback InProgressCB, void *pCookie, XnCallbackHandle &hCallback)=0
void(* XnModuleHandCreate)(XnUserID user, const XnPoint3D *pPosition, XnFloat fTime, void *pCookie)
Definition: XnModuleInterface.h:89
virtual XnStatus StartTracking(XnUserID user)=0
virtual XnStatus GetRealProperty(const XnChar *, XnDouble &) const
Definition: XnModuleCppInterface.h:168
Definition: XnCppWrapper.h:8593
void * XnCallbackHandle
Definition: XnTypes.h:268
virtual void UnregisterFromUserExit(XnCallbackHandle hCallback)=0
Definition: XnTypes.h:477
virtual XnStatus SetLockState(XnBool bLocked)=0
virtual XnStatus AddGesture(const XnChar *strGesture, XnBoundingBox3D *pArea)=0
virtual XnStatus RegisterToUserReEnter(XnModuleUserHandler UserReEnterCB, void *pCookie, XnCallbackHandle &hCallback)=0
virtual XnStatus GetSkeletonJointPosition(XnUserID user, XnSkeletonJoint eJoint, XnSkeletonJointPosition &pJointPosition)=0
Definition: XnTypes.h:144
virtual XnStatus RegisterToWaveOutputModeChanges(XnModuleStateChangedHandler handler, void *pCookie, XnCallbackHandle &hCallback)=0
virtual XnStatus SetMapOutputMode(const XnMapOutputMode &Mode)=0
Definition: XnTypes.h:139
Iterator Begin()
Definition: XnListT.h:265
virtual XnStatus TellTimestamp(XnUInt64 &nTimestamp)=0
XnUInt32 XnCodecID
Definition: XnTypes.h:839
virtual ModuleHandTouchingFOVEdgeInterface * GetHandTouchingFOVEdgeInterface()
Definition: XnModuleCppInterface.h:466
virtual XnStatus GetRange(const XnChar *strCap, XnInt32 &nMin, XnInt32 &nMax, XnInt32 &nStep, XnInt32 &nDefault, XnBool &bIsAutoSupported)=0
void(* XnModuleUserHandler)(XnUserID user, void *pCookie)
Definition: XnModuleInterface.h:83
virtual ~ModuleExportedProductionNode()
Definition: XnModuleCppInterface.h:106
void(* XnModuleGestureProgress)(const XnChar *strGesture, const XnPoint3D *pPosition, XnFloat fProgress, void *pCookie)
Definition: XnModuleInterface.h:95
virtual XnStatus RegisterToGestureChange(XnModuleStateChangedHandler handler, void *pCookie, XnCallbackHandle &hCallback)=0
Definition: XnModuleCppInterface.h:578
virtual ~ModuleMirrorInterface()
Definition: XnModuleCppInterface.h:204
virtual XnIRPixel * GetIRMap()=0
virtual ~ModuleDeviceIdentificationInterface()
Definition: XnModuleCppInterface.h:185
virtual ModuleGeneralIntInterface * GetGeneralIntInterface(const XnChar *)
Definition: XnModuleCppInterface.h:174
virtual XnStatus RegisterToCalibrationStart(XnModuleCalibrationStart handler, void *pCookie, XnCallbackHandle &hCallback)=0
virtual XnStatus LoadCalibrationDataFromFile(XnUserID user, const XnChar *strFileName)=0
virtual XnStatus RegisterToJointConfigurationChange(XnModuleStateChangedHandler handler, void *pCookie, XnCallbackHandle &hCallback)=0
Definition: XnModuleCppInterface.h:182
virtual XnStatus RegisterToLockChange(XnModuleStateChangedHandler handler, void *pCookie, XnCallbackHandle &hCallback)=0
Definition: XnTypes.h:124
virtual void UnregisterFromGestureReadyForNextIntermediateStage(XnCallbackHandle hCallback)=0
virtual XnStatus RegisterToNewDataAvailable(XnModuleStateChangedHandler handler, void *pCookie, XnCallbackHandle &hCallback)=0
Definition: XnModuleCppInterface.h:443
Definition: XnCppWrapper.h:2631
virtual XnStatus GetSupportedWaveOutputModes(XnWaveOutputMode aSupportedModes[], XnUInt32 &nCount)=0
virtual const void * GetData()
Definition: XnModuleCppInterface.h:398
XN_C_API void XN_C_DECL xnOSMemSet(void *pDest, XnUInt8 nValue, XnSizeT nCount)
virtual XnStatus OnNodeStringPropChanged(const XnChar *strNodeName, const XnChar *strPropName, const XnChar *strValue)=0
virtual XnStatus ReadNext()=0
virtual void UnregisterFromHandTouchingFOVEdge(XnCallbackHandle hCallback)=0
virtual XnStatus RegisterToErrorStateChange(XnModuleStateChangedHandler handler, void *pCookie, XnCallbackHandle &hCallback)=0
virtual XnBool GetLockState()=0
virtual XnStatus Init(const ProductionNode &node)=0
virtual void UnregisterFromEndOfFileReached(XnCallbackHandle hCallback)=0
virtual XnBool IsCapabilitySupported(const XnChar *)
Definition: XnModuleCppInterface.h:162
Definition: XnTypes.h:140
virtual const void * GetData()
Definition: XnModuleCppInterface.h:568
virtual ~ModuleCodec()
Definition: XnModuleCppInterface.h:584
virtual XnUInt16 GetNumberOfUsers()=0
virtual XnStatus OnNodeGeneralPropChanged(const XnChar *strNodeName, const XnChar *strPropName, XnUInt32 nBufferSize, const void *pBuffer)=0
Definition: XnModuleCppInterface.h:191
virtual XnStatus SetCropping(const XnCropping &Cropping)=0
virtual XnStatus RegisterToGestureReadyForNextIntermediateStage(XnModuleGestureReadyForNextIntermediateStage ReadyForNextIntermediateStageCB, void *pCookie, XnCallbackHandle &hCallback)=0
virtual void Destroy(ModuleProductionNode *pInstance)=0
virtual XnStatus RegisterToUserPositionChange(XnModuleStateChangedHandler handler, void *pCookie, XnCallbackHandle &hCallback)=0
virtual XnStatus SetRealProperty(const XnChar *, XnDouble)
Definition: XnModuleCppInterface.h:164
virtual void UnregisterFromFieldOfViewChange(XnCallbackHandle hCallback)=0
void(* XnModuleGetExportedInterfacePtr)(XnModuleExportedProductionNodeInterface *pInterface)
Definition: XnModuleInterface.h:63
virtual XnUInt32 GetFrameID()=0
virtual void UnregisterHandCallbacks(XnCallbackHandle hCallback)=0
virtual ModuleExtendedSerializationInterface * GetExtendedSerializationInterface()
Definition: XnModuleCppInterface.h:171
virtual XnUInt32 GetNumberOfPoses()=0
virtual XnStatus OnNodeNewData(const XnChar *strNodeName, XnUInt64 nTimeStamp, XnUInt32 nFrame, const void *pData, XnUInt32 nSize)=0
XnSkeletonJoint
Definition: XnTypes.h:611
virtual XnUInt64 GetTimestamp()=0
Definition: XnModuleCppInterface.h:391
virtual XnStatus CompressData(const void *pSrc, XnUInt32 nSrcSize, void *pDst, XnUInt32 nDstSize, XnUInt *pnBytesWritten) const =0
virtual XnBool IsNewDataAvailable(XnUInt64 &nTimestamp)=0
virtual void GetDescription(XnProductionNodeDescription *pDescription)=0
virtual XnStatus GetCalibrationPose(XnChar *strPose)=0
virtual XnUInt32 GetBytesPerPixel()
Definition: XnModuleCppInterface.h:382
Definition: XnTypes.h:573
Definition: XnModuleCppInterface.h:374
virtual XnStatus SeekToFrame(const XnChar *strNodeName, XnInt32 nFrameOffset, XnPlayerSeekOrigin origin)=0
Definition: XnTypes.h:849
virtual XnStatus StopTracking(XnUserID user)=0
Definition: XnTypes.h:455
virtual void UnregisterFromLockChange(XnCallbackHandle hCallback)=0
Iterator End()
Definition: XnListT.h:281
virtual XnUInt8 * GetImageMap()=0
void(* XnModuleCalibrationInProgress)(XnUserID user, XnCalibrationStatus calibrationError, void *pCookie)
Definition: XnModuleInterface.h:102
XnSkeletonProfile
Definition: XnTypes.h:644
virtual XnStatus GetAvailablePoses(XnChar **pstrPoses, XnUInt32 &nPoses)=0
virtual void UnregisterFromPoseDetectionInProgress(XnCallbackHandle hCallback)=0
virtual XnBool IsTracking(XnUserID user)=0
virtual XnStatus StopTrackingAll()=0
virtual XnStatus GetUserPixels(XnUserID user, XnSceneMetaData *pScene)=0
virtual XnStatus RegisterToOutOfPose(XnModulePoseDetectionCallback handler, void *pCookie, XnCallbackHandle &hCallback)=0
XnPixelFormat
Definition: XnTypes.h:511
Definition: XnModuleCppInterface.h:122
virtual XnDepthPixel GetDeviceMaxDepth()=0
Definition: XnTypes.h:130
virtual void UnregisterFromMapOutputModeChange(XnCallbackHandle hCallback)=0
virtual XnCodecID GetCodecID() const =0
virtual ModuleMirrorInterface * GetMirrorInterface()
Definition: XnModuleCppInterface.h:254
virtual void UnregisterFromGestureChange(XnCallbackHandle hCallback)=0
virtual XnStatus OnNodeRealPropChanged(const XnChar *strNodeName, const XnChar *strPropName, XnDouble dValue)=0
virtual ModuleErrorStateInterface * GetErrorStateInterface()
Definition: XnModuleCppInterface.h:173
virtual void UnregisterFromCalibrationInProgress(XnCallbackHandle hCallback)=0
void(* XnModuleHandDestroy)(XnUserID user, XnFloat fTime, void *pCookie)
Definition: XnModuleInterface.h:91
Definition: XnTypes.h:560
virtual XnStatus GetUserPosition(XnUInt32 nIndex, XnBoundingBox3D &Position)=0
virtual XnStatus StartGenerating()=0
virtual ~ModuleNodeNotifications()
Definition: XnModuleCppInterface.h:262
virtual XnBool IsGestureAvailable(const XnChar *strGesture)=0
virtual XnStatus SetSmoothing(XnFloat fSmoothingFactor)=0
virtual XnStatus SetJointActive(XnSkeletonJoint eJoint, XnBool bState)=0
virtual ~ModuleLockAwareInterface()
Definition: XnModuleCppInterface.h:125
Definition: XnModuleCppInterface.h:211
virtual const XnChar * GetSupportedFormat()=0
Definition: XnCppWrapper.h:2144
virtual XnStatus RegisterToCalibrationComplete(XnModuleCalibrationComplete CalibrationCompleteCB, void *pCookie, XnCallbackHandle &hCallback)=0
virtual XnStatus RegisterToMapOutputModeChange(XnModuleStateChangedHandler handler, void *pCookie, XnCallbackHandle &hCallback)=0
virtual XnBool IsProfileAvailable(XnSkeletonProfile eProfile)=0
virtual ModuleLockAwareInterface * GetLockAwareInterface()
Definition: XnModuleCppInterface.h:172
virtual XnInt32 Set(const XnChar *strCap, XnInt32 nValue)=0
virtual XnUInt32 GetDataSize()=0
Definition: XnModuleCppInterface.h:308
virtual void UnregisterFromPixelFormatChange(XnCallbackHandle hCallback)=0
Definition: XnModuleCppInterface.h:132
virtual XnStatus NotifyExState(XnNodeNotifications *pNotifications, void *pCookie)=0
virtual void UnregisterFromNewDataAvailable(XnCallbackHandle hCallback)=0
virtual XnStatus GetIntProperty(const XnChar *, XnUInt64 &) const
Definition: XnModuleCppInterface.h:167
virtual void UnregisterFromPoseDetected(XnCallbackHandle hCallback)=0
virtual ~ModuleScriptNode()
Definition: XnModuleCppInterface.h:597
Definition: XnTypes.h:106
virtual ModuleDeviceIdentificationInterface * GetIdentificationInterface()
Definition: XnModuleCppInterface.h:198
virtual XnStatus FrameSyncWith(ProductionNode &other)=0
virtual void Unload()
Definition: XnModuleCppInterface.h:54
virtual XnStatus SetViewPoint(ProductionNode &other)=0
void(* XnModuleHandTouchingFOVEdge)(XnUserID user, const XnPoint3D *pPosition, XnFloat fTime, XnDirection eDir, void *pCookie)
Definition: XnModuleInterface.h:86
virtual XnBool IsGenerating()=0
virtual ~ModuleSkeletonInterface()
Definition: XnModuleCppInterface.h:472
virtual const void * GetData()
Definition: XnModuleCppInterface.h:381
virtual XnStatus SetMirror(XnBool bMirror)=0
virtual XnStatus SetSmoothing(XnFloat fSmoothingFactor)=0
virtual XnPowerLineFrequency GetPowerLineFrequency()=0
virtual XnStatus SetStringProperty(const XnChar *, const XnChar *)
Definition: XnModuleCppInterface.h:165
virtual XnUInt32 GetBytesPerPixel()
Definition: XnModuleCppInterface.h:399
Definition: XnModuleCppInterface.h:430
XN_C_API XnUInt32 XN_C_DECL xnGetBytesPerPixelForPixelFormat(XnPixelFormat format)
virtual XnStatus OnNodeAdded(const XnChar *strNodeName, XnProductionNodeType type, XnCodecID compression)=0
virtual void UnregisterGestureCallbacks(XnCallbackHandle hCallback)=0
virtual XnStatus Reset(XnUserID user)=0
virtual XnStatus ClearCalibrationData(XnUInt32 nSlot)=0
virtual XnStatus RequestCalibration(XnUserID user, XnBool bForce)=0
virtual XnStatus RegisterToMirrorChange(XnModuleStateChangedHandler handler, void *pCookie, XnCallbackHandle &hCallback)=0
virtual XnStatus LoadScriptFromString(const XnChar *strScript)=0
XnStatus AddLast(T const &value)
Definition: XnListT.h:383