Tool类(Leap::Tool)
这个类代表一个跟踪的工具,其实是一种被判定为工具的Pointable对象,需要从Frame对象中得到有效的Tool对象。Tool对象也可以是无效的,可以用Tool::isValid()函数来测试有效性。
Tool(): 构造一个Tool对象。没有初始化的工具被认为是无效的。从Frame对象中得到Tool对象。
用法:Leap::Tool frontTool=frame.tools().frontmost();
Tool(const Pointable&): 如果指定的Pointable对象代表一个工具,则作为一个Tool对象复制这个对象,否则就创建一个无效的Tool对象。
说明:Leap::Tool tool=Leap::Tool::invalid();
if (pointable.isTool()) {
tool=Leap::Tool(pointable);
}
std::string toString(): 一个包含简略描述该Tool对象的字符串。
const Finger & invalid(): 返回一个无效Finger对象。还是用来判断对象是否有效。
ToolList类(Leap::ToolList)
这个类代表了Tool对象的列表。通过调用Frame:: tools()可以得到一个ToolList对象。
Leap::ToolList allToolsInFrame = frame.tools();
ToolList & append(const ToolList & other): 表示把指定的一个ToolList的成员添加到这个ToolList对象中。参数other表示一个ToolList对象,其中包含Tool对象,将要添加到这个ToolList对象末端。
const_iterator begin(): 表示C++的迭代器,设置在这个ToolList对象的开始。
用法:Leap::ToolList tools = frame.tools();
for (Leap:: ToolList::const_iterator tl = tools.begin(); tl != tools.end(); tl++)
std::cout << *tl << std::endl;
int count(): 表示这个列表中工具的数目。
const_iterator end(): 表示C++的迭代器,设置在这个ToolList对象的结束。
用法:Leap::ToolList tools = frame.tools();
for (Leap:: ToolList::const_iterator tl = tools.begin(); tl != tools.end(); tl++)
std::cout << *tl << std::endl;
Tool frontmost(): 表示在Leap Motion参照系下这个列表中最靠前的成员(也就是z值最小)。
用法:Leap::Tool frontmostTool=frame. tools().frontmost();
bool isEmpty(): 判断这个列表是否为空。如果没有成员,返回True。
Tool leftmost(): 表示在Leap Motion参照系下这个列表中最靠左的成员(也就是x值最小)。
用法:Leap::Tool leftmostTool=frame. tools().leftmost();
Tool operator[](int index): 表示对列表中一个成员位置的访问。返回的是指定索引下的Tool对象。
用法:Leap::ToolList allTools = frame.tools();
for (int index = 0; index < allTools.count(); index++) {
std::cout << allTools[index] << std::endl;
}
Tool rightmost(): 表示在Leap Motion参照系下这个列表中最靠右的成员(也就是x值最大)。
用法:Leap::Tool rightmostTool=frame. tools().rightmost();
ToolList(): 表示构造一个没有实体的空列表。
译自:https://developer.leapmotion.com/documentation/cpp/api/Leap.Tool.html
https://developer.leapmotion.com/documentation/cpp/api/Leap.ToolList.html