• Main Page
  • Namespaces
  • Classes
  • Files
  • File List
  • File Members

XnVMultiProcessFlowClient.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_MULTI_PROCESS_FLOW_CLIENT_H_
00010 #define _XNV_MULTI_PROCESS_FLOW_CLIENT_H_
00011 
00012 #include "XnVSessionGenerator.h"
00013 #include "XnVMultipleHands.h"
00014 
00015 struct XnVNiteMultiprocessData;
00016 class XnVMultiprocessReadSynchronizer;
00017 class IdToContextMapping;
00018 
00030 class XNV_NITE_API XnVMultiProcessFlowClient :
00031     public XnVSessionGenerator
00032 {
00033 public:
00041     XnVMultiProcessFlowClient(const XnChar* sOutputSectionName, const XnChar* strName = "XnVMultiProcessFlowClient");
00045     ~XnVMultiProcessFlowClient();
00046 
00053     XnStatus Initialize();
00054 
00062     XnStatus ReadState();
00063 
00069     XnStatus LosePoint(XnUInt32 nID);
00075     XnStatus LosePoints();
00076 
00077     XnStatus EndSession();
00078     XnStatus ForceSession(const XnPoint3D& ptFocus);
00079     XnStatus TrackPoint(const XnPoint3D& pt);
00080 protected:
00081     XN_DECLARE_DEFAULT_HASH_DECL(XNV_NITE_API, XnUInt32, XnVHandPointContext*, XnVIntContextHash);
00082 
00083     XnVHandPointContext* GetLocalContext(XnUInt32 nID);
00084 
00085     void SendEventsForStateDiff(const XnVNiteMultiprocessData& NewState);
00086 
00087     XnVMultiprocessReadSynchronizer* m_pReadingLock;
00088     XnVNiteMultiprocessData* m_pLastReadState;
00089     XnVHandPointContext* m_pInputHandContext;
00090     XnPoint3D m_ptInputHandPoint;
00091     XnVIntContextHash* m_pExistingPointContexts;
00092 
00093     XnVMultipleHands m_Hands;
00094 }; // XnVMultiProcessFlowClient
00095 
00096 #endif // _XNV_MULTI_PROCESS_FLOW_CLIENT_H_

Generated on Tue Jul 19 2011 20:22:59 for NITE 1.4.1 - API Reference by  doxygen 1.7.1