NITE 1.4.1 - API Reference
|
00001 /******************************************************************************* 00002 * * 00003 * PrimeSense NITE 1.3 * 00004 * Copyright (C) 2010 PrimeSense Ltd. * 00005 * * 00006 *******************************************************************************/ 00007 00008 00009 #ifndef _XNV_WAVE_DETECTOR_H_ 00010 #define _XNV_WAVE_DETECTOR_H_ 00011 00012 #include "XnVNiteDefs.h" 00013 #include "XnVPointControl.h" 00014 00015 struct XnVWaveContext; 00016 00017 class XNV_NITE_API XnVWaveDetector : 00018 public XnVPointControl 00019 { 00020 public: 00024 typedef void (XN_CALLBACK_TYPE *WaveCB)(void* pUserCxt); 00025 00031 XnVWaveDetector(const XnChar* strName = "XnVWaveDetector"); 00032 ~XnVWaveDetector(); 00033 00040 void OnPrimaryPointCreate(const XnVHandPointContext* pContext, const XnPoint3D& ptFocus); 00047 void OnPrimaryPointUpdate(const XnVHandPointContext* pContext); 00055 void OnPrimaryPointReplace(XnUInt32 nOldId, const XnVHandPointContext* pContext); 00061 void OnPrimaryPointDestroy(XnUInt32 nID); 00062 00071 XnCallbackHandle RegisterWave(void* cxt, WaveCB pCB); 00077 void UnregisterWave(XnCallbackHandle handle); 00078 00082 void Reset(); 00083 00084 void SetFlipCount(XnInt32 nFlipCount); 00085 void SetMinLength(XnInt32 nMinLength); 00086 void SetMaxDeviation(XnInt32 nMaxDeviation); 00087 00088 XnInt32 GetFlipCount() const; 00089 XnInt32 GetMinLength() const; 00090 XnInt32 GetMaxDeviation() const; 00091 protected: 00092 XnVWaveContext* m_pContext; 00093 XnVEvent m_WaveCBs; 00094 }; // XnVWaveDetector 00095 00096 #endif // _XNV_WAVE_DETECTOR_H_