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_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 class XnVIntContextHash; 00019 00031 class XNV_NITE_API XnVMultiProcessFlowClient : 00032 public XnVSessionGenerator 00033 { 00034 public: 00042 XnVMultiProcessFlowClient(const XnChar* sOutputSectionName, const XnChar* strName = "XnVMultiProcessFlowClient"); 00046 ~XnVMultiProcessFlowClient(); 00047 00054 XnStatus Initialize(); 00055 00063 XnStatus ReadState(); 00064 00070 XnStatus LosePoint(XnUInt32 nID); 00076 XnStatus LosePoints(); 00077 00078 XnStatus EndSession(); 00079 XnStatus ForceSession(const XnPoint3D& ptFocus); 00080 XnStatus TrackPoint(const XnPoint3D& pt); 00081 protected: 00082 XnVHandPointContext* GetLocalContext(XnUInt32 nID); 00083 00084 void SendEventsForStateDiff(const XnVNiteMultiprocessData& NewState); 00085 00086 XnVMultiprocessReadSynchronizer* m_pReadingLock; 00087 XnVNiteMultiprocessData* m_pLastReadState; 00088 XnVHandPointContext* m_pInputHandContext; 00089 XnPoint3D m_ptInputHandPoint; 00090 XnVIntContextHash* m_pExistingPointContexts; 00091 00092 XnVMultipleHands m_Hands; 00093 }; // XnVMultiProcessFlowClient 00094 00095 #endif // _XNV_MULTI_PROCESS_FLOW_CLIENT_H_