NAVTOR SDK  v.3.0
Software Development Kit for fast and efficient development of ECDIS, ECS and generic marine applications
Samples

This section includes description of samples provided together with the SDK. Samples included in the SDK developer pack are fully functional samples that you can build and run to see how the SDK works. You can reuse any of the code and techniques in the samples.

C# Samples

OpenGL for a Unity Application

The SDK OpenGL Unity demo shows how to use the OpenGL engine in a Unity application.
The sample name is sdk_opengl_unity.
For more details, see the readme.txt file in the demo folder.

OpenGL for a WPF Application

The SDK WPF GL demo shows how to use the OpenGL engine for a WPF application.
The sample includes the following functions:

  • map rendering
  • use of settings
  • ERBL tool

The sample name is sdk_sample_wpf_gl.

OpenGL for a WPF Application with OpenTK

The SDK WPF GL OpenTK demo shows how to use the OpenGL engine for a WPF application with the OpenTK library.
The sample includes the following functions:

  • map rendering
  • use of settings
  • ERBL tool
  • grounding check

The sample name is sdk_sample_wpf_gl_OpenTK.

Software Engine for a WPF Application

The Software Engine for a WPF Application demo shows how to use the software engine for a WPF application.
The sample includes the following functions:

  • map rendering
  • route display
  • voyage mode
  • chart settings
  • ERBL function
  • Manual Updates function.

The sample name is sdk_sample_wpf.

C++ Samples

ECDIS Demo

ECDIS demo shows how to use basic functions of SDK in a QT application with the software engine.
Demonstration of the following functions is included:

  • map rendering
  • own ship display
  • routes display
  • voyage monitoring mode
  • own ship tracking mode
  • AIS targets (to see AIS targets, send them to localhost (127.0.0.1) port 5555)
  • radar overlay
  • s-57 to SENC compilation
  • grounding check

The sample name is ecdis_demo_1.

ECDIS Demo for GL

ECDIS demo GL shows how to use basic functions of SDK in a QT application with the OpenGL engine.
Demonstration of the following functions is included:

  • map rendering
  • own ship display
  • routes display
  • voyage monitoring mode
  • own ship tracking mode
  • AIS targets (to see AIS targets, send them to localhost (127.0.0.1) port 5555)
  • grounding check
  • arpa targets
  • radar overlay
  • anchor watch
  • MOB
  • mariners' objects
  • user chart
  • manual update

The sample name is ecdis_demo_1_gl.

Manual Update Demo for QT

Manual Update demo for QT shows how to use the manual updates function in a QT application with the software engine.
The sample name is manual_update_demo_qt.

SDK QML GL Demo

Starting with the version 3.0, the NAVTOR SDK supports two rendering platforms: software rendering and GPU accelerated rendering with OpenGL.

SDK QML GL Demo Description

The SDK OpenGL QML sample demonstrates the GPU accelerated OpenGL chart rendering technics in the Qt Quick (c) application with the use of the shared texture.

The sample consists of the following folders:

  • /pro - project files
  • /res – resources
  • /src – sources
  • src/backend – classes that interact with the NAVTOR SDK
  • src/gui - the user interface.

The application is based on QQuickView and uses QQuickFramebufferObject to integrate the NAVTOR SDK GPU accelerated OpenGL chart rendering.

The important detail in integration of the chart rendering is when and how to get the OpenGL context from the Qt Quick scene graph and how to synchronize the Qt Quick scene graph rendering with the NAVTOR SDK chart rendering.

It’s important because in this sample the NAVTOR SDK OpenGL renderer uses the shared texture, which allows to use the rendered texture by identifier without extracting the texture from one OpenGL context (NAVTOR SDK) to another (Qt Quick).

This method gives a performance advantage, although it is a bit more complicated, because it requires a synchronization mechanism.

Below are the sequence diagrams of the application startup and rendering.

How to build on Linux x64

  1. Open the sdk_sample_qml_gl.pro file in Qt Creator (c)
  2. Configure project
  3. Add Addition arguments: BUILDTYPE=Debug_x64 or Release_x64 depending on the build configuration. See below:

SDK QML Demo

SDK QML Demo shows how to render the map in a QT QML application with a software engine.
The sample name is sdk_sample_qml.

SDK QML User Objects Demo

SDK QML User Objects Demo shows how to use the User chart function in a QT QML application with a software engine.
The sample name is sdk_sample_qml_user_objetcs.