来自Wiki
跳转至: 导航搜索

Motive API允许通过C / C ++接口控制和访问Motive的后端软件平台。换句话说,Motive API提供的Motive功能没有顶部的图形用户界面。使用API​​,您可以在自定义应用程序中使用Motive的多个功能,例如访问2D摄像机图像,标记质心数据,未标记的3D点,标记的标记和刚体跟踪数据。安装Motive时,使用API​​的所有必需组件都安装在Motive安装目录中。以下部分列出了使用Motive API的关键文件。

提供了什么

  • 相机控制
  • 帧控制
  • 点云重建引擎控制
  • 获取并使用重建的3D标记数据
  • 刚体追踪
  • 查询结果
  • 通过网络传输结果

没有提供什么

  • 深入的硬件控制(例如硬件同步定制)。请改用Camera SDK。
  • 直接支持数据记录和回放。
  • 控制外围设备(力板和NI-DAQ)。
  • 骨架资产的功能。

要求

  • 仅在Windows中支持Motive API
  • 必须具有有效的Motive许可证和相应的硬件密钥。

更新说明

  • 从2.1版开始,不推荐使用32位NPTrackingTools库。

文件列表


安装Motive时,Motive API的所有必需组件都将放在安装目录中,默认情况下会安装Motive C:\Program Files\OptiTrack\Motive。下表列出了API的所有关键文件以及可以找到它们的位置。

文件名 目录 描述
NPTrackingTools.h [Motive 安装目录]\inc\NPTrackingTools.h 头文件NPTrackingTools.h包含API的函数和类的声明。必要的函数和类在此文件中进行了彻底的注释。在源代码中,此头文件必须是#included才能使用Motive API函数。
RigidBodySettings.h [Motive 安装目录]\inc\RigidBodySettings.h 头文件RigidBodySettings.h包含cRigidBodySettings类的类声明,该类用于修改和配置刚体资产的设置。此头文件包含在NPTrackingTools.h文件中,因此没有必要单独包含此文件。
lib 文件夹 [Motive 安装目录]\lib 此文件夹包含用于使用Motive API的C ++ 64位库文件(.lib和.dll)。使用带有动态运行时(\ MD)库的Visual Studio 2013编译库,因此请确保客户端应用程序也使用相同的设置。
示例项目 [Motive 安装目录]\Samples\markers 此文件夹包含一个示例Visual Studio项目(marker.sln),该项目使用Motive API访问摄像机,标记和刚体跟踪信息。请参阅此文件夹以了解如何使用API​​。
平台文件夹 [Motive 安装目录]\plugins\ platforms文件夹位于plugins文件夹中,它包含qwindows.dll,这是使用Motive API运行应用程序所必需的。将此文件夹复制并粘贴到EXE目录中。
第三方库 [Motive 安装目录] 针对API构建的所有应用程序都需要第三方DLL库。有关更多信息, 请参阅Motive API: Quick Start Guide

API指南/功能参考


快速入门指南:Motive API

本指南介绍了Motive API的一些常用功能。

Motive API函数参考

以下页面提供了Motive API函数的完整列表。

2016-06-23 10 42 07-Support - OptiTrack.png
APIHeaderGlance.png

NPRESULT和视频类型


许多Motive API函数将结果作为定义为NPRESULT的整数值返回。该值表示结果的结果。它不仅表明功能是否成功运行,而且还提供有关发生何种类型错误的更详细信息。从函数获取NPRESULT输出时,可以使用TT_GetResultString函数获取与错误消息对应的纯文本结果。

const char		*TT_GetResultString( NPRESULT result ); //返回结果的详细信息文本。

此外,相机视频类型或图像处理模式也表示为整数值。下面列出了这些值,并在头文件中进行了注释。

NPRESULT 值

#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