文章标题

InteractionBox类(Leap:: InteractionBox)

这里写图片描述

这个类代表了一个完全处于Leap Motion控制器视线内的盒状区域。InteractionBox是一个轴对齐的直角棱镜,在它的的盒中提供了手、手指和工具的归一化坐标。这个类使得把Leap Motion坐标系下的坐标映射为2D或3D坐标变的很容易。这个区域定义为一个中心和x,y,z轴三个维度。从Frame对象中可以得到一个InteractionBox对象。
Vector center(): 表示InteractionBox的中心(设备的坐标,毫米为单位),这个点到合资的各边等距。
用法:Vector boxCenter=InteractionBox.center();
Vector normalizePoint(const Vector & Position,bool clamp =true): 表示用这个盒子归一化一个点的坐标。Leap Motion坐标系下的坐标被转化到0到1的范围内,即InteractionBox的最小值映射为0,InteractionBox的最大值映射为1.其中参数position是输入位置的设备坐标,参数clamp判断当输入位置在InteractionBox之外,是否要把输出的值限制在0到1的范围内,默认为true。
Vector denormalizePoint(const Vector & normalizePosition): 把由归一化的InteractionBox坐标定义的位置转化为设备坐标(毫米为单位)。这个函数是normalizePoint()的逆。
用法:InteractionBox interactionBox = frame.interactionBox();
Vector point = Vector(100, 75, -125);
Vector normalizedCoordinates = interactionBox.normalizePoint(point, false);
Vector denormalizedCoordinates = interactionBox.denormalizePoint(normalized
Coordinates);
// denormalizedCoordinates == point
float depth(): 表示InteractionBox的深度(毫米为单位)。
用法:float boxDimensionAlongZAxis = interactionBox.depth();
float height(): 表示InteractionBox的高度(毫米为单位)。
用法:float boxDimensionAlongYAxis = interactionBox.height();
float width(): 表示InteractionBox的宽度(毫米为单位)。
用法:float boxDimensionAlongXAxis = interactionBox.width();
bool isValid(): 判断这是否是个有效的InteractionBox对象。如果这个对象包含有效的数据,返回True。
bool operator!=(const InteractionBox & other): 比较InteractionBox对象是否不相等。两个InteractionBox对象相等当且仅当都表示同样的一个InteractionBox,而且都是有效的。
bool operator==(const Vector & other): 比较InteractionBox对象是否相等。
std::string toString(): 表示一个包含对InteractionBox对象的简单描述的字符串。

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值