NITE 1.5.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 class XnVEvent; 00017 00018 class XNV_NITE_API XnVWaveDetector : 00019 public XnVPointControl 00020 { 00021 public: 00025 typedef void (XN_CALLBACK_TYPE *WaveCB)(void* pUserCxt); 00026 00032 XnVWaveDetector(const XnChar* strName = "XnVWaveDetector"); 00033 ~XnVWaveDetector(); 00034 00041 void OnPrimaryPointCreate(const XnVHandPointContext* pContext, const XnPoint3D& ptFocus); 00048 void OnPrimaryPointUpdate(const XnVHandPointContext* pContext); 00056 void OnPrimaryPointReplace(XnUInt32 nOldId, const XnVHandPointContext* pContext); 00062 void OnPrimaryPointDestroy(XnUInt32 nID); 00063 00072 XnCallbackHandle RegisterWave(void* cxt, WaveCB pCB); 00078 void UnregisterWave(XnCallbackHandle handle); 00079 00083 void Reset(); 00084 00085 void SetFlipCount(XnInt32 nFlipCount); 00086 void SetMinLength(XnInt32 nMinLength); 00087 void SetMaxDeviation(XnInt32 nMaxDeviation); 00088 00089 XnInt32 GetFlipCount() const; 00090 XnInt32 GetMinLength() const; 00091 XnInt32 GetMaxDeviation() const; 00092 protected: 00093 XnVWaveContext* m_pContext; 00094 XnVEvent* m_pWaveCBs; 00095 }; // XnVWaveDetector 00096 00097 #endif // _XNV_WAVE_DETECTOR_H_