-
Notifications
You must be signed in to change notification settings - Fork 0
/
Hardware_Integration
106 lines (81 loc) · 3.17 KB
/
Hardware_Integration
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
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
PVector finger_position;
PVector finger_stabilized;
PVector finger_velocity;
PVector finger_direction;
int touch_zone;
float touch_distance;
int tool_id;
PVector tool_position;
PVector tool_stabilized;
PVector tool_velocity;
PVector tool_direction;
int touch_zone;
float touch_distance;
float device_horizontal_view_angle;
float device_verical_view_angle;
float device_range;
void update(){
for(Hand hand : leap.getHands()){
//Hands
hand_id = hand.getId();
hand_position = hand.getPosition();
hand_stabilized = hand.getStabilizedPosition();
hand_direction = hand.getDirection();
hand_dynamics = hand.getDynamics();
hand_roll = hand.getRoll();
hand_pitch = hand.getPitch();
hand_yaw = hand.getYaw();
sphere_position = hand.getSpherePosition();
sphere_radius = hand.getSphereRadius();
// FINGERS
for(Finger finger : hand.getFingers()){
// Basics
finger_id = finger.getId();
finger_position = finger.getPosition();
finger_stabilized = finger.getStabilizedPosition();
finger_velocity = finger.getVelocity();
finger_direction = finger.getDirection();
// Touch Emulation
touch_zone = finger.getTouchZone();
touch_distance = finger.getTouchDistance();
switch(touch_zone){
case -1: // None
break;
case 0: //Hovering
println("Hovering (#"+finger_id+"): "+touch_distance);
break;
case 1: //Touching
println("Touching (#"+finger_id+")");
break;
}
}
// TOOLS
for(Tool tool : hand.getTools()){
// Basics
tool_id = tool.getId();
tool_position = tool.getPosition();
tool_stabilized = tool.getStabilizedPosition();
tool_velocity = tool.getVelocity();
tool_direction = tool.getDirection();
// Touch Emulation
touch_zone = tool.getTouchZone();
touch_distance = tool.getTouchDistance();
switch(touch_zone){
case -1: // None
break;
case 0: // Hovering
println("Hovering (#"+tool_id+"): "+touch_distance);
break;
case 1: // Touching
println("Touching (#"+tool_id+")");
break;
}
}
}
// DEVICES
for(Device device : leap.getDevices()){
device_horizontal_view_angle = device.getHorizontalViewAngle();
device_verical_view_angle = device.getVerticalViewAngle();
device_range = device.getRange();
}
}