Tracking Model¶

The Leap Motion API defines a class representing each of the primary tracked objects.

 Frame The Frame object is essentially the root of the data model and provides access to all the tracked entities. A new Frame is created at each update interval. The frame contains lists of the hands and fingers tracked in that frame. (You can also get the fingers for a specific hand from the relevant Hand object.) Leap::Controller controller; // wait until Controller.isConnected() evaluates to true //... Leap::Frame frame = controller.frame(); Leap::HandList hands = frame.hands(); Leap::PointableList pointables = frame.pointables(); Leap::FingerList fingers = frame.fingers(); Leap::ToolList tools = frame.tools();  See Frames Hand The Hand object describes the position and orientation of a hand, tracks its motion between frames and contains lists of the fingers associated with that hand. // hand is a Leap::Hand object Leap::PointableList pointables = hand.pointables(); // Both fingers and tools Leap::FingerList fingers = hand.fingers();  See Hands Arm Arm objects describe the position, direction, and orientation of the arm to which a hand is attached. Arms can only be accessed through the Hand object. Pointable, Finger Pointable objects define the basic characteristics common to fingers. The Finger class extends Pointable with additional information specific to those entities. if (pointable.isTool()) { Leap::Tool tool = Leap::Tool(pointable); } else { Leap::Finger finger = Leap::Finger(pointable); }  See Fingers Bone Bone object represent the position and orientation of a bone. The tracked bones include the metarcarpals and phalanges of the fingers (and thumb). Image Image objects provide the raw sensor data and calibration grid for the Leap Motion cameras. (Not available through the WebSocket server.) Utility Classes The Vector class describes points and directions. The Vector class also provides several useful math functions for working with vectors. Likewise, the Matrix class represents things like rotations and other transforms returned by some functions in the API. The InteractionBox class provides functions to help map a rectilinear portion of the Leap Motion controller’s field of view to either 2D screen space or 3D space. See Leap_Touch_Emulation.