diff --git a/Makefile b/Makefile index a436a84f..4c666529 100644 --- a/Makefile +++ b/Makefile @@ -12,6 +12,7 @@ # make FORCE_BUILD_CLR=1 # ############################################################################# +export ALLOW_WARNINGS = 1 include ThirdParty/PSCommon/BuildSystem/CommonDefs.mak diff --git a/README b/README deleted file mode 100644 index c91e93f2..00000000 --- a/README +++ /dev/null @@ -1,94 +0,0 @@ -OpenNI ------- - -Website: www.openni.org - -Buliding Prerequisites -====================== -Windows -------- -- Microsoft Visual Studio 2010 - From: http://msdn.microsoft.com/en-us/vstudio/bb984878.aspx -- Microsoft Kinect SDK v1.6 - From: http://go.microsoft.com/fwlink/?LinkID=262831 -- Python 2.6+/3.x - From: http://www.python.org/download/ -- PyWin32 - From: http://sourceforge.net/projects/pywin32/files/pywin32/ - Please make sure you download the version that matches your exact python version. -- JDK 6.0 - From: http://www.oracle.com/technetwork/java/javase/downloads/jdk-6u32-downloads-1594644.html - You must also define an environment variable called "JAVA_HOME" that points to the JDK installation directory. - For example: set JAVA_HOME=c:\Program Files (x86)\Java\jdk1.6.0_32 -- WIX 3.5 - From: http://wix.codeplex.com/releases/view/60102 -- Doxygen - From: http://www.stack.nl/~dimitri/doxygen/download.html#latestsrc -- GraphViz - From: http://www.graphviz.org/Download_windows.php - -Linux ------ -- GCC 4.x - From: http://gcc.gnu.org/releases.html - Or via apt: - sudo apt-get install g++ -- Python 2.6+/3.x - From: http://www.python.org/download/ - Or via apt: - sudo apt-get install python -- LibUSB 1.0.x - From: http://sourceforge.net/projects/libusb/files/libusb-1.0/ - Or via apt: - sudo apt-get install libusb-1.0-0-dev -- LibUDEV - sudo apt-get install libudev-dev -- JDK 6.0 - From: http://www.oracle.com/technetwork/java/javase/downloads/jdk-6u32-downloads-1594644.html - Or via apt: - Ubuntu 10.x: - sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner" - sudo apt-get update - sudo apt-get install sun-java6-jdk - Ubuntu 12.x: - sudo apt-get install openjdk-6-jdk -- FreeGLUT3 - From: http://freeglut.sourceforge.net/index.php#download - Or via apt: - sudo apt-get install freeglut3-dev -- Doxygen - From: http://www.stack.nl/~dimitri/doxygen/download.html#latestsrc - Or via apt: - sudo apt-get install doxygen -- GraphViz - From: http://www.graphviz.org/Download_linux_ubuntu.php - Or via apt: - sudo apt-get install graphviz - -Android -------- -- Android NDK r8d - From: http://developer.android.com/tools/sdk/ndk/index.html#Downloads - -Building -======== -Building on Windows: - Open the solution OpenNI.sln - -Building on Linux: - Run: - $ make - -Cross-Compiling for ARM on Linux: - The following environment variables should be defined: - - ARM_CXX= - - ARM_STAGING= - Then, run: - $ PLATFORM=Arm make - -Creating OpenNI2 package: - - Go into the directory 'Packaging' - - Run ReleaseVersion.py [x86|x64|arm|android] - NOTE: for android, NDK_ROOT must be defined, pointing to the NDK installation dir. - - Installer will be placed in the 'Final' directory - diff --git a/README.md b/README.md new file mode 100644 index 00000000..91443b07 --- /dev/null +++ b/README.md @@ -0,0 +1,170 @@ +# OpenNI + +**Structure Core customers:** OpenNI does not currently support Structure Core. To start developing with Structure Core download *Structure SDK (Cross-Platform)* on the [Developer Portal](https://developer.structure.io/sdk). + + +OpenNI2 homepage: http://structure.io/openni + +## Develop branch ## + +The latest ongoing development is currently being done in the develop branch. Refer to README and ReleasesNotes in the develop branch for up to date build instructions. + +## Contributing ## + +Pull requests that do not apply cleanly on top of the [`develop` branch head](http://github.com/occipital/OpenNI2/tree/develop) will be rejected. + +Other than that, sensible and meaningful contributions are very welcome! + +## Building Prerequisites + +### Windows + +- Microsoft Visual Studio 2010 + + - Download and install from: http://msdn.microsoft.com/en-us/vstudio/bb984878.aspx + +- Microsoft Kinect SDK v1.6 + + - Download and install from: http://go.microsoft.com/fwlink/?LinkID=262831 + +- Python 2.6+/3.x + + - Download and install from: http://www.python.org/download/ + +- PyWin32 + + - Download and install from: http://sourceforge.net/projects/pywin32/files/pywin32/ + + Please make sure you download the version that matches your exact python version. + +- JDK 6.0 + + - Download and install from: http://www.oracle.com/technetwork/java/javase/downloads/jdk-6u32-downloads-1594644.html + + You must also define an environment variable called `JAVA_HOME` that points to the JDK installation directory. For example: + + set JAVA_HOME=c:\Program Files (x86)\Java\jdk1.6.0_32 + +- WIX 3.5 + + - Download and install from: http://wix.codeplex.com/releases/view/60102 + +- Doxygen + + - Download and install from: http://www.stack.nl/~dimitri/doxygen/download.html#latestsrc + +- GraphViz + + - Download and install from: http://www.graphviz.org/Download_windows.php + +### Linux + +- GCC 4.x + + - Download and install from: http://gcc.gnu.org/releases.html + + - Or use `apt`: + + sudo apt-get install g++ + +- Python 2.6+/3.x + + - Download and install from: http://www.python.org/download/ + + - Or use `apt`: + + sudo apt-get install python + +- LibUSB 1.0.x + + - Download and install from: http://sourceforge.net/projects/libusb/files/libusb-1.0/ + + - Or use `apt`: + + sudo apt-get install libusb-1.0-0-dev + +- LibUDEV + + sudo apt-get install libudev-dev + +- JDK 6.0 + + - Download and install from: http://www.oracle.com/technetwork/java/javase/downloads/jdk-6u32-downloads-1594644.html + + - Or use `apt`: + + - On Ubuntu 10.x: + + sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner" + sudo apt-get update + sudo apt-get install sun-java6-jdk + + - On Ubuntu 12.x: + + sudo apt-get install openjdk-6-jdk + +- FreeGLUT3 + + - Download and install from: http://freeglut.sourceforge.net/index.php#download + + - Or use `apt`: + + sudo apt-get install freeglut3-dev + +- Doxygen + + - Download and install from: http://www.stack.nl/~dimitri/doxygen/download.html#latestsrc + + - Or use `apt`: + + sudo apt-get install doxygen + +- GraphViz + + - Download and install from: http://www.graphviz.org/Download_linux_ubuntu.php + + - Or use `apt`: + + sudo apt-get install graphviz + +### Android + +- Download and install the Android NDK version **r8d**. Newer versions will **NOT** work. + +- For Mac OS X: http://dl.google.com/android/ndk/android-ndk-r8d-darwin-x86.tar.bz2 +- For Windows: http://dl.google.com/android/ndk/android-ndk-r8d-windows.zip +- For Linux: http://dl.google.com/android/ndk/android-ndk-r8d-linux-x86.tar.bz2 + + Building Android packages requires the NDK_ROOT environment variable to be defined, and its value must be pointing to the NDK installation dir: `NDK_ROOT=/path/to/android-ndk-r8d` + +## Building + +### Building on Windows: + + Open the solution `OpenNI.sln` + +### Building on Linux: + + Run: + + make + +### Cross-Compiling for ARM on Linux + + The following environment variables should be defined: + +- `ARM_CXX=path-to-cross-compilation-g++` +- `ARM_STAGING=path-to-cross-compilation-staging-dir` + +Then, run: + + PLATFORM=Arm make + +### Creating OpenNI2 packages + + - Go into the directory `Packaging` + - Run: + + ReleaseVersion.py [x86|x64|arm|android] + + - The installer will be placed in the `Final` directory diff --git a/Source/Core/OniStream.cpp b/Source/Core/OniStream.cpp index 435dde69..096c158a 100644 --- a/Source/Core/OniStream.cpp +++ b/Source/Core/OniStream.cpp @@ -399,9 +399,15 @@ OniStatus VideoStream::convertDepthToWorldCoordinates(float depthX, float depthY float normalizedX = depthX / m_worldConvertCache.resolutionX - .5f; float normalizedY = .5f - depthY / m_worldConvertCache.resolutionY; - *pWorldX = normalizedX * depthZ * m_worldConvertCache.xzFactor; - *pWorldY = normalizedY * depthZ * m_worldConvertCache.yzFactor; - *pWorldZ = depthZ; + OniVideoMode videoMode; + int size = sizeof(videoMode); + getProperty(ONI_STREAM_PROPERTY_VIDEO_MODE, &videoMode, &size); + + float const convertToMillimeters = (videoMode.pixelFormat == ONI_PIXEL_FORMAT_DEPTH_100_UM) ? 10.f : 1.f; + *pWorldX = (normalizedX * depthZ * m_worldConvertCache.xzFactor) / convertToMillimeters; + *pWorldY = (normalizedY * depthZ * m_worldConvertCache.yzFactor) / convertToMillimeters; + *pWorldZ = depthZ / convertToMillimeters; + return ONI_STATUS_OK; } diff --git a/Source/Drivers/Kinect/Kinect.vcxproj b/Source/Drivers/Kinect/Kinect.vcxproj index f54e8b2f..cb29d9ff 100644 --- a/Source/Drivers/Kinect/Kinect.vcxproj +++ b/Source/Drivers/Kinect/Kinect.vcxproj @@ -68,15 +68,11 @@ $(SolutionDir)Bin\$(Platform)-$(Configuration)\OpenNI2\Drivers\ $(SolutionDir)Bin\Intermediate\$(Platform)-$(Configuration)\$(ProjectName)\ - $(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSdkDir)include;$(FrameworkSDKDir)\include - $(VCInstallDir)lib;$(VCInstallDir)atlmfc\lib;$(WindowsSdkDir)lib;$(FrameworkSDKDir)\lib; true $(SolutionDir)Bin\$(Platform)-$(Configuration)\OpenNI2\Drivers\ $(SolutionDir)Bin\Intermediate\$(Platform)-$(Configuration)\$(ProjectName)\ - $(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSdkDir)include;$(FrameworkSDKDir)\include; - $(VCInstallDir)lib\amd64;$(VCInstallDir)atlmfc\lib\amd64;$(WindowsSdkDir)lib\x64; true diff --git a/Source/Tools/NiViewer/Makefile b/Source/Tools/NiViewer/Makefile index 1eba049a..1b5714d1 100644 --- a/Source/Tools/NiViewer/Makefile +++ b/Source/Tools/NiViewer/Makefile @@ -26,7 +26,7 @@ else endif LIB_DIRS += ../../../ThirdParty/PSCommon/XnLib/Bin/$(PLATFORM)-$(CFG) -USED_LIBS += OpenNI2 XnLib +USED_LIBS += OpenNI2 XnLib pthread EXE_NAME = NiViewer diff --git a/ThirdParty/GL/glh/glh_convenience.h b/ThirdParty/GL/glh/glh_convenience.h index 9dae8c90..6700ac45 100644 --- a/ThirdParty/GL/glh/glh_convenience.h +++ b/ThirdParty/GL/glh/glh_convenience.h @@ -47,12 +47,6 @@ // with opengl... - -// debugging hack... -#include - -using namespace std; - #ifdef MACOS #include #else diff --git a/ThirdParty/PSCommon/XnLib/Source/Win32/XnWin32Network.cpp b/ThirdParty/PSCommon/XnLib/Source/Win32/XnWin32Network.cpp index ea003c2f..3ab5ee53 100644 --- a/ThirdParty/PSCommon/XnLib/Source/Win32/XnWin32Network.cpp +++ b/ThirdParty/PSCommon/XnLib/Source/Win32/XnWin32Network.cpp @@ -21,6 +21,9 @@ //--------------------------------------------------------------------------- // Includes //--------------------------------------------------------------------------- + +#define _WINSOCK_DEPRECATED_NO_WARNINGS 1 + #include #include #include diff --git a/ThirdParty/PSCommon/XnLib/Source/Win32/XnWin32OS.cpp b/ThirdParty/PSCommon/XnLib/Source/Win32/XnWin32OS.cpp index bd7571ed..c4448c16 100644 --- a/ThirdParty/PSCommon/XnLib/Source/Win32/XnWin32OS.cpp +++ b/ThirdParty/PSCommon/XnLib/Source/Win32/XnWin32OS.cpp @@ -197,8 +197,12 @@ XN_C_API XnStatus xnOSGetInfo(xnOSInfo* pOSInfo) // Get OS Info OSVERSIONINFOEX osVersionInfo; osVersionInfo.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEX); - if (0 == GetVersionEx((LPOSVERSIONINFO)&osVersionInfo)) - { + +#pragma warning(push) +#pragma warning(disable:4996) + if (0 == GetVersionEx((LPOSVERSIONINFO)&osVersionInfo)) +#pragma warning(pop) + { DWORD nErr = GetLastError(); xnLogWarning(XN_MASK_OS, "Failed getting OS version information. Error code: %d", nErr); return XN_STATUS_ERROR; diff --git a/ThirdParty/PSCommon/XnLib/ThirdParty/GL/glh/glh_convenience.h b/ThirdParty/PSCommon/XnLib/ThirdParty/GL/glh/glh_convenience.h index 9dae8c90..c8e7e61e 100644 --- a/ThirdParty/PSCommon/XnLib/ThirdParty/GL/glh/glh_convenience.h +++ b/ThirdParty/PSCommon/XnLib/ThirdParty/GL/glh/glh_convenience.h @@ -46,13 +46,6 @@ // Convenience methods for using glh_linear objects // with opengl... - - -// debugging hack... -#include - -using namespace std; - #ifdef MACOS #include #else