天天看点

Device类(Leap:: Device)和 DeviceList类(Leap:: DeviceList)

Device类(Leap:: Device)

这个类代表了一个物理连接设备。这个类包括了与一个特定的连接设备相关的信息,比如设备的ID、与设备相关的视线、以及在相对坐标系中设备的位置和方向。位置和方向描述了相对于用户设备的校准,对用户调整设备提供了在描述用户交互的参数中的一致性。这个类也许是无效的,需要用Device::isValid()函数来测试。

enum Type: 表示Leap Motion控制器可用的几种类型。

TYPE_PERIPHERAL = 1表示独立的USB外部设备。

TYPE_LAPTOP表示Controller嵌入在一个笔记本电脑上。

TYPE_KEYBOARD表示Controller嵌入在一个键盘上。

Device(): 构造一个Device对象。没有初始化的设备被认为是无效的。从Controller::devices()得到的这个DeviceList对象中获得有效的Device对象。

用法:Leap::Device device = controller.devices()[0];

float horizontalViewAngle(): 表示顺着这个设备的x轴的视角。如下图。Leap Motion控制器的扫描区域像一个倒置的金字塔,中心在设备的中心,然后向上延伸。这个函数报告了沿着设备的长边的视角。

用法:float angleOnLongDimension = device.horizontalViewAngle();

Device类(Leap:: Device)和 DeviceList类(Leap:: DeviceList)
Device类(Leap:: Device)和 DeviceList类(Leap:: DeviceList)

float verticalViewAngle(): 表示顺着这个设备的z轴的视角。如上图。这个函数报告了沿着设备的短边的视角。

用法:float angleOnShortDimension = device.verticalViewAngle();

float range(): 表示从设备的中心开始的最大有效跟踪范围。这个距离不是个硬限制,在这个距离以上或开始略低于这个距离跟踪仍然有效,主要取决于校准和极端环境条件。

用法:float range=device.range();

float baseline(): 表示立体视觉传感器的中心点之间的距离。这个值和最大分辨率影响着最大的范围。

float distanceToBoundary(const Vector& position): 表示到Leap Motion控制器视体最近的边的距离。视体是一个坐标对齐的倒金字塔,中心在设备的中心,向上延伸至范围限制。这个函数估计了指定的输入位置到最近的视体的墙或屋顶的距离。

用法:Leap::Pointable frontFinger = controller.frame().fingers().frontmost();

float distanceToBoxWall = device.distanceToBoundary(frontFinger.tipPosition());

bool isEmbedded(): 判断这个设备是否嵌入在另一个电脑或电脑外部设备中。

bool isStreaming(): 判断这个设备对于你的应用程序来说是否是流数据。当前在某一刻只有一个控制器可以提供数据。

bool isFlipped(): 这个函数弃用了,总是返回false。

Type type(): 表示设备的类型。在你有一个依赖于特定类型设备的应用程序特性的情况下,使用这个设备类型值。当前设备类型见枚举类型。

std::string serialNumber(): 一个字母序列数字,每个设备是特有的。用户设备序列号由2个字母+11位数组成。当用多个设备时,这个序列数为每个设备提供了明确的标识符。

bool isValid(): 判断是否是一个有效的Device对象。

const Device& invalid(): 返回一个无效的Device对象。

bool operator==(const Device&): 比较Device对象的相等性。

bool operator !=(const Device&): 比较Device对象的不相等性。

std::string toString(): 表示包含Device对象描述信息的字符串。

DeviceList类(Leap:: DeviceList)

这个类代表了Device对象的列表。调用Controller::devices()得到DeviceList对象。

DeviceList(): 构造一个空的设备列表。

int count(): 返回列表中设备的数目。

bool isEmpty(): 判断这个列表是否为空。

Device operator[](int index): 表示对列表中一个成员位置的访问。返回的是指定索引下的Device对象。

DeviceList & append(const DeviceList & other): 表示把指定的一个DeviceList的成员添加到这个DeviceList对象中。参数other表示一个DeviceList对象,其中包含Device对象,将要添加到这个DeviceList对象末端。

const_iterator begin(): 表示C++的迭代器,设置在这个DeviceList对象的开始。

const_iterator end(): 表示C++的迭代器,设置在这个DeviceList对象的结束。

译自:https://developer.leapmotion.com/documentation/cpp/api/Leap.Device.html

https://developer.leapmotion.com/documentation/cpp/api/Leap.DeviceList.html

继续阅读