▼C Reference | This section contains a full API reference of OpenNI for C |
Context | This page details functions for managing an OpenNI context |
Production Node Info | This page describes the functionality of a production node info object. Each info object can represent a possible production node, or an existing one |
Production Node Info List | This page details functions for handling production nodes lists. The lists are implemented as doubly-linked lists, but it's not recommended to access the list members directly. instead, use the provided functions for handling the list |
Queries | This page details functions for building queries. Queries can be used during enumeration, and provide an easy way for filtering results before they return to user |
Enumeration Errors | This page details functions for managing an Enumeration Errors object |
▼Production Nodes Functionality | This page details functions that can be run on production nodes |
▼Production Node | A production node is the most basic unit of processing in OpenNI. The following functions can be executed for every node in an OpenNI context |
Error State Capability | The Error State capability (XN_CAPABILITY_ERROR_STATE) allows a node to report it is now in an error state, and so, might not function correctly. An application may, at all times, check the error state of a node, and it may also register a callback function to be called whenever that state changes |
General Int Capability | The General Int Capability is a set of method that is used by several capabilities. It allows a general range value to be changed. If supported by the node, the value can also be set to XN_AUTO_CONTROL for automatic adjustment |
▼Device | A device node represents a physical device. The following functions can be executed for device nodes in an OpenNI context |
Device Identification Capability | The Device Identification Capability (XN_CAPABILITY_DEVICE_IDENTIFICATION) allows to identify the device according to its name, to a vendor-specific string and its serial number |
▼Generator | A Generator node is a production node that also generates continuous data. It supports all Production Node functions, and adds additional functions |
Mirror Capability | The mirror capability (XN_CAPABILITY_MIRROR) allows mirroring of the data produced by a Generator. Mirroring is useful if the sensor is placed in front of the user (so that it sees the user right hand as the left one), but applications want user to get a more natural feeling of control |
Alternative View Point Capability | The Alternative View Point capability (XN_CAPABILITY_ALTERNATIVE_VIEW_POINT) allows a Generator to transform its data to appear as if the sensor is placed in another location. For example, when more than one sensor is active (or one sensor that produces several outputs coming from close locations, yet not the same one), one sensor can change its data to appear as if coming from the location of the other sensor, so that both data buffers represent the same (for example depth and image maps, where the same coordinates in the map represent the same location is the scene) |
Frame-Sync Capability | The Frame Sync capability (XN_CAPABILITY_FRAME_SYNC) allows two sensors producing frame data to synchronize their frames so that they arrive at the same time. This allows smaller latency between two maps of the same scene (for example depth and image) |
▼Map Generator | A Map Generator node is a Generator that has output data in the form of a pixel map. It supports all Generator functions, and adds additional functions |
Cropping Capability | The Cropping capability (XN_CAPABILITY_CROPPING) allows a Map Generator to output a selected area of the frame instead of the entire frame. When cropping is turned on, the data buffer looks just like resolution is smaller, meaning data is packed. For example if the MapGenerator is working in VGA resolution (640x480) and the application chose a cropping of 300x200, then after first 300 pixels the next pixel row begins. Pixels outside the cropping area are not returned in the buffer (and not just being blacked out). This is very useful for performance boost |
Anti Flicker Capability | The Anti Flicker capability (XN_CAPABILITY_ANTI_FLICKER) allows a Map Generator to time its frames in such a way that no flickering will take place due to electric light frequencies |
▼Depth Generator | A Depth Generator node is a Map Generator that outputs depth maps. It supports all Map Generator functions, and adds additional functions |
User Position Capability | The User Position capability (XN_CAPABILITY_USER_POSITION) allows a Depth Generator to change its output, so that it would be optimized in specific locations in the scene |
Image Generator | An Image Generator node is a Map Generator that outputs image maps. It supports all Map Generator functions, and adds additional functions. Image maps may arrive in different pixel formats |
IR Generator | An IR Generator node is a Map Generator that outputs infra-red maps. It supports all Map Generator functions, and adds additional functions |
Gesture Generator | A Gestures Generator node is a Generator that recognizes certain gestures. It supports all Generator functions, and adds additional functions |
Scene Analyzer | A Scene Analyzer node is a Map Generator that performs scene analysis. It supports all Map Generator functions, and adds additional functions |
▼User Generator | A User Generator node is a Generator that identifies a user in the scene. It supports all Generator functions, and adds additional functions |
Skeleton Capability | The Skeleton capability (XN_CAPABILITY_SKELETON) allows a User Generator to also output the skeleton data of the user, meaning, where every joint is located |
Pose Detection Capability | The Pose capability (XN_CAPABILITY_POSE_DETECTION) allows a User Generator to recognize when the user is in a specific pose |
Hand Touching FOV Edge Capability | The Touching FOV Edge capability (XN_CAPABILITY_HAND_TOUCHING_FOV_EDGE) allows callbacks when a hand (from hands generator) is touching the edge of the FOV |
Hands Generator | A Hands Generator node is a Generator that tracks hand points. It supports all Generator functions, and adds additional functions |
Audio Generator | An Audio Generator node is a Generator that outputs audio data. It supports all Generator functions, and adds additional functions |
Mock Nodes | |
Codec | A Codec node is a Production Node that allows compression and decompression of data. It supports all Production Node functions, and adds additional functions |
Recorder | A Recorder node is a Production Node that allows recording of data. It supports all Production Node functions, and adds additional functions |
Player | A Player node is a Production Node that allows playing of a recording. It supports all Production Node functions, and adds additional functions |
Script Node | A Script node is a Production Node that allows running scripts, and acts as a lifetime manager for nodes created by that script |
Licenses | This page details functions for license management |
Utilities | This page details some utility functions |
▼C++ Reference to Application Programmer Interface (API) | This section contains a full API reference of OpenNI for C++ |
Global Event Handlers | |
Managing the Production Graph | |
Meta-Data Objects (Frame Objects) | |
Production Nodes Functionality | |
Misc | |