NITE 1.5.1 - API Reference

XnVVirtualCoordinates.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_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_