FAQ - JohnMcCaffery/NuiLib GitHub Wiki
Why can't I control X feature of Y driver set through the API? The API is designed to abstract over details of individual devices. The public API completely ignores any device specific settings. If you want control over these features there are two mechanisms. Each device implementation will have a header file. If included this should give access to device specific features. By referencing this header directly you are tying your program to one specific device, however you will get more control. The INuiFactory interface also exposes an array of pointers to devices. These can be cast to whatever device you are using and used to control the device specifically. Be very careful using these pointers as changing settings on the devices directly may intefere with how the library accesses the device.
Which file should I link? The NuiLib libraries compile in four different flavours. Release, Release Visual, Debug and Debug Visual. Which flavour a file is is indicated by its postfix. The visual files end in v. The Debug files end in d. Files which are both end in dv and straight release files have no postfix. Visual files are compiled with VISUAL pre-processor flag. Anything compiled like this will show a visual window with the depth map received from the device and any extra debug information (such as the position of skeleton joints) overlaid across it. Debug files are compiled for debug mode. With G++ this means the -g flag. In Visual Studio this means a range of options. Visual Studio debug files must be linked with other debug files (specifically when linking with the OpenCV libraries).
When I try to compile the compiler claims it can't find opencv/cv.h
All OpenCV references are resolved using the OPENCV_DIR
environment variable. If this is not set the compilation targets will not work. To set it run prebuild.bat
or prebuild.sh
. It expects to be pointed at the root OpenCV directory. This should have the sub folder build
.