Leapmotion开发笔记2——System Architecture系统架构

来源:互联网 发布:js 12.7mm 编辑:程序博客网 时间:2024/06/09 23:29

系统架构

Leapmotion软件在Windows系统下是作为服务器(Service)或者在Mac,Linux系统下作为daemon。该软件通过USB总线连接到Leap Motion控制器上。基于Leapmotion开发的应用程序通过连接Leap Motion服务器来接收运动捕捉数据。

应用程序接口

Leap Motion SDK提供两种API来获取Leap Motion的数据:一种是原生应用程序的接口 另一种是基于WebSocket接口。这两个API使得Leapmotion的应用程序可以由多种的编程语言实现,包括使用Javascript编写的网页。其中,原生应用程序接口是动态链接库,可以使用这个库来创建Leapmotion应用程序。WebSocket接口和Javascript客户端库可以结合起来编写Leapmotion的网络应用程序。(大概是两种通信形式吧,之前做的TUIO和PQLab'的SDK应该都是基于网络通信的,都是从某个网络端口来获取信息的)

Native Application Interface 本地应用程序接口

本地应用程序接口是由动态链接库提供的。这个库链接了Leap Motion 服务器 并提供追踪到的数据给应用程序。可以使用C++和Objective-C应用程序直接链接。或者Java,C#,Python都可以。


下面的1、2、3、4对应图中的4个部分。

1、Leap motion服务器通过USB总线从Leap motion控制器接收数据。它处理并发送这些数据给运行的Leapmotion应用程序。默认情况下,服务器只传递追踪的数据给前台应用程序。但应用程序可以请求在后台接受数据。

2、Leap Setting App和Leapmotion服务器是分开的,是一个控制面板程序,是给用户配置Leapmotion控制器的一个控制面板小应用。这个是只要要使用Leapmotion就需要先安装的。

3、前台应用程序接受服务器传来的运动捕捉数据。Leapmotion应用程序可以通过Leap motion native libary来连接服务器。

4、当一个Leapmotion应用程序失去了操作系统的焦点,大概就是变成了后台应用程序,Leapmotion将不再向他传数据。如果想在后台运行的应用程序可以向服务器请求在后台接收数据的许可。

Websocket的接口就不看了,应该是用C++的



原创粉丝点击