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_VIRTUAL_COORDINATES_H_ 00010 #define _XNV_VIRTUAL_COORDINATES_H_ 00011 00012 #include "XnVPointFilter.h" 00013 00014 class XnVVirtualCoordinatesInternal; 00015 class XnVIntVCIHash; 00016 00017 #define XNV_VC_MAX_FILE_NAME 2048 00018 00023 class XNV_NITE_API XnVVirtualCoordinates : 00024 public XnVPointFilter 00025 { 00026 public: 00033 XnVVirtualCoordinates(const XnChar* strINI, const XnChar* strName = "XnVVirtualCoordintates"); 00034 virtual ~XnVVirtualCoordinates(); 00035 00036 void Update(XnVMessage* pMessage); 00042 void Update(const XnVMultipleHands& hands); 00043 00049 void OnPointCreate(const XnVHandPointContext* pContext); 00055 void OnPointUpdate(const XnVHandPointContext* pContext); 00061 void OnPointDestroy(XnUInt32 nID); 00062 protected: 00063 00064 void Clear(); 00065 virtual void UpdateVirtualPoint(XnVVirtualCoordinatesInternal* pVC, const XnVHandPointContext* pContext, XnVHandPointContext* pLocalContext); 00066 XnVVirtualCoordinatesInternal* GetLocalContext(XnUInt32 nID); 00067 00068 XnVIntVCIHash* m_pVCContexts; 00069 00070 XnChar m_strINI[XNV_VC_MAX_FILE_NAME]; 00071 00072 XnVMultipleHands m_Hands; 00073 }; 00074 00075 00076 00077 #endif // _XNV_VIRTUAL_COORDINATES_H_