![]() |
OpenNI 1.5.7
|
#include <XnCppWrapper.h>
Public Member Functions | |
ProductionNode (XnNodeHandle hNode=NULL) | |
ProductionNode (const NodeWrapper &other) | |
NodeInfo | GetInfo () const |
XnStatus | AddNeededNode (ProductionNode &needed) |
XnStatus | RemoveNeededNode (ProductionNode &needed) |
void | GetContext (Context &context) const |
Context | GetContext () const |
XnBool | IsCapabilitySupported (const XnChar *strCapabilityName) const |
XnStatus | SetIntProperty (const XnChar *strName, XnUInt64 nValue) |
XnStatus | SetRealProperty (const XnChar *strName, XnDouble dValue) |
XnStatus | SetStringProperty (const XnChar *strName, const XnChar *strValue) |
XnStatus | SetGeneralProperty (const XnChar *strName, XnUInt32 nBufferSize, const void *pBuffer) |
XnStatus | GetIntProperty (const XnChar *strName, XnUInt64 &nValue) const |
XnStatus | GetRealProperty (const XnChar *strName, XnDouble &dValue) const |
XnStatus | GetStringProperty (const XnChar *strName, XnChar *csValue, XnUInt32 nBufSize) const |
XnStatus | GetGeneralProperty (const XnChar *strName, XnUInt32 nBufferSize, void *pBuffer) const |
XnStatus | LockForChanges (XnLockHandle *phLock) |
void | UnlockForChanges (XnLockHandle hLock) |
XnStatus | LockedNodeStartChanges (XnLockHandle hLock) |
void | LockedNodeEndChanges (XnLockHandle hLock) |
const ErrorStateCapability | GetErrorStateCap () const |
ErrorStateCapability | GetErrorStateCap () |
GeneralIntCapability | GetGeneralIntCap (const XnChar *strCapability) |
![]() | |
NodeWrapper (XnNodeHandle hNode) | |
NodeWrapper (const NodeWrapper &other) | |
NodeWrapper & | operator= (const NodeWrapper &other) |
~NodeWrapper () | |
operator XnNodeHandle () const | |
XnNodeHandle | GetHandle () const |
XnBool | operator== (const NodeWrapper &other) |
XnBool | operator!= (const NodeWrapper &other) |
XnBool | IsValid () const |
const XnChar * | GetName () const |
XnStatus | AddRef () |
void | Release () |
void | SetHandle (XnNodeHandle hNode) |
void | TakeOwnership (XnNodeHandle hNode) |
Purpose: The ProductionNode class is a base class for all production nodes and generator nodes. As such, the ProductionNode class is the fundamental base class of the entire OpenNI interface for building and accessing the production graph.
Usage: Base class for all production nodes; not usually instantiated.
Class Overview:
The OpenNI Production Graph is comprised entirely of production nodes of one type or another. The ProductionNode class itself exposes a very limited functionality set. This is the most basic and common functionality set of all the nodes in the graph.
All types of core generator nodes are derived from this ProductionNode class, for example, the xn::DepthGenerator node and the xn::Device node. Each node type has its own set of methods that it supports.
Two of the most important methods provided by the ProductionNode class are IsCapabilitySupported() and GetContext(), both described further below.
Capabilities Mechanism:
In addition to being the base class for all core generator nodes, the ProductionNode class also provides key support for the OpenNI capabilities mechanism. OpenNI defines core functionality which is always supported by all node implementations of a specific node type. Additional optional functionality is also defined by OpenNI and exposed as "capabilities". The ProductionNode class provides the IsCapabilitySupported() method to check if this specific implementation supports a certain capability.
For a comprehensive overview to the Capabilities mechanism see Capabilities Mechanism.
|
inline |
Ctor
[in] | hNode | Node handle |
|
inline |
|
inline |
Adds another node to the list of needed nodes for this node. For full details and usage, see xnAddNeededNode
|
inline |
Gets the node's context.
[out] | context | The node's context. |
Remarks
This method is useful for applications that have to take into account the possibility of multiple contexts. Using this method, the application can access all other nodes and other resources within the same context.
|
inline |
Gets the node's context.
Remarks
This method is useful for applications that have to take into account the possibility of multiple contexts. Using this method, the application can access all other nodes and other resources within the same context.
|
inline |
Gets an xn::ErrorStateCapability object for accessing the functionality of the Error State capability.
Remarks: The application is responsible for first checking if XN_CAPABILITY_ERROR_STATE is supported by calling xn::ProductionNode::IsCapabilitySupported().
|
inline |
Gets an xn::ErrorStateCapability object for accessing the functionality of the Error State capability.
Remarks: The application is responsible for first checking if XN_CAPABILITY_ERROR_STATE is supported by calling xn::ProductionNode::IsCapabilitySupported()
|
inline |
Gets an GeneralIntCapability object for accessing the capability functionality.
Remarks:
It is the application responsibility to check first if the capability is supported by calling IsCapabilitySupported().
[in] | strCapability | Name of the capability to get |
|
inline |
Gets a buffer property. For full details and usage, see xnGetGeneralProperty
|
inline |
Gets information about the node.
Remarks
This method returns a xn::NodeInfo object containing information such as the node description and the identities of dependent nodes.
|
inline |
Gets an integer property. For full details and usage, see xnGetIntProperty
|
inline |
Gets a real property. For full details and usage, see xnGetRealProperty
|
inline |
Gets a string property. For full details and usage, see xnGetStringProperty
|
inline |
Returns whether a production node supports a specific capability.
[in] | strCapabilityName | The capability name to check. |
Remarks
The application specifies the capability by supplying the capability's name in the strCapabilityName parameter. Before attempting to access any capability this method should be used to check that this node actually supports this capability.
|
inline |
Ends changes request on a locked node. For full details and usage, see xnLockedNodeEndChanges
|
inline |
Start changes request on a locked node, without releasing that lock. For full details and usage, see xnLockedNodeStartChanges
|
inline |
Locks a node, not allowing any changes (any "set" function). For full details and usage, see xnLockNodeForChanges
|
inline |
Removes a needed node from the list of needed nodes. For full details and usage, see xnRemoveNeededNode
|
inline |
Sets a buffer property. For full details and usage, see xnSetGeneralProperty
|
inline |
Sets an integer property. For full details and usage, see xnSetIntProperty
|
inline |
Sets a real property. For full details and usage, see xnSetRealProperty
|
inline |
Sets a string property. For full details and usage, see xnSetStringProperty
|
inline |
Unlocks a previously locked node. For full details and usage, see xnUnlockNodeForChanges