Public Member Functions | Protected Member Functions | Protected Attributes

XnVMultiProcessFlowClient Class Reference

#include <XnVMultiProcessFlowClient.h>

Inheritance diagram for XnVMultiProcessFlowClient:
Inheritance graph
[legend]
Collaboration diagram for XnVMultiProcessFlowClient:
Collaboration graph
[legend]

List of all members.

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)
XnVHandPointContextGetLocalContext (XnUInt32 nID)
void SendEventsForStateDiff (const XnVNiteMultiprocessData &NewState)

Protected Attributes

XnVMultiprocessReadSynchronizer * m_pReadingLock
XnVNiteMultiprocessData * m_pLastReadState
XnVHandPointContextm_pInputHandContext
XnPoint3D m_ptInputHandPoint
XnVIntContextHash * m_pExistingPointContexts
XnVMultipleHands m_Hands

Detailed Description

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.


Constructor & Destructor Documentation

XnVMultiProcessFlowClient::XnVMultiProcessFlowClient ( const XnChar *  sOutputSectionName,
const XnChar *  strName = "XnVMultiProcessFlowClient" 
)

Create a XnVMultiProcessFlowClient

Parameters:
[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


Member Function Documentation

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.

Returns:
XN_STATUS_OK on successful init, XN_STATUS_* error code otherwise
XnStatus XnVMultiProcessFlowClient::LosePoint ( XnUInt32  nID  )  [virtual]

Lose point - required API of XnVSessionGenerator. Can't lose points in multi-process.

Returns:
XN_STATUS_ERROR

Implements XnVSessionGenerator.

XnStatus XnVMultiProcessFlowClient::LosePoints (  )  [virtual]

Lose all points - required API of XnVSessionGenerator. Can't lose points in multi-process.

Returns:
XN_STATUS_ERROR

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.

Returns:
XN_STATUS_OK on successful init, XN_STATUS_* error code otherwise
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]

Member Data Documentation

Definition at line 93 of file XnVMultiProcessFlowClient.h.

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.

Definition at line 90 of file XnVMultiProcessFlowClient.h.


The documentation for this class was generated from the following file: