Notice Gestures are deprecated in version 3.0 and may not behave the same as they did in earlier versions.


class Leap::CircleGesture

The CircleGesture classes represents a circular finger movement.

Public Functions

Vector center()

The center point of the circle within the Leap Motion frame of reference.

Leap::Vector centerPoint =;
Vector The center of the circle in mm from the Leap Motion origin.


Constructs a new CircleGesture object.

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

CircleGesture(const Gesture & rhs)

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

if(gesture.type() == Leap::Gesture::TYPE_CIRCLE){
    Leap::CircleGesture circleGesture = Leap::CircleGesture(gesture);


Vector normal()

Returns the normal vector for the circle being traced.

std::string clockwiseness;
if (circle.pointable().direction().angleTo(circle.normal()) <= Leap::PI/2) {
    clockwiseness = "clockwise";
    clockwiseness = "counterclockwise";

Vector the normal vector for the circle being traced

Pointable pointable()

The finger performing the circle gesture.

Leap::Pointable circlePointable = circle.pointable();

Pointable A Pointable object representing the circling finger.

float progress()

The number of times the finger tip has traversed the circle.

float turns = circle.progress();

float A positive number indicating the gesture progress.

float radius()

The radius of the circle.

float diameter = 2 * circle.radius();

The circle radius in mm.

Public Static Functions

Type classType()

The circle gesture type.

if(gesture.type() == Leap::CircleGesture::classType()){
    Leap::CircleGesture circleGesture = Leap::CircleGesture(gesture);

Type The type value designating a circle gesture.