Skip to content

Commit

Permalink
Nuitrack v0.34.1
Browse files Browse the repository at this point in the history
  • Loading branch information
Ivan-3DiVi committed Nov 3, 2020
1 parent cf55d8c commit 4de7f91
Show file tree
Hide file tree
Showing 49 changed files with 201 additions and 161 deletions.
31 changes: 31 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,34 @@
# Release v0.34.1
**Release Date**: 03 Nov 2020
**Nuitrack Runtime version**: 0.34.1
**Nuitrack SDK version**: 1.9.0

## API Changes

* **`Nuitrack SDK v1.9.0` requires `Nuitrack v0.34.1` to be installed**

### C++ API

* Fixed an occasional compiler error `type has C-linkage specified, but returns UDT which is incompatible with C`

## New Features

* Added support for the **Realsense L515** camera (`Windows x86`, `Windows x86_64`, and `Ubuntu amd64`)
* `NuitrackSDK.unitypackage`:
* connection to the **TVico** and **VicoVR** sensors on `Android` is now possible without installing [VicoVR.apk](https://play.google.com/store/apps/details?id=com.vicovr.manager) (only the `SkeletonTracker` data is transferred)

## Bug Fixes and Improvements

* Fixed the exception handling issue in `nuitrack-windows-x86.exe`
* `NuitrackSDK.unitypackage`:
* fixed issues with *Async Init* mode
* Edited the [Creating an AR Football Game using Nuitrack and ARCore/ARKit](/doc/Unity_AR_Football.md) tutorial

## Known Issues

- USB cameras permission issue on **Android 9 (Pie) or higher**
- Gesture recognition may fail for sitting pose

# Release v0.34.0
**Release Date**: 09 Oct 2020
**Nuitrack Runtime version**: 0.34.0
Expand Down
Binary file modified Examples/nuitrack_csharp_device_api_sample/nuitrack.net.dll
100755 → 100644
Binary file not shown.
Binary file modified Examples/nuitrack_csharp_sample/nuitrack.net.dll
100755 → 100644
Binary file not shown.
Binary file modified Examples/nuitrack_gl_sample/android/libs/nuitrackhelper.jar
Binary file not shown.
Binary file modified Examples/nuitrack_ni_gl_sample/android/libs/nuitrackhelper.jar
Binary file not shown.
8 changes: 4 additions & 4 deletions Nuitrack/include/nuitrack/capi/DepthSensor_CAPI.h
Original file line number Diff line number Diff line change
Expand Up @@ -70,11 +70,11 @@ extern "C" NUITRACK_API NUITRACK_DEPRECATED const uint16_t* nuitrack_GetRgbFrame

extern "C" void NUITRACK_API nuitrack_GetDepthSensorOutputMode(NuitrackModulePtr, tdv::nuitrack::OutputMode*);

extern "C" tdv::nuitrack::Vector3 NUITRACK_API nuitrack_ConvertProjToRealCoordsXYZ(NuitrackModulePtr, int, int, uint16_t);
extern "C" tdv::nuitrack::Vector3 NUITRACK_API nuitrack_ConvertProjToRealCoordsVector3(NuitrackModulePtr, tdv::nuitrack::Vector3);
extern "C" tdv::nuitrack::CVector3 NUITRACK_API nuitrack_ctypes_ConvertProjToRealCoordsXYZ(NuitrackModulePtr, int, int, uint16_t);
extern "C" tdv::nuitrack::CVector3 NUITRACK_API nuitrack_ctypes_ConvertProjToRealCoordsVector3(NuitrackModulePtr, tdv::nuitrack::CVector3);

extern "C" tdv::nuitrack::Vector3 NUITRACK_API nuitrack_ConvertRealToProjCoordsXYZ(NuitrackModulePtr, float, float, float);
extern "C" tdv::nuitrack::Vector3 NUITRACK_API nuitrack_ConvertRealToProjCoordsVector3(NuitrackModulePtr, tdv::nuitrack::Vector3);
extern "C" tdv::nuitrack::CVector3 NUITRACK_API nuitrack_ctypes_ConvertRealToProjCoordsXYZ(NuitrackModulePtr, float, float, float);
extern "C" tdv::nuitrack::CVector3 NUITRACK_API nuitrack_ctypes_ConvertRealToProjCoordsVector3(NuitrackModulePtr, tdv::nuitrack::CVector3);

extern "C" bool NUITRACK_API nuitrack_IsDepthSensorMirror(NuitrackModulePtr);
extern "C" void NUITRACK_API nuitrack_SetDepthSensorMirror(NuitrackModulePtr, bool);
Expand Down
10 changes: 6 additions & 4 deletions Nuitrack/include/nuitrack/modules/DepthSensor.h
Original file line number Diff line number Diff line change
Expand Up @@ -163,7 +163,8 @@ class DepthSensor : public tdv::nuitrack::HeaderOnlyAPI_Module
*/
Vector3 convertProjToRealCoords(const Vector3& p) const
{
return nuitrack_ConvertProjToRealCoordsVector3(_pimpl, p);
CVector3 c_vec { p.x, p.y, p.z };
return Vector3(nuitrack_ctypes_ConvertProjToRealCoordsVector3(_pimpl, c_vec));
}

/**
Expand All @@ -174,7 +175,7 @@ class DepthSensor : public tdv::nuitrack::HeaderOnlyAPI_Module
*/
virtual Vector3 convertProjToRealCoords(size_t x, size_t y, DepthFrame::DataType depth) const
{
return nuitrack_ConvertProjToRealCoordsXYZ(_pimpl, x, y, depth);
return Vector3(nuitrack_ctypes_ConvertProjToRealCoordsXYZ(_pimpl, x, y, depth));
}

/**
Expand All @@ -184,7 +185,8 @@ class DepthSensor : public tdv::nuitrack::HeaderOnlyAPI_Module
*/
virtual Vector3 convertRealToProjCoords(const Vector3& p) const
{
return nuitrack_ConvertRealToProjCoordsVector3(_pimpl, p);
CVector3 c_vec { p.x, p.y, p.z };
return Vector3(nuitrack_ctypes_ConvertRealToProjCoordsVector3(_pimpl, c_vec));
}

/**
Expand All @@ -194,7 +196,7 @@ class DepthSensor : public tdv::nuitrack::HeaderOnlyAPI_Module
*/
virtual Vector3 convertRealToProjCoords(float x, float y, float z) const
{
return nuitrack_ConvertRealToProjCoordsXYZ(_pimpl, x, y, z);
return Vector3(nuitrack_ctypes_ConvertRealToProjCoordsXYZ(_pimpl, x, y, z));
}

bool canUpdate() const
Expand Down
26 changes: 15 additions & 11 deletions Nuitrack/include/nuitrack/modules/NuitrackModule.h
Original file line number Diff line number Diff line change
Expand Up @@ -10,38 +10,42 @@ class ExceptionHolder
{
public:
ExceptionHolder(tdv::nuitrack::ExceptionType type = tdv::nuitrack::OK, std::string message = "")
: type(type), message(message)
: _type(type), _message(message)
{
}

virtual tdv::nuitrack::ExceptionType getType() const { return type; }
virtual void setType(tdv::nuitrack::ExceptionType type) { this->type = type; }
virtual std::string getMessage() const { return message; }
virtual void setMessage(std::string message) { this->message = message; }
virtual ~ExceptionHolder() {}

virtual tdv::nuitrack::ExceptionType getType() const { return _type; }
virtual void setType(tdv::nuitrack::ExceptionType type) { _type = type; }
virtual std::string getMessage() const { return _message; }
virtual void setMessage(std::string message) { _message = message; }

protected:
tdv::nuitrack::ExceptionType type;
std::string message;
tdv::nuitrack::ExceptionType _type;
std::string _message;
};

class AtomicExceptionHolder : public ExceptionHolder {
public:
tdv::nuitrack::ExceptionType getType() const override {
std::lock_guard<std::mutex> lock(_mutex);
return type;
return _type;
}
void setType(tdv::nuitrack::ExceptionType type) override {
std::lock_guard<std::mutex> lock(_mutex);
this->type = type;
_type = type;
}
std::string getMessage() const override {
std::lock_guard<std::mutex> lock(_mutex);
return message;
return _message;
}
void setMessage(std::string message) override {
std::lock_guard<std::mutex> lock(_mutex);
this->message = message;
_message = message;
}

virtual ~AtomicExceptionHolder() {}
private:
mutable std::mutex _mutex;
};
Expand Down
7 changes: 4 additions & 3 deletions Nuitrack/include/nuitrack/types/Color3.h
Original file line number Diff line number Diff line change
Expand Up @@ -6,16 +6,17 @@ namespace tdv
namespace nuitrack
{

extern "C" {

struct Color3
{
Color3(uint8_t red = 0, uint8_t green = 0, uint8_t blue = 0)
: blue(blue), green(green), red(red) {}

uint8_t blue;
uint8_t green;
uint8_t red;
};

}

}
}

