Leap C++ API Reference  0.7.9
Leap::ScreenTapGesture Class Reference

The ScreenTapGesture class represents a tapping gesture by a finger or tool. More...

Inherits Leap::Gesture.

Public Member Functions

Vector direction () const
 The direction of finger tip motion.
 
Pointable pointable () const
 The finger performing the screen tap gesture.
 
Vector position () const
 The position where the screen tap is registered.
 
float progress () const
 The progess value is always 1.0 for a screen tap gesture.
 
 ScreenTapGesture ()
 Constructs a new ScreenTapGesture object.
 
 ScreenTapGesture (const Gesture &rhs)
 Constructs a ScreenTapGesture object from an instance of the Gesture class.
 
- Public Member Functions inherited from Leap::Gesture
int64_t duration () const
 The elapsed duration of the recognized movement up to the frame containing this Gesture object, in microseconds.
 
float durationSeconds () const
 The elapsed duration in seconds.
 
Frame frame () const
 The Frame containing this Gesture instance.
 
 Gesture ()
 Constructs a new Gesture object.
 
 Gesture (const Gesture &rhs)
 Constructs a new copy of an Gesture object.
 
HandList hands () const
 The list of hands associated with this Gesture, if any.
 
int32_t id () const
 The gesture ID.
 
bool isValid () const
 Reports whether this Gesture instance represents a valid Gesture.
 
bool operator!= (const Gesture &rhs) const
 Compare Gesture object inequality.
 
bool operator== (const Gesture &rhs) const
 Compare Gesture object equality.
 
PointableList pointables () const
 The list of fingers and tools associated with this Gesture, if any.
 
State state () const
 The gesture state.
 
std::string toString () const
 A string containing a brief, human-readable description of this Gesture.
 
Type type () const
 The gesture type.
 

Static Public Member Functions

static Type classType ()
 The screen tap gesture type.
 
- Static Public Member Functions inherited from Leap::Gesture
static const Gestureinvalid ()
 Returns an invalid Gesture object.
 

Additional Inherited Members

- Public Types inherited from Leap::Gesture
enum  State { STATE_INVALID = -1, STATE_START = 1, STATE_UPDATE = 2, STATE_STOP = 3 }
 The possible gesture states. More...
 
enum  Type {
  TYPE_INVALID = -1, TYPE_SWIPE = 1, TYPE_CIRCLE = 4, TYPE_SCREEN_TAP = 5,
  TYPE_KEY_TAP = 6
}
 The supported types of gestures. More...
 

Detailed Description

The ScreenTapGesture class represents a tapping gesture by a finger or tool.

A screen tap gesture is recognized when the tip of a finger pokes forward and then springs back to approximately the original postion, as if tapping a vertical screen. The tapping finger must pause briefly before beginning the tap.

Leap_Gesture_Tap2.png

Important: To use screen tap gestures in your application, you must enable recognition of the screen tap gesture. You can enable recognition with:

controller.enableGesture(Gesture::TYPE_SCREEN_TAP);

ScreenTap gestures are discrete. The ScreenTapGesture object representing a tap always has the state, STATE_STOP. Only one ScreenTapGesture object is created for each screen tap gesture recognized.

You can set the minimum finger movement and velocity required for a movement to be recognized as a screen tap as well as adjust the detection window for evaluating the movement using the config attribute of a connected Controller object. Use the following keys to configure screen tap recognition:

Key string Value type Default value Units
Gesture.ScreenTap.MinForwardVelocity float 50 mm/s
Gesture.ScreenTap.HistorySeconds float 0.1 s
Gesture.ScreenTap.MinDistance float 3.0 mm

The following example demonstrates how to set the screen tap configuration parameters:

if(controller.config().setFloat("Gesture.ScreenTap.MinForwardVelocity", 30.0) &&
controller.config().setFloat("Gesture.ScreenTap.HistorySeconds", .5) &&
controller.config().setFloat("Gesture.ScreenTap.MinDistance", 1.0))
controller.config().save();

Constructor & Destructor Documentation

Leap::ScreenTapGesture::ScreenTapGesture ( )

Constructs a new ScreenTapGesture object.

An uninitialized ScreenTapGesture object is considered invalid. Get valid instances of the ScreenTapGesture class from a Frame object.

Leap::ScreenTapGesture::ScreenTapGesture ( const Gesture rhs)

Constructs a ScreenTapGesture object from an instance of the Gesture class.

Parameters
rhsThe Gesture instance to specialize. This Gesture instance must be a ScreenTapGesture object.

Member Function Documentation

static Type Leap::ScreenTapGesture::classType ( )
inlinestatic

The screen tap gesture type.

Returns
Type The type value designating a screen tap gesture.
Vector Leap::ScreenTapGesture::direction ( ) const

The direction of finger tip motion.

Returns
Vector A unit direction vector.
Pointable Leap::ScreenTapGesture::pointable ( ) const

The finger performing the screen tap gesture.

Returns
Pointable A Pointable object representing the tapping finger.
Vector Leap::ScreenTapGesture::position ( ) const

The position where the screen tap is registered.

Returns
Vector A Vector containing the coordinates of screen tap location.
float Leap::ScreenTapGesture::progress ( ) const

The progess value is always 1.0 for a screen tap gesture.

Returns
float The value 1.0.