Back to the Developer Tools Page
The Motive API exposes some of the fundamental features of the OptiTrack software platform through a C/C++ interface. This allows programmers access to a subset of Motive functions without the graphical user interface. Using the API, you can employ several features of Motive in your custom applications, such as accessing 2D camera images, marker centroid data, unlabeled 3D points, labeled markers, and rigid body tracking data. When you install Motive, all of the required components for utilizing the API are installed within the Motive install directory. The key files for using the Motive API are listed in the below section.
What it offers:
What it doesn't offer
When you install Motive, all of the required components of the Motive API will be placed within the installation directory, and by default, Motive is installed in C:\Program Files\OptiTrack\Motive. The following table lists all of the key files of the API and where they could be found.
This guide introduces some of the commonly used functions of the Motive API.
The following page provides a full list of the Motive API functions.
Many of the Motive API functions return their results as integer values defined NPRESULT. This value expresses the outcome of the result. Not only it indicates whether the function operated successfully or not, but it also provides more detailed information on what type of error has occurred. When you get the NPRESULT output from a function, you can use the TT_GetResultString function to get the plain text result that corresponds to the error message.
const char *TT_GetResultString( NPRESULT result ); // Returns text of detail information on the result.
Also, camera video types, or image processing modes, are expressed as integer values as well. These values are listed below and are commented within the header file as well.
#define NPRESULT_SUCCESS 0
#define NPRESULT_FILENOTFOUND 1
#define NPRESULT_LOADFAILED 2
#define NPRESULT_FAILED 3
#define NPRESULT_INVALIDFILE 8
#define NPRESULT_INVALIDCALFILE 9
#define NPRESULT_UNABLETOINITIALIZE 10
#define NPRESULT_INVALIDLICENSE 11
#define NPRESULT_NOFRAMEAVAILABLE 14
#define NPVIDEOTYPE_SEGMENT 0
#define NPVIDEOTYPE_GRAYSCALE 1
#define NPVIDEOTYPE_OBJECT 2
#define NPVIDEOTYPE_PRECISION 4
#define NPVIDEOTYPE_MJPEG 6