예제 #1
0
 public MySkeleton(DateTime ts, Skeleton skel)
 {
     Timestamp = ts;
     //Joints = skel.Joints;
     Position = skel.Position;
     TrackingId = skel.TrackingId;
     TrackingState = skel.TrackingState;
     AngleHeadShoulderCenter = skel.GetAngleHeadShoulderCenter();
     AngleHeadShoulderRight = skel.GetAngleHeadShoulderRight();
 }
예제 #2
0
        private void CalculateAngles(Skeleton skel)
        {

            double AngleHeadShoulderCenter = skel.GetAngleHeadShoulderCenter();
            double AngleHeadShoulderRight = skel.GetAngleHeadShoulderRight();
            double CriticalAngle = 65.0;
            
            statusBarText =
               "Head-ShoulderRight: " + AngleHeadShoulderRight.ToString() + "° \n" +
               "Head-ShoulderCenter: " + AngleHeadShoulderCenter.ToString() + "° ";
            if (AngleHeadShoulderRight < CriticalAngle && this.warningState == false)
            {
                this.warningState = true;
                this.Background = Brushes.Red;
                Console.WriteLine(this.warningState);
                if (false == pauseState)
                {
                    player.Play();
                }
            }
            else if (AngleHeadShoulderRight >= CriticalAngle && this.warningState == true)
            {
                this.warningState = false;
                this.Background = Brushes.Green;
                Console.WriteLine(this.warningState);
                player.Stop();
            }
        }