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 xn::ProductionNode class provides the IsCapabilitySupported() method to check if this specific implementation supports a certain capability.

In summary, there are two separate functionality sets:

An example of a capability is the MirrorCapability class. When this capability is supported by any particular production node, the application can call its SetMirror() method.