#include <Leap.h>
The Pointable class reports the physical characteristics of a detected finger or tool.
Both fingers and tools are classified as Pointable objects. Use the Pointable::isFinger() function to determine whether a Pointable object represents a finger. Use the Pointable::isTool() function to determine whether a Pointable object represents a tool. The Leap classifies a detected entity as a tool when it is thinner, straighter, and longer than a typical finger.
Note that Pointable objects can be invalid, which means that they do not contain valid tracking data and do not correspond to a physical entity. Invalid Pointable objects can be the result of asking for a Pointable object using an ID from an earlier frame when no Pointable objects with that ID exist in the current frame. A Pointable object created from the Pointable constructor is also invalid. Test for validity with the Pointable::isValid() function.
Public Member Functions | |
Pointable (PointableImplementation *) | |
Pointable (FingerImplementation *) | |
Pointable (ToolImplementation *) | |
LEAP_EXPORT | Pointable () |
LEAP_EXPORT int32_t | id () const |
LEAP_EXPORT Frame | frame () const |
LEAP_EXPORT Hand | hand () const |
LEAP_EXPORT Vector | tipPosition () const |
LEAP_EXPORT Vector | tipVelocity () const |
LEAP_EXPORT Vector | direction () const |
LEAP_EXPORT float | width () const |
LEAP_EXPORT float | length () const |
LEAP_EXPORT bool | isFinger () const |
LEAP_EXPORT bool | isTool () const |
LEAP_EXPORT bool | isValid () const |
LEAP_EXPORT bool | operator== (const Pointable &) const |
LEAP_EXPORT bool | operator!= (const Pointable &) const |
LEAP_EXPORT std::string | toString () const |
Static Public Member Functions | |
static LEAP_EXPORT const Pointable & | invalid () |
Friends | |
LEAP_EXPORT friend std::ostream & | operator<< (std::ostream &, const Pointable &) |
Additional Inherited Members | |
![]() | |
class SharedObject * | m_object |
![]() | |
LEAP_EXPORT | Interface (void *owner) |
LEAP_EXPORT | Interface (Implementation *reference, void *owner) |
LEAP_EXPORT | Interface (const Interface &rhs) |
LEAP_EXPORT Interface & | operator= (const Interface &rhs) |
virtual LEAP_EXPORT | ~Interface () |
template<typename T > | |
T * | get () const |
Leap::Pointable::Pointable | ( | PointableImplementation * | ) |
Leap::Pointable::Pointable | ( | FingerImplementation * | ) |
Leap::Pointable::Pointable | ( | ToolImplementation * | ) |
LEAP_EXPORT Leap::Pointable::Pointable | ( | ) |
LEAP_EXPORT Vector Leap::Pointable::direction | ( | ) | const |
LEAP_EXPORT Frame Leap::Pointable::frame | ( | ) | const |
LEAP_EXPORT Hand Leap::Pointable::hand | ( | ) | const |
LEAP_EXPORT int32_t Leap::Pointable::id | ( | ) | const |
A unique ID assigned to this Pointable object, whose value remains the same across consecutive frames while the tracked finger or tool remains visible. If tracking is lost (for example, when a finger is occluded by another finger or when it is withdrawn from the Leap field of view), the Leap may assign a new ID when it detects the entity in a future frame.
Use the ID value with the Frame::pointable() function to find this Pointable object in future frames.
|
static |
Returns an invalid Pointable object.
You can use the instance returned by this function in comparisons testing whether a given Pointable instance is valid or invalid. (You can also use the Pointable::isValid() function.)
LEAP_EXPORT bool Leap::Pointable::isFinger | ( | ) | const |
LEAP_EXPORT bool Leap::Pointable::isTool | ( | ) | const |
LEAP_EXPORT bool Leap::Pointable::isValid | ( | ) | const |
LEAP_EXPORT float Leap::Pointable::length | ( | ) | const |
The estimated length of the finger or tool in millimeters.
The reported length is the visible length of the finger or tool from the hand to tip. If the length isn't known, then a value of 0 is returned.
LEAP_EXPORT bool Leap::Pointable::operator!= | ( | const Pointable & | ) | const |
LEAP_EXPORT bool Leap::Pointable::operator== | ( | const Pointable & | ) | const |
LEAP_EXPORT Vector Leap::Pointable::tipPosition | ( | ) | const |
LEAP_EXPORT Vector Leap::Pointable::tipVelocity | ( | ) | const |
The rate of change of the tip position in millimeters/second.
LEAP_EXPORT std::string Leap::Pointable::toString | ( | ) | const |
LEAP_EXPORT float Leap::Pointable::width | ( | ) | const |
The estimated width of the finger or tool in millimeters.
The reported width is the average width of the visible portion of the finger or tool from the hand to the tip. If the width isn't known, then a value of 0 is returned.