NITE 1.5.1 - API Reference

XnVMultiProcessFlowClient Class Reference

#include <XnVMultiProcessFlowClient.h>

Inheritance diagram for XnVMultiProcessFlowClient:
Collaboration diagram for XnVMultiProcessFlowClient:

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

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 31 of file XnVMultiProcessFlowClient.h.


Constructor & Destructor Documentation

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

Create a XnVMultiProcessFlowClient

Parameters:
[in]sOutputSectionNameThe name of the Shared Memory section which we will read from
[in]strNameName 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.


Member Data Documentation

Definition at line 90 of file XnVMultiProcessFlowClient.h.

XnVNiteMultiprocessData* XnVMultiProcessFlowClient::m_pLastReadState [protected]

Definition at line 87 of file XnVMultiProcessFlowClient.h.

XnVMultiprocessReadSynchronizer* XnVMultiProcessFlowClient::m_pReadingLock [protected]

Definition at line 86 of file XnVMultiProcessFlowClient.h.

Definition at line 89 of file XnVMultiProcessFlowClient.h.


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