Rust bindings for OpenNI2.
The reference vendor files were built with bindgen using this command, with a few additional edits:
bindgen vendor/OniCAPI.h -o src/lib.rs --whitelist-function oni.* --whitelist-type Oni.* --whitelist-var ONI_.*
OpenNI2 usually expects to be dynamically linked, and requires env variables to indicate where the libraries are.
The build script first checks the env vars OPENNI2_LIB
/OPENNI2_LIB64
which (per the OpenNI2 installation instructions) is the location of OpenNI2.lib
on Windows. Then it checks OPENNI2_REDIST
/OPENNI2_REDIST64
which is the location
of libOpenNI2.dylib
or libOpenNI2.so
on OSX or Linux.
The env var OPENNI2_LIB(64)
only needs to be set on Windows, so there should not
be any conflicts from the build script checking all four possible variables.
The location in OPENNI2_REDIST(64)
should be added to your PATH
, or else
copy OpenNI2.dll
, libOpenNI2.dylib
, or libOpenNI2.so
to the executable's
directory.
These bindings are distributed under the MIT license, which I don't exactly know what it means, but was recommended and idgaf.
This repository contains headers for OpenNI2 with a Primsense Ltd. copyright, but they exist for reference and are not part of the compiled crate that's distributed through Crates.io.