Esempio n. 1
0
        public GesturePartResult CheckGesture(Skeleton skeleton)
        {
            var j = skeleton.Joints;

            if (KozakiewiczPositions.ElbowsBeneathShoulders(skeleton))
            {
                // hands below elbows
                if (j[JointType.HandLeft].Position.Y < j[JointType.ElbowLeft].Position.Y &&
                    j[JointType.HandRight].Position.Y < j[JointType.ElbowRight].Position.Y)
                {
                    return(GesturePartResult.Succeed);
                }
                return(GesturePartResult.Fail);
            }
            return(GesturePartResult.Fail);
        }
Esempio n. 2
0
        public GesturePartResult CheckGesture(Skeleton skeleton)
        {
            var j = skeleton.Joints;

            if (KozakiewiczPositions.ElbowsBeneathShoulders(skeleton))
            {
                // right hand still down
                // left hand "on" right elbow
                if (j[JointType.HandRight].Position.Y < j[JointType.ElbowRight].Position.Y &&
                    KozakiewiczPositions.LeftHandOnRightElbow(skeleton))
                {
                    return(GesturePartResult.Succeed);
                }
                return(GesturePartResult.Pausing);
            }
            return(GesturePartResult.Fail);
        }
Esempio n. 3
0
        public GesturePartResult CheckGesture(Skeleton skeleton)
        {
            var j = skeleton.Joints;

            if (KozakiewiczPositions.ElbowsBeneathShoulders(skeleton))
            {
                // left hand still "on" right elbow
                // right hand up "on" right shoulder
                if (KozakiewiczPositions.LeftHandOnRightElbow(skeleton) &&
                    0.10 >= Math.Abs(j[JointType.WristRight].Position.X - j[JointType.ShoulderRight].Position.X) &&
                    0.10 >= Math.Abs(j[JointType.WristRight].Position.Y - j[JointType.ShoulderRight].Position.Y) &&
                    j[JointType.ShoulderRight].Position.Z - j[JointType.WristRight].Position.Z <= 0.3)
                {
                    return(GesturePartResult.Succeed);
                }
                return(GesturePartResult.Pausing);
            }
            return(GesturePartResult.Fail);
        }