NITE 1.5.1 - API Reference

XnVWaveDetector.h

Go to the documentation of this file.
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_