org.openni
Class OpenNI

java.lang.Object
  extended by org.openni.OpenNI

public class OpenNI
extends java.lang.Object

The OpenNI class is a static entry point to the library. It is used by every OpenNI 2.0 application to initialize the SDK and drivers to enable creation of valid device objects. It also defines a listener class and events that enable for event driven notification of device connection, device disconnection, and device configuration changes. In addition, it gives access to SDK version information and provides a function that allows you to wait for data to become available on any one of a list of streams (as opposed to waiting for data on one specific stream with functions provided by the VideoStream class)


Nested Class Summary
static interface OpenNI.DeviceConnectedListener
          The OpenNI.DeviceConnectedListener interface provides a means of registering for, and responding to when a device is connected.
static interface OpenNI.DeviceDisconnectedListener
          The OpenNI.DeviceDisconnectedListener interface provides a means of registering for, and responding to when a device is disconnected.
static interface OpenNI.DeviceStateChangedListener
          The OpenNI::DeviceStateChangedListener interface provides a means of registering for, and responding to when a device's state is changed.
 
Field Summary
static int TIMEOUT_FOREVER
           
 
Constructor Summary
OpenNI()
           
 
Method Summary
static void addDeviceConnectedListener(OpenNI.DeviceConnectedListener deviceListener)
          Add new device connected observer to OpenNI observers list
static void addDeviceDisconnectedListener(OpenNI.DeviceDisconnectedListener deviceListener)
          Add new device connected observer to OpenNI observers list
static void addDeviceStateChangedListener(OpenNI.DeviceStateChangedListener deviceListener)
          Add new device connected observer to OpenNI observers list
static java.util.List<DeviceInfo> enumerateDevices()
          Fills up an array of DeviceInfo DeviceInfo objects with devices that are available.
static java.lang.String getExtendedError()
          Retrieves the calling thread's last extended error information.
static Version getVersion()
          This function return current OpenNI version
static void initialize()
          Initialize the library.
static void removeDeviceConnectedListener(OpenNI.DeviceConnectedListener deviceListener)
          Remove device connected observer to OpenNI observers list
static void removeDeviceDisconnectedListener(OpenNI.DeviceDisconnectedListener deviceListener)
          Remove device connected observer to OpenNI observers list
static void removeDeviceStateChangedListener(OpenNI.DeviceStateChangedListener deviceListener)
          Remove device state changed observer from OpenNI observers list
static void shutdown()
          Stop using the library.
static int waitForAnyStream(java.util.List<VideoStream> streams, int timeout)
          Wait for a new frame from any of the streams provided.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

TIMEOUT_FOREVER

public static final int TIMEOUT_FOREVER
See Also:
Constant Field Values
Constructor Detail

OpenNI

public OpenNI()
Method Detail

initialize

public static void initialize()
Initialize the library. This will load all available drivers, and see which devices are available It is forbidden to call any other method in OpenNI before calling initialize().


shutdown

public static void shutdown()
Stop using the library. Unload all drivers, close all streams and devices. Once shutdown() was called, no other calls to OpenNI is allowed.


getVersion

public static Version getVersion()
This function return current OpenNI version

Returns:
the version of OpenNI

getExtendedError

public static java.lang.String getExtendedError()
Retrieves the calling thread's last extended error information. The last extended error information is maintained on a per-thread basis. Multiple threads do not overwrite each others last extended error information. The extended error information is cleared on every call to an OpenNI method, so you should call this method immediately after a call to an OpenNI method which have failed.

Returns:
OpenNI error String

enumerateDevices

public static java.util.List<DeviceInfo> enumerateDevices()
Fills up an array of DeviceInfo DeviceInfo objects with devices that are available.

Returns:
deviceInfoList An array to be filled with devices.

waitForAnyStream

public static int waitForAnyStream(java.util.List<VideoStream> streams,
                                   int timeout)
                            throws java.util.concurrent.TimeoutException
Wait for a new frame from any of the streams provided. The function blocks until any of the streams has a new frame available, or the timeout has passed.

Parameters:
streams - An list of streams to wait for.
timeout - A timeout before returning if no stream has new data. Default value is TIMEOUT_FOREVER.
Returns:
index of stream which received frame. In case it stop on timeout, function return -1.
Throws:
java.util.concurrent.TimeoutException

addDeviceConnectedListener

public static void addDeviceConnectedListener(OpenNI.DeviceConnectedListener deviceListener)
Add new device connected observer to OpenNI observers list

Parameters:
deviceListener - object which implements DeviceConnectedListener.

removeDeviceConnectedListener

public static void removeDeviceConnectedListener(OpenNI.DeviceConnectedListener deviceListener)
Remove device connected observer to OpenNI observers list

Parameters:
deviceListener - object which implements DeviceConnectedListener.

addDeviceDisconnectedListener

public static void addDeviceDisconnectedListener(OpenNI.DeviceDisconnectedListener deviceListener)
Add new device connected observer to OpenNI observers list

Parameters:
deviceListener - object which implements DeviceDisconnectedListener.

removeDeviceDisconnectedListener

public static void removeDeviceDisconnectedListener(OpenNI.DeviceDisconnectedListener deviceListener)
Remove device connected observer to OpenNI observers list

Parameters:
deviceListener - object which implements DeviceDisconnectedListener.

addDeviceStateChangedListener

public static void addDeviceStateChangedListener(OpenNI.DeviceStateChangedListener deviceListener)
Add new device connected observer to OpenNI observers list

Parameters:
deviceListener - object which implements DeviceConnectedListener.

removeDeviceStateChangedListener

public static void removeDeviceStateChangedListener(OpenNI.DeviceStateChangedListener deviceListener)
Remove device state changed observer from OpenNI observers list

Parameters:
deviceListener - object which implements DeviceConnectedListener.