Announcing Structure SDK (Cross-Platform) 0.6.1 for Structure Core


#1

Update (January 18, 2019)

We’re announcing Structure SDK (Cross-Platform) 0.6.1, a follow-up maintenance update to Structure SDK (Cross-Platform) 0.6

Develop with Structure SDK
This package contains Structure SDK for Windows, Linux and Android. Structure SDK for MacOS is not currently available in this release, but is planned for later (contact us for further information).

Stream with Core Playground (for macOS)
This package contains a preview release of Core Playground, a tool that enables testing and tweaking of streaming functionality on Structure Core. You can enable streams for every sensor on the device, adjust their settings, and save frame data. A new, cross-platform version of Core Playground will be released in the future.

Firmware
This SDK requires Structure Core Firmware 0.9.3.

Structure Cores that are on Firmware 0.9.2 should be used with the previous Structure SDK (Cross-Platform) 0.6 which is also included in the latest download. If you wish to update your firmware please contact support support+core@occiptial.com

For more information about this update please check the release notes.

Download

Structure SDK (Cross-Platform) 0.6.1 Download


Announcing Structure SDK (Cross-Platform) 0.6 for the New Structure Core

The Occipital team has been working hard to get Structure SDK (Cross-Platform) ready for use with Structure Core, and we’re excited to say it’s available for download!

Structure SDK (Cross-Platform) 0.6 includes the following:

  • Structure SDK for Windows
  • Structure SDK for Android
  • Structure SDK for Linux (x64, ARM)
  • Core Playground (preview release, for macOS only)

Stream with Core Playground (for macOS)

This package contains a preview release of Core Playground, a tool that enables testing and tweaking of streaming functionality on Structure Core. You can enable streams for every sensor on the device, adjust their settings, and save frame data. If you have access to a Mac, we highly recommend starting with Core Playground to familiarize yourself with Structure Core.

For a more in-depth overview of Core Playground, please watch this Occipital webinar.

Develop with Structure SDK

These packages contain Structure SDK for Windows, Linux, and Android. Within these SDK packages, you’ll receive reference material (README.html) along with the development tools for the different supported platforms: Android, Linux, and Windows.

Setting up a program to stream data directly from Structure Core is as easy as writing a couple dozen lines of code, as seen below:

struct MyCaptureSessionDelegate : public ST::CaptureSessionDelegate {
  void captureSessionDidOutputSample (CaptureSession* session, const CaptureSessionSample& sample) override {
    switch (sample.type) {
      case ST::CaptureSessionSample::Type::SynchronizedFrames:
        // we have sync'd frames!
        // ST::Matrix4 cameraPose = ST::Matrix4::nan();
        // bridgeEngine.provideRgbdFrame(sample.depthFrame, sample.visibleFrame, cameraPose);
        break;
      case ST::CaptureSessionSample::Type::AccelerometerEvent:
        // we have accel data!
        // bridgeEngine.provideAccelData(sample.accelerometerEvent);
        break;
      case ST::CaptureSessionSample::Type::GyroscopeEvent:
        // we have gyro data!
        // bridgeEngine.provideGyroData(sample.gyroscopeEvent);
        break;
    };
  }
};

// configure the options to stream everything needed for tracking
ST::CaptureSessionSettings settings;
settings.structureCore.depthEnabled = true;
settings.structureCore.visibleEnabled = true;
settings.structureCore.accelerometerEnabled = true;
settings.structureCore.gyroscopeEnabled = true;

// create your delegate class
MyCaptureSessionDelegate delegate;

// attach the delegate to a CaptureSession
ST::CaptureSession captureSession;
captureSession.setDelegate(&delegate);

// apply settings and start streaming!
captureSession.startMonitoring(settings);
captureSession.startStreaming();

Download

Structure SDK (Cross-Platform) 0.6 Download

Full Release Notes

This release requires Structure Core firmware version 0.9.2. Note that 0.8.x sensors are incompatible and not field upgradeable. If you are not running 0.9.2 or newer, please contact Occipital immediately.

Release type: Windows, Linux, Android

Firmware: This SDK requires Structure Core Firmware 0.9.2

Supported Platforms: Windows, Android, Linux

Architectures: x86_64 (Windows/Linux), arm64 (Linux/Android)

  • Structure Core is here! Welcome to all the new customers using the brand new enclosed Structure Core. This release is the first to support the new model ST02D (enclosed) Structure Core.
  • Multi-Sensor Support In this release, you can enumerate and stream from multiple Structure Cores to a single computer (but only one per executable). This is Linux-only for now. Other platforms will follow. Access this feature via these new APIs:
    • Added ST::enumerateConnectedSensors which returns a list of all connected Structure Core devices.
    • Added the sensorSerial field to Structure Core settings in ST::CaptureSessionSettings which allows specifying the serial number of a sensor to use. Other connected sensors are ignored when this option is set.