Motive API Overview
An introduction to the Motive API.
Important Note:
The Motive API documentation is being updated for 3.1 and some of the functions may not yet be in the documentation. Please refer to the MotiveAPI header file for any information that is not included in the online user guide.
Overview
The Motive API allows access to and control of the backend software platform for Motive via a C/C++ interface, performing Motive functions without the graphical user interface on top. With the API, users can employ several features of Motive in custom applications, such as accessing 2D camera images, marker centroid data, unlabeled 3D points, labeled markers, and Rigid Body tracking data.
All of the required components for utilizing the API are included in the Motive install directory when the application is installed. The key files for using the Motive API are listed in the below section.
What it offers:
Camera control
Frame control
Point Cloud reconstruction engine control
Ability to obtain and use reconstructed 3D Marker data
Rigid body tracking
Query results
Ability to stream results over the network
What it doesn't offer
In-depth hardware control (e.g. hardware sync customization). Use the Camera SDK for this.
Direct support for data recording and playback.
Control over peripheral devices (Force plates and NI-DAQ).
Functionality for Skeleton assets.
Requirements
The Motive API is supported in Windows only
Must have a valid Motive license and a corresponding Hardware key.
Files List
When Motive is installed, all of the required components of the Motive API are placed in folders within the installation directory. By default, this directory is C:\Program Files\OptiTrack\Motive
.
The following section describes the key files of the API and where each is located.
MotiveAPI.h
[Motive Install Directory]\inc\MotiveAPI.h
The header file MotiveAPI.h contains declarations for functions and classes of the API. Necessary functions and classes are thoroughly commented within this file. This header file must be included in the source code for utilizing the Motive API functions.
lib folder
[Motive Install Directory]\lib
This folder includes C++ 64-bit library files (.lib and .dll) for employing the Motive API.
The library is compiled using Visual Studio 2019 with the dynamic run-time (\MD) library, so make sure the client application also uses the same settings.
Samples project
[Motive Install Directory]\Samples\MotiveAPI\
Samples in a Visual Studio project (samples.sln) for accessing Motive functionality such as cameras, markers, and Rigid Body tracking information. Refer to this folder to find out how the API can be used.
Platforms folder
[Motive Install Directory]\plugins
The platforms folder contains qwindows.dll, which is required for running applications using the Motive API. Copy and paste this folder into the EXE directory.
Third-party libraries
[Motive Install Directory]
Third-party DLL libraries are required for all applications built against the API. Please see Motive API: Quick Start Guide for more information.
API Guide / Function Reference
This guide introduces some of the commonly used functions of the Motive API.
A reference guide for Motive API functions, including code samples.
eResult & Video Types
Many of the Motive API functions return their results as integer values defined as an eResult. This value expresses the outcome of the result. eResult values indicate if the function operated successfully, and if not, they provide detailed information on the type of error that occurred.
When you get the eResult output from a function, you can use the MapToResultString function to get the plain text result that corresponds to the error message.
Camera video types, or image processing modes, are expressed as integer values as well. These values are listed below and are also commented within the header file.
eResult Values
Camera Video Type Definitions
Last updated