#include <XnVMultiProcessFlowClient.h>
Public Member Functions | |
XnVMultiProcessFlowClient (const XnChar *sOutputSectionName, const XnChar *strName="XnVMultiProcessFlowClient") | |
~XnVMultiProcessFlowClient () | |
XnStatus | Initialize () |
XnStatus | ReadState () |
XnStatus | LosePoint (XnUInt32 nID) |
XnStatus | LosePoints () |
XnStatus | EndSession () |
XnStatus | ForceSession (const XnPoint3D &ptFocus) |
XnStatus | TrackPoint (const XnPoint3D &pt) |
Protected Member Functions | |
XN_DECLARE_DEFAULT_HASH_DECL (XNV_NITE_API, XnUInt32, XnVHandPointContext *, XnVIntContextHash) | |
XnVHandPointContext * | GetLocalContext (XnUInt32 nID) |
void | SendEventsForStateDiff (const XnVNiteMultiprocessData &NewState) |
Protected Attributes | |
XnVMultiprocessReadSynchronizer * | m_pReadingLock |
XnVNiteMultiprocessData * | m_pLastReadState |
XnVHandPointContext * | m_pInputHandContext |
XnPoint3D | m_ptInputHandPoint |
XnVIntContextHash * | m_pExistingPointContexts |
XnVMultipleHands | m_Hands |
The multi process flow client is a near-equivalent to an XnVSessionManager, but which receives its data from a shared-memory buffer, instead of understanding a depth-map directly. The XnVMultiProcessFlowClient is intended to be used to read the data written by an XnVMultiProcessFlowServer object. Multiple readers are allowed for a single writer. NOTE: Since communication is strictly one-way (Server to Client(s)), The LosePoint() and Reset() methods of XnVSessionGenerator do nothing. If you wish to implement such functionality in your client process, it must be done using a separate communication channel
Definition at line 30 of file XnVMultiProcessFlowClient.h.
XnVMultiProcessFlowClient::XnVMultiProcessFlowClient | ( | const XnChar * | sOutputSectionName, | |
const XnChar * | strName = "XnVMultiProcessFlowClient" | |||
) |
Create a XnVMultiProcessFlowClient
[in] | sOutputSectionName | The name of the Shared Memory section which we will read from |
[in] | strName | Name of the control, for log purposes. |
XnVMultiProcessFlowClient::~XnVMultiProcessFlowClient | ( | ) |
Cleanup
XnStatus XnVMultiProcessFlowClient::EndSession | ( | ) | [virtual] |
Implements XnVSessionGenerator.
XnStatus XnVMultiProcessFlowClient::ForceSession | ( | const XnPoint3D & | ptFocus | ) | [virtual] |
Implements XnVSessionGenerator.
XnVHandPointContext* XnVMultiProcessFlowClient::GetLocalContext | ( | XnUInt32 | nID | ) | [protected] |
XnStatus XnVMultiProcessFlowClient::Initialize | ( | ) |
Initialize the XnVMultiProcessFlowClient Must be called before the first call to ReadState.
XnStatus XnVMultiProcessFlowClient::LosePoint | ( | XnUInt32 | nID | ) | [virtual] |
Lose point - required API of XnVSessionGenerator. Can't lose points in multi-process.
Implements XnVSessionGenerator.
XnStatus XnVMultiProcessFlowClient::LosePoints | ( | ) | [virtual] |
Lose all points - required API of XnVSessionGenerator. Can't lose points in multi-process.
Implements XnVSessionGenerator.
XnStatus XnVMultiProcessFlowClient::ReadState | ( | ) |
Read a new state from the shared section, and trigger events according to the difference between the new state and the old one. This function is blocking.
void XnVMultiProcessFlowClient::SendEventsForStateDiff | ( | const XnVNiteMultiprocessData & | NewState | ) | [protected] |
XnStatus XnVMultiProcessFlowClient::TrackPoint | ( | const XnPoint3D & | pt | ) | [virtual] |
Implements XnVSessionGenerator.
XnVMultiProcessFlowClient::XN_DECLARE_DEFAULT_HASH_DECL | ( | XNV_NITE_API | , | |
XnUInt32 | , | |||
XnVHandPointContext * | , | |||
XnVIntContextHash | ||||
) | [protected] |
XnVMultipleHands XnVMultiProcessFlowClient::m_Hands [protected] |
Definition at line 93 of file XnVMultiProcessFlowClient.h.
XnVIntContextHash* XnVMultiProcessFlowClient::m_pExistingPointContexts [protected] |
Definition at line 91 of file XnVMultiProcessFlowClient.h.
Definition at line 89 of file XnVMultiProcessFlowClient.h.
XnVNiteMultiprocessData* XnVMultiProcessFlowClient::m_pLastReadState [protected] |
Definition at line 88 of file XnVMultiProcessFlowClient.h.
XnVMultiprocessReadSynchronizer* XnVMultiProcessFlowClient::m_pReadingLock [protected] |
Definition at line 87 of file XnVMultiProcessFlowClient.h.
XnPoint3D XnVMultiProcessFlowClient::m_ptInputHandPoint [protected] |
Definition at line 90 of file XnVMultiProcessFlowClient.h.