public GesturePartResult Update(Skeleton skeleton)
        {
            var handsCorrect = skeleton.Joints[JointType.HandLeft].Position.X < skeleton.Joints[JointType.HandRight].Position.X;

            if (handsCorrect && MainWindow.LeftHandHighEnough(skeleton) && MainWindow.RightHandHighEnough(skeleton))
            {
                return(GesturePartResult.Succeeded);
            }
            return(GesturePartResult.Failed);
        }
        public GesturePartResult Update(Skeleton skeleton)
        {
            // left hand to right of left elbow and right hand to the left of right elbow
            var leftArmCorrect  = skeleton.Joints[JointType.HandLeft].Position.X > skeleton.Joints[JointType.ElbowLeft].Position.X;
            var rightArmCorrect = skeleton.Joints[JointType.HandRight].Position.X < skeleton.Joints[JointType.ElbowRight].Position.X;
            var handsCorrect    = skeleton.Joints[JointType.HandRight].Position.X < skeleton.Joints[JointType.HandLeft].Position.X;

            if (leftArmCorrect && rightArmCorrect && handsCorrect && MainWindow.LeftHandHighEnough(skeleton) && MainWindow.RightHandHighEnough(skeleton))
            {
                return(GesturePartResult.Succeeded);
            }
            return(GesturePartResult.Failed);
        }
        public GesturePartResult Update(Skeleton skeleton)
        {
            //            var leftHandCorrect = skeleton.Joints[JointType.HandLeft].Position.X < skeleton.Joints[JointType.ShoulderLeft].Position.X;

            var leftHand     = skeleton.Joints[JointType.HandLeft].Position;
            var elbowLeft    = skeleton.Joints[JointType.ElbowLeft].Position;
            var leftShoulder = skeleton.Joints[JointType.ShoulderLeft].Position;

            var leftHandY = leftHand.Y;
            var elbowY    = elbowLeft.Y;

            var handAboveElbow      = leftHandY > elbowY;
            var leftOfLeftSHooulder = leftHand.X < leftShoulder.X;

            if (handAboveElbow && leftOfLeftSHooulder && MainWindow.LeftHandHighEnough(skeleton))
            {
                return(GesturePartResult.Succeeded);
            }
            return(GesturePartResult.Failed);
        }
        public GesturePartResult Update(Skeleton skeleton)
        {
            //var leftArmCorrect = skeleton.Joints[JointType.HandLeft].Position.X < skeleton.Joints[JointType.ElbowLeft].Position.X;
            //var handsCorrect = skeleton.Joints[JointType.HandLeft].Position.X < skeleton.Joints[JointType.ShoulderLeft].Position.X;

            var leftHand  = skeleton.Joints[JointType.HandLeft].Position;
            var elbowLeft = skeleton.Joints[JointType.ElbowLeft].Position;
            var shoulder  = skeleton.Joints[JointType.ShoulderCenter].Position;

            var leftHandY = leftHand.Y;
            var elbowY    = elbowLeft.Y;

            var handAboveElbow = leftHandY > elbowY;
            var rightOfTorso   = leftHand.X > shoulder.X;


            if (handAboveElbow && rightOfTorso && MainWindow.LeftHandHighEnough(skeleton))
            {
                return(GesturePartResult.Succeeded);
            }
            return(GesturePartResult.Failed);
        }