public Gesture CreateGesture(int identifier) { IGesturePart seg1 = new CircleGesturePart_1(); IGesturePart seg2 = new CircleGesturePart_2(); IGesturePart seg3 = new CircleGesturePart_3(); IGesturePart seg4 = new CircleGesturePart_4(); IGesturePart seg11 = new SwipeGesturePart_1(); IGesturePart seg12 = new SwipeGesturePart_2(); IGesturePart seg13 = new SwipeGesturePart_3(); IGesturePart[] parts; if (identifier == GestureIdentifier.CIRCLE_CLOCKWISE_GESTURE) { parts = new IGesturePart[] { seg1, seg2, seg3, seg4 }; return(new SequenceDependentGesture(parts, identifier, 50)); } if (identifier == GestureIdentifier.CIRCLE_COUNTER_CLOCKWISE_GESTURE) { parts = new IGesturePart[] { seg4, seg3, seg2, seg1 }; return(new SequenceDependentGesture(parts, identifier, 50)); } if (identifier == GestureIdentifier.SWIPE_TO_LEFT_GESTURE) { parts = new IGesturePart[] { seg11, seg12, seg13 }; return(new SequenceDependentGesture(parts, identifier, 50)); } return(null); }
public void Start() { #region IGesturePartEnums /// <summary> /// enums for storing the gesture patterns /// </summary> IGesturePart[] RightHandQuicklyClosed1 = new IGesturePart[] { Gesture.open, Gesture.closed, Gesture.open }; IGesturePart[] RightHandQuicklyClosed2 = new IGesturePart[] { Gesture.open, Gesture.closed,Gesture.closed, Gesture.open }; IGesturePart[] RightHandQuicklyClosed3 = new IGesturePart[] { Gesture.open, Gesture.closed,Gesture.closed, Gesture.closed, Gesture.open }; IGesturePart[] RightHandQuicklyClosed4 = new IGesturePart[] { Gesture.open, Gesture.closed,Gesture.closed, Gesture.closed, Gesture.closed, Gesture.open }; IGesturePart[] RightHandQuicklyClosed5 = new IGesturePart[] { Gesture.open, Gesture.closed,Gesture.closed, Gesture.closed, Gesture.closed, Gesture.closed, Gesture.open }; IGesturePart[] RightHandQuicklyClosed6 = new IGesturePart[] { Gesture.open, Gesture.closed,Gesture.closed, Gesture.closed, Gesture.closed,Gesture.closed,Gesture.closed, Gesture.open }; IGesturePart[] RightHandQuicklyClosed7 = new IGesturePart[] { Gesture.open, Gesture.closed,Gesture.closed, Gesture.closed, Gesture.closed,Gesture.closed,Gesture.closed,Gesture.closed, Gesture.open }; IGesturePart[] RightHandQuicklyOpened = new IGesturePart[] { Gesture.closed, Gesture.open, Gesture.closed }; IGesturePart[] RightHandOpen = new IGesturePart[] { //1x closed //Gesture.closed, //15x open Gesture.open, Gesture.open, Gesture.open, Gesture.open, Gesture.open, Gesture.open, Gesture.open, //Gesture.open, Gesture.open, Gesture.open, // Gesture.open, Gesture.open, Gesture.open, Gesture.open, Gesture.open }; IGesturePart[] RightHandClosed = new IGesturePart[] { //1x open //Gesture.open, //15x closed Gesture.open, Gesture.closed, Gesture.closed, Gesture.closed, Gesture.closed, Gesture.closed, Gesture.closed, Gesture.closed, //Gesture.closed, Gesture.closed, Gesture.closed, //Gesture.closed, Gesture.closed, Gesture.closed, Gesture.closed, Gesture.closed //Gesture.closed, Gesture.closed, Gesture.closed, Gesture.closed, Gesture.closed }; #endregion //prepare gesture gestureClosed = new Gesture(RightHandClosed); gestureClosed.name = "gestureClosed"; gestureOpen = new Gesture(RightHandOpen); gestureOpen.name = "gestureOpen"; gestureQuicklyClosed1 = new Gesture(RightHandQuicklyClosed1); gestureQuicklyClosed2 = new Gesture(RightHandQuicklyClosed2); gestureQuicklyClosed3 = new Gesture(RightHandQuicklyClosed3); gestureQuicklyClosed4 = new Gesture(RightHandQuicklyClosed4); gestureQuicklyClosed5 = new Gesture(RightHandQuicklyClosed5); gestureQuicklyClosed6 = new Gesture(RightHandQuicklyClosed6); gestureQuicklyClosed7 = new Gesture(RightHandQuicklyClosed7); gestureQuicklyClosed1.name = "gestureQuicklyClosed1"; gestureQuicklyClosed2.name = "gestureQuicklyClosed2"; gestureQuicklyClosed3.name = "gestureQuicklyClosed3"; gestureQuicklyClosed4.name = "gestureQuicklyClosed4"; gestureQuicklyClosed2.name = "gestureQuicklyClosed5"; gestureQuicklyClosed3.name = "gestureQuicklyClosed6"; gestureQuicklyClosed4.name = "gestureQuicklyClosed7"; gestureQuicklyOpen = new Gesture(RightHandQuicklyOpened); gestureQuicklyOpen.name = "gestureQuicklyOpen"; }
/// <summary> /// Default constructor /// </summary> /// public Gesture(IGesturePart[] pattern) { open = new GesturePart(Microsoft.Kinect.HandState.Open); closed = new GesturePart(Microsoft.Kinect.HandState.Closed); parts = pattern; }
public Gesture CreateGesture(int identifier) { //choose right hand for default bool leftHand = false; //but check whether left hand has been chosen if (identifier == GestureIdentifier.LEFT_HAND_CLOSED_GESTURE || identifier == GestureIdentifier.LEFT_HAND_OPEN_GESTURE || identifier == GestureIdentifier.LEFT_HAND_QUICKLY_CLOSED_GESTURE || identifier == GestureIdentifier.LEFT_HAND_QUICKLY_OPEN_GESTURE) { leftHand = true; } IGesturePart closed = new HandGesturePart(leftHand, HandState.Closed); IGesturePart open = new HandGesturePart(leftHand, HandState.Open); IGesturePart[] parts; if (identifier == GestureIdentifier.LEFT_HAND_CLOSED_GESTURE || identifier == GestureIdentifier.RIGHT_HAND_CLOSED_GESTURE) { parts = new IGesturePart[] { //1x open open, //15x closed closed, closed, closed, closed, closed, closed, closed, closed, closed, closed, closed, closed, closed, closed, closed, }; return(new FrameDependentGesture(parts, identifier)); } if (identifier == GestureIdentifier.LEFT_HAND_OPEN_GESTURE || identifier == GestureIdentifier.RIGHT_HAND_OPEN_GESTURE) { parts = new IGesturePart[] { //1x closed closed, //15x open open, open, open, open, open, open, open, open, open, open, open, open, open, open, open, }; return(new FrameDependentGesture(parts, identifier)); } if (identifier == GestureIdentifier.LEFT_HAND_QUICKLY_CLOSED_GESTURE || identifier == GestureIdentifier.RIGHT_HAND_QUICKLY_CLOSED_GESTURE) { parts = new IGesturePart[] { open, closed, open }; return(new SequenceDependentGesture(parts, identifier, 10)); } if (identifier == GestureIdentifier.LEFT_HAND_QUICKLY_OPEN_GESTURE || identifier == GestureIdentifier.RIGHT_HAND_QUICKLY_OPEN_GESTURE) { parts = new IGesturePart[] { closed, open, closed }; return(new SequenceDependentGesture(parts, identifier, 10)); } //default case: return(null); }
public void Start() { #region IGesturePartEnums /// <summary> /// enums for storing the gesture patterns /// </summary> IGesturePart[] RightHandQuicklyClosed1 = new IGesturePart[] { Gesture.open, Gesture.closed, Gesture.open }; IGesturePart[] RightHandQuicklyClosed2 = new IGesturePart[] { Gesture.open, Gesture.closed, Gesture.closed, Gesture.open }; IGesturePart[] RightHandQuicklyClosed3 = new IGesturePart[] { Gesture.open, Gesture.closed, Gesture.closed, Gesture.closed, Gesture.open }; IGesturePart[] RightHandQuicklyClosed4 = new IGesturePart[] { Gesture.open, Gesture.closed, Gesture.closed, Gesture.closed, Gesture.closed, Gesture.open }; IGesturePart[] RightHandQuicklyClosed5 = new IGesturePart[] { Gesture.open, Gesture.closed, Gesture.closed, Gesture.closed, Gesture.closed, Gesture.closed, Gesture.open }; IGesturePart[] RightHandQuicklyClosed6 = new IGesturePart[] { Gesture.open, Gesture.closed, Gesture.closed, Gesture.closed, Gesture.closed, Gesture.closed, Gesture.closed, Gesture.open }; IGesturePart[] RightHandQuicklyClosed7 = new IGesturePart[] { Gesture.open, Gesture.closed, Gesture.closed, Gesture.closed, Gesture.closed, Gesture.closed, Gesture.closed, Gesture.closed, Gesture.open }; IGesturePart[] RightHandQuicklyOpened = new IGesturePart[] { Gesture.closed, Gesture.open, Gesture.closed }; IGesturePart[] RightHandOpen = new IGesturePart[] { //1x closed //Gesture.closed, //15x open Gesture.open, Gesture.open, Gesture.open, Gesture.open, Gesture.open, Gesture.open, Gesture.open, //Gesture.open, Gesture.open, Gesture.open, // Gesture.open, Gesture.open, Gesture.open, Gesture.open, Gesture.open }; IGesturePart[] RightHandClosed = new IGesturePart[] { //1x open //Gesture.open, //15x closed Gesture.open, Gesture.closed, Gesture.closed, Gesture.closed, Gesture.closed, Gesture.closed, Gesture.closed, Gesture.closed, //Gesture.closed, Gesture.closed, Gesture.closed, //Gesture.closed, Gesture.closed, Gesture.closed, Gesture.closed, Gesture.closed //Gesture.closed, Gesture.closed, Gesture.closed, Gesture.closed, Gesture.closed }; #endregion //prepare gesture gestureClosed = new Gesture(RightHandClosed); gestureClosed.name = "gestureClosed"; gestureOpen = new Gesture(RightHandOpen); gestureOpen.name = "gestureOpen"; gestureQuicklyClosed1 = new Gesture(RightHandQuicklyClosed1); gestureQuicklyClosed2 = new Gesture(RightHandQuicklyClosed2); gestureQuicklyClosed3 = new Gesture(RightHandQuicklyClosed3); gestureQuicklyClosed4 = new Gesture(RightHandQuicklyClosed4); gestureQuicklyClosed5 = new Gesture(RightHandQuicklyClosed5); gestureQuicklyClosed6 = new Gesture(RightHandQuicklyClosed6); gestureQuicklyClosed7 = new Gesture(RightHandQuicklyClosed7); gestureQuicklyClosed1.name = "gestureQuicklyClosed1"; gestureQuicklyClosed2.name = "gestureQuicklyClosed2"; gestureQuicklyClosed3.name = "gestureQuicklyClosed3"; gestureQuicklyClosed4.name = "gestureQuicklyClosed4"; gestureQuicklyClosed2.name = "gestureQuicklyClosed5"; gestureQuicklyClosed3.name = "gestureQuicklyClosed6"; gestureQuicklyClosed4.name = "gestureQuicklyClosed7"; gestureQuicklyOpen = new Gesture(RightHandQuicklyOpened); gestureQuicklyOpen.name = "gestureQuicklyOpen"; }