文章标题
2015-09-25 09:58
741 查看
InteractionBox类(Leap:: InteractionBox)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201908/17/bf260ecfb623c6ea3af813fbde1d1363)
这个类代表了一个完全处于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
这个类代表了一个完全处于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
相关文章推荐
- Leap Motion开发第一步环境配置
- Vector结构体(Leap::Vector)
- Image类(Leap::Image)和ImageList类(Leap::ImageList)
- SwipeGesture类(Leap:: SwipeGesture)
- CircleGesture类(Leap:: CircleGesture)
- Gesture类(Leap::Gesture)和GestureList类(Leap:: GestureList)
- Pointable类(Leap::Pointable)
- Config类(Leap::Config)
- Lisener类(Leap:: Lisener)
- Controller类(Leap:: Controller)
- Connecting to the Controller(与控制器对象连接)
- LeapMotion开发(四)-- Hand模块下的所有Methods用法和说明(上篇)(C++SDK)
- 【Error】ImportError No module named Leap
- 基于raspbian+motion的家庭监控网络
- Android 坐标系与视图坐标系图解
- [Motion]MPU9250的Motion Driver
- MotionEvent 事件解读
- 【手把手教你树莓派3 (六)】使用 motion 和 mjpg 做视频监控器
- Android官方文档之Location and Sensors APIs(下)
- Leap Motion的Image类