-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathleap.html
More file actions
91 lines (69 loc) · 2.59 KB
/
leap.html
File metadata and controls
91 lines (69 loc) · 2.59 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
<html>
<head>
</head>
<body>
<h1>WTF is happening</h1>
<div id="output"></div>
<script src="https://js.leapmotion.com/leap-0.6.4.js"></script>
<script type="text/javascript">
function concatData(id, data) {
return id + ": " + data + "<br>";
}
function getFingerName(fingerType) {
switch(fingerType) {
case 0:
return 'Thumb';
break;
case 1:
return 'Index';
break;
case 2:
return 'Middle';
break;
case 3:
return 'Ring';
break;
case 4:
return 'Pinky';
break;
}
}
function concatJointPosition(id, position) {
return id + ": " + position[0] + ", " + position[1] + ", " + position[2] + "<br>";
}
var output = document.getElementById('output');
var frameString = "", handString = "", fingerString = "";
var hand, finger;
// Leap uses browser's requestAnimationFrame
var options = { enableGestures: true };
// Main Loop
Leap.loop(options, function(frame) {
frameString = concatData("frame_id", frame.id);
frameString += concatData("num_hands", frame.hands.length);
frameString += concatData("num_fingers", frame.fingers.length);
frameString += "<br>";
//new features of V2 leap
for (var i = 0, len = frame.hands.length; i < len; i++) {
hand = frame.hands[i];
handString = concatData("hand_type", hand.type);
handString += concatData("confidence", hand.confidence);
handString += concatData("pinch_strength", hand.pinchStrength);
handString += concatData("grab_strength", hand.grabStrength);
handString += '<br>';
fingerString = concatJointPosition("finger_thumb_dip", hand.thumb.dipPosition);
for (var j = 0, len2 = hand.fingers.length; j < len2; j++) {
finger = hand.fingers[j];
fingerString += concatData("finger_type", finger.type) + " (" + getFingerName(finger.type) + ") <br>";
fingerString += concatJointPosition("finger_dip", finger.dipPosition);
fingerString += concatJointPosition("finger_pip", finger.pipPosition);
fingerString += concatJointPosition("finger_mcp", finger.mcpPosition);
fingerString += "<br>";
}
frameString += handString;
frameString += fingerString;
}
output.innerHTML = frameString;
});
</script>
</body>
</html>