Exemplo n.º 1
0
        void Replay_SkeletonFrameReady(object sender, ReplaySkeletonFrameReadyEventArgs args)
        {
            // Reallocate if necessary
            if (null == skeletonData || skeletonData.Length != args.SkeletonFrame.Skeletons.Length)
            {
                skeletonData = new Skeleton[args.SkeletonFrame.Skeletons.Length];
            }

            args.SkeletonFrame.Skeletons.CopyTo(skeletonData, 0);
            skeletonDrawn = false;
        }
Exemplo n.º 2
0
        /// <summary>
        /// On replay skeleton event.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void ReplaySkeletonFrameReady(object sender, ReplaySkeletonFrameReadyEventArgs e)
        {
            ReplaySkeletonFrame replaySkeletonFrame = e.SkeletonFrame;

            if (replaySkeletonFrame == null)
            {
                return;
            }

            //this.SkeletonDisplayManager.Draw(replaySkeletonFrame.Skeletons, false);
        }
Exemplo n.º 3
0
        void ReplaySkeletonFrameReady(object sender, ReplaySkeletonFrameReadyEventArgs e)
        {
            if (fpsEnd == 1)
            {
                if (e.SkeletonFrame == null)
                {
                    return;
                }

                fpsEnd = SelectFPS();

                Skeleton[] skeletons = e.SkeletonFrame.Skeletons;
                if (skeletons.Length != 0)
                {
                    foreach (Skeleton skel in skeletons)
                    {
                        if (skel.TrackingState == SkeletonTrackingState.Tracked)
                        {
                            if (BVHFile != null)
                            {
                                if (BVHFile.IsRecording == true && BVHFile.IsInitializing == true)
                                {
                                    BVHFile.Entry(skel);

                                    if (BVHFile.intializingCounter > initFrames)
                                    {
                                        BVHFile.StartWritingEntry();
                                    }
                                }

                                if (BVHFile.IsRecording == true && BVHFile.IsInitializing == false)
                                {
                                    BVHFile.Motion(skel);
                                    Controls.ConsoleControl.LogEntries.Add(new LogEntry(DateTime.Now, "Recording..."));
                                }
                            }
                        }
                    }
                }

                if (skeletons.All(s => s.TrackingState == SkeletonTrackingState.NotTracked))
                {
                    return;
                }

                ProcessFrame(e.SkeletonFrame);
            }
            else
            {
                fpsEnd -= 1;
            }
        }
 void replay_SkeletonFrameReady(object sender, ReplaySkeletonFrameReadyEventArgs e)
 {
     ProcessFrame(e.SkeletonFrame);
 }
Exemplo n.º 5
0
 void replay_SkeletonFrameReady(object sender, ReplaySkeletonFrameReadyEventArgs e)
 {
     ProcessFrame(e.SkeletonFrame);
     //  Debug.WriteLine("replaySkeleton");
 }
Exemplo n.º 6
0
        void SkeletonFrameReady(object sender, ReplaySkeletonFrameReadyEventArgs e)
        {
            ReplaySkeletonData skeleton = e.SkeletonFrame.Skeletons[0];

            // Retrieve the tracked skeleton
            foreach (var s in e.SkeletonFrame.Skeletons)
            {
                if (s.TrackingState == SkeletonTrackingState.Tracked)
                {
                    skeleton = s;
                    break;
                }
            }

            Joint leftHandUnscaled  = new Joint();
            Joint rightHandUnscaled = new Joint();

            Vector3 skeletonPosition = new Vector3(skeleton.Position.X, skeleton.Position.Y, skeleton.Position.Z);

            barycenterHelper.Add(skeletonPosition, skeleton.TrackingID);
            IsStable = barycenterHelper.IsStable(skeleton.TrackingID);

            for (int i = 0; i < skeleton.Joints.Count; i++)
            {
                switch (skeleton.Joints.ElementAt(i).ID)
                {
                case (JointID.Head):
                    Head = GetScaledPosition(skeleton.Joints.ElementAt(i));
                    break;

                case (JointID.HandLeft):
                    HandLeft         = GetScaledPosition(skeleton.Joints.ElementAt(i));
                    leftHandUnscaled = skeleton.Joints.ElementAt(i);
                    break;

                case (JointID.HandRight):
                    HandRight         = GetScaledPosition(skeleton.Joints.ElementAt(i));
                    rightHandUnscaled = skeleton.Joints.ElementAt(i);
                    break;

                case (JointID.ShoulderCenter):
                    ShoulderCenter = GetScaledPosition(skeleton.Joints.ElementAt(i));
                    break;

                case (JointID.ShoulderRight):
                    ShoulderRight = GetScaledPosition(skeleton.Joints.ElementAt(i));
                    break;

                case (JointID.ShoulderLeft):
                    ShoulderLeft = GetScaledPosition(skeleton.Joints.ElementAt(i));
                    break;

                case (JointID.AnkleLeft):
                    AnkleLeft = GetScaledPosition(skeleton.Joints.ElementAt(i));
                    break;

                case (JointID.AnkleRight):
                    AnkleRight = GetScaledPosition(skeleton.Joints.ElementAt(i));
                    break;

                case (JointID.FootRight):
                    FootRight = GetScaledPosition(skeleton.Joints.ElementAt(i));
                    break;

                case (JointID.FootLeft):
                    FootLeft = GetScaledPosition(skeleton.Joints.ElementAt(i));
                    break;

                case (JointID.WristLeft):
                    WristLeft = GetScaledPosition(skeleton.Joints.ElementAt(i));
                    break;

                case (JointID.WristRight):
                    WristRight = GetScaledPosition(skeleton.Joints.ElementAt(i));
                    break;

                case (JointID.KneeRight):
                    KneeRight = GetScaledPosition(skeleton.Joints.ElementAt(i));
                    break;

                case (JointID.KneeLeft):
                    KneeLeft = GetScaledPosition(skeleton.Joints.ElementAt(i));
                    break;

                case (JointID.ElbowLeft):
                    ElbowLeft = GetScaledPosition(skeleton.Joints.ElementAt(i));
                    break;

                case (JointID.ElbowRight):
                    ElbowRight = GetScaledPosition(skeleton.Joints.ElementAt(i));
                    break;

                case (JointID.HipCenter):
                    HipCenter = GetScaledPosition(skeleton.Joints.ElementAt(i));
                    break;
                }
            }
            RaiseSkeletonUpdate(new SkeletonEventArgs()
            {
                LeftHandPosition  = leftHandUnscaled.Position,
                RightHandPosition = rightHandUnscaled.Position
            });
        }
Exemplo n.º 7
0
 void SkeletonFrameReady(object sender, ReplaySkeletonFrameReadyEventArgs e)
 {
 }