Expand Down
12 changes: 12 additions & 0 deletions Nuitrack/include/nuitrack/types/Vector3.h
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,21 @@ namespace tdv
namespace nuitrack
{

extern "C" {

struct CVector3
{
float x;
float y;
float z;
};

}

struct Vector3
{
Vector3(float x = 0, float y = 0, float z = 0) : x(x), y(y), z(z) {}
Vector3(CVector3 c_vec) : x(c_vec.x), y(c_vec.y), z(c_vec.z) {}

float x;
float y;
Expand Down
Binary file modified Nuitrack/lib/android-arm64/libOpenNI.so
Binary file not shown.
Binary file modified Nuitrack/lib/android-arm64/libmiddleware.so
100755 → 100644
Binary file not shown.
Binary file modified Nuitrack/lib/android-arm64/libnuitrack.so
100755 → 100644
Binary file not shown.
Binary file modified Nuitrack/lib/android-arm64/nuitrackhelper.jar
Binary file not shown.
Binary file modified Nuitrack/lib/android/libOpenNI.so
Binary file not shown.
Binary file modified Nuitrack/lib/android/libmiddleware.so
100755 → 100644
Binary file not shown.
Binary file modified Nuitrack/lib/android/libnuitrack.so
100755 → 100644
Binary file not shown.
Binary file modified Nuitrack/lib/android/nuitrackhelper.jar
Binary file not shown.
Binary file modified Nuitrack/lib/csharp/nuitrack.net.dll
100755 → 100644
Binary file not shown.
Binary file modified Nuitrack/lib/linux64/libmiddleware.so
100755 → 100644
Binary file not shown.
Binary file modified Nuitrack/lib/linux64/libnuitrack.so
100755 → 100644
Binary file not shown.
Binary file modified Nuitrack/lib/linux_arm/libmiddleware.so
100755 → 100644
Binary file not shown.
Binary file modified Nuitrack/lib/linux_arm/libnuitrack.so
100755 → 100644
Binary file not shown.
Binary file modified Nuitrack/lib/win32/middleware.lib
Binary file not shown.
Binary file modified Nuitrack/lib/win32/nuitrack.lib
Binary file not shown.
Binary file modified Nuitrack/lib/win64/middleware.lib
Binary file not shown.
Binary file modified Nuitrack/lib/win64/nuitrack.lib
Binary file not shown.
4 changes: 2 additions & 2 deletions Platforms/Nuitrack.apk
Git LFS file not shown
2 changes: 1 addition & 1 deletion Platforms/Nuitrack_arm64.apk
Git LFS file not shown
4 changes: 2 additions & 2 deletions Platforms/nuitrack-linux-armhf.deb
Git LFS file not shown
4 changes: 2 additions & 2 deletions Platforms/nuitrack-ubuntu-amd64.deb
Git LFS file not shown
4 changes: 2 additions & 2 deletions Platforms/nuitrack-windows-x64.exe
Git LFS file not shown
4 changes: 2 additions & 2 deletions Platforms/nuitrack-windows-x86.exe
Git LFS file not shown
4 changes: 2 additions & 2 deletions Unity3D/NuitrackSDK.unitypackage
Git LFS file not shown
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
1.8.1
1.9.0
2 changes: 1 addition & 1 deletion doc/Install.md
Original file line number Diff line number Diff line change
Expand Up @@ -161,7 +161,7 @@ _**Warning**: Kinect SDK v2.0 does not support 32-bit version of Windows._

#### Android

Support for RealSense on Android was added in Nuitrack v.
Support for RealSense on Android was added in Nuitrack v0.26.0.

* Recommended RealSense D415/D435 firmware version is 5.11.1.0
* Rooted and non-rooted devices can be used.
Expand Down
Loading

0 comments on commit 4de7f91

Please sign in to comment.