private void PushGestureRecognised(EasyLeapGestureState state) { if (state == EasyLeapGestureState.STATEINVALID || Time.time < pushRestTime + EasyLeapGesture.PushRecoveryTime) { gestureList.Remove(-(int)EasyLeapGestureType.PUSH); return; } pushRestTime = Time.time; RecordNewGesture(-(int)EasyLeapGestureType.PUSH, EasyLeapGestureState.STATESTART, EasyLeapGestureState.STATEUPDATE, EasyLeapGestureType.PUSH, -1, mFrame.Hands[0].StabilizedPalmPosition); }
private void DoubleOutwardsSwipeRecognised(EasyLeapGestureState state) { if (state == EasyLeapGestureState.STATEINVALID || Time.time < doubleOutSwipeRestTime + EasyLeapGesture.DoubleOutwardsRecoveryTime) { gestureList.Remove(-(int)EasyLeapGestureType.DOUBLE_SWIPE_OUT); return; } doubleOutSwipeRestTime = Time.time; RecordNewGesture(-(int)EasyLeapGestureType.DOUBLE_SWIPE_OUT, EasyLeapGestureState.STATESTART, EasyLeapGestureState.STATEUPDATE, EasyLeapGestureType.DOUBLE_SWIPE_OUT, -1, new Leap.Vector(mFrame.Hands[0].StabilizedPalmPosition.x + mFrame.Hands[1].StabilizedPalmPosition.x, mFrame.Hands[0].StabilizedPalmPosition.y, mFrame.Hands[0].StabilizedPalmPosition.z)); }
private void ClapRecognised(EasyLeapGestureState state) { if (state == EasyLeapGestureState.STATEINVALID || Time.time < clapRestTime + EasyLeapGesture.ClapRecoveryTime) { gestureList.Remove(-(int)EasyLeapGestureType.CLAP); return; } clapRestTime = Time.time; RecordNewGesture(-(int)EasyLeapGestureType.CLAP, EasyLeapGestureState.STATESTART, EasyLeapGestureState.STATEUPDATE, EasyLeapGestureType.CLAP, -1, new Leap.Vector(mFrame.Hands[0].StabilizedPalmPosition.x + mFrame.Hands[1].StabilizedPalmPosition.x, mFrame.Hands[0].StabilizedPalmPosition.y, mFrame.Hands[0].StabilizedPalmPosition.z)); }
private void OpenFistGestureRecognised(EasyLeapGestureState state) { if (EasyLeapGestureState.STATEINVALID == state) { gestureList.Remove(-(int)EasyLeapGestureType.OPEN_FIST); return; } if (state == EasyLeapGestureState.STATESTOP && !gestureList.ContainsKey(-(int)EasyLeapGestureType.OPEN_FIST)) { return; } RecordNewGesture(-(int)EasyLeapGestureType.OPEN_FIST, EasyLeapGestureState.STATESTART, state == EasyLeapGestureState.STATESTART ? EasyLeapGestureState.STATEUPDATE : EasyLeapGestureState.STATESTOP, EasyLeapGestureType.OPEN_FIST, -1, mFrame.Hands[0].StabilizedPalmPosition); }
// Store the recognised gesture on the gesture List private void RecordNewGesture(int id, EasyLeapGestureState startState, EasyLeapGestureState updateState, EasyLeapGestureType type, long duration, Leap.Vector position) { if (gestureList.ContainsKey(id)) { EasyLeapGesture g = gestureList[id]; g.State = updateState; g.Duration = duration < 0 ? (long)(1000000 * Time.deltaTime) + g.Duration : duration; gestureList[id] = g; } else { EasyLeapGesture gest = new EasyLeapGesture(); gest.Duration = 0; gest.Id = id; gest.State = startState; gest.Type = type; gest.Frame = mFrame; gest.Position = position; gestureList.Add(id, gest); } }
// Store the recognised gesture on the gesture List private void RecordNewGesture(int id, EasyLeapGestureState startState, EasyLeapGestureState updateState, EasyLeapGestureType type, long duration, Leap.Vector position) { if(gestureList.ContainsKey(id)) { EasyLeapGesture g = gestureList[id]; g.State = updateState; g.Duration = duration < 0 ? (long)(1000000*Time.deltaTime)+g.Duration : duration; gestureList[id] = g; } else { EasyLeapGesture gest = new EasyLeapGesture(); gest.Duration = 0; gest.Id = id; gest.State = startState; gest.Type = type; gest.Frame = mFrame; gest.Position = position; gestureList.Add(id,gest); } }
private void PushGestureRecognised(EasyLeapGestureState state) { if(state == EasyLeapGestureState.STATEINVALID || Time.time < pushRestTime + EasyLeapGesture.PushRecoveryTime) { gestureList.Remove(-(int)EasyLeapGestureType.PUSH); return; } pushRestTime = Time.time; RecordNewGesture(-(int)EasyLeapGestureType.PUSH,EasyLeapGestureState.STATESTART,EasyLeapGestureState.STATEUPDATE,EasyLeapGestureType.PUSH,-1,mFrame.Hands[0].StabilizedPalmPosition); }
private void OpenFistGestureRecognised(EasyLeapGestureState state) { if(EasyLeapGestureState.STATEINVALID == state) { gestureList.Remove (-(int)EasyLeapGestureType.OPEN_FIST); return; } if(state == EasyLeapGestureState.STATESTOP && !gestureList.ContainsKey(-(int)EasyLeapGestureType.OPEN_FIST)) return; RecordNewGesture(-(int)EasyLeapGestureType.OPEN_FIST, EasyLeapGestureState.STATESTART, state == EasyLeapGestureState.STATESTART ? EasyLeapGestureState.STATEUPDATE : EasyLeapGestureState.STATESTOP, EasyLeapGestureType.OPEN_FIST, -1, mFrame.Hands[0].StabilizedPalmPosition); }
private void DoubleOutwardsSwipeRecognised(EasyLeapGestureState state) { if(state == EasyLeapGestureState.STATEINVALID || Time.time < doubleOutSwipeRestTime + EasyLeapGesture.DoubleOutwardsRecoveryTime) { gestureList.Remove(-(int)EasyLeapGestureType.DOUBLE_SWIPE_OUT); return; } doubleOutSwipeRestTime = Time.time; RecordNewGesture(-(int)EasyLeapGestureType.DOUBLE_SWIPE_OUT,EasyLeapGestureState.STATESTART,EasyLeapGestureState.STATEUPDATE,EasyLeapGestureType.DOUBLE_SWIPE_OUT,-1,new Leap.Vector(mFrame.Hands[0].StabilizedPalmPosition.x + mFrame.Hands[1].StabilizedPalmPosition.x,mFrame.Hands[0].StabilizedPalmPosition.y,mFrame.Hands[0].StabilizedPalmPosition.z)); }
private void ClapRecognised(EasyLeapGestureState state) { if(state == EasyLeapGestureState.STATEINVALID || Time.time < clapRestTime + EasyLeapGesture.ClapRecoveryTime) { gestureList.Remove(-(int)EasyLeapGestureType.CLAP); return; } clapRestTime = Time.time; RecordNewGesture(-(int)EasyLeapGestureType.CLAP,EasyLeapGestureState.STATESTART,EasyLeapGestureState.STATEUPDATE,EasyLeapGestureType.CLAP,-1,new Leap.Vector(mFrame.Hands[0].StabilizedPalmPosition.x + mFrame.Hands[1].StabilizedPalmPosition.x,mFrame.Hands[0].StabilizedPalmPosition.y,mFrame.Hands[0].StabilizedPalmPosition.z)); }