Exemplo n.º 1
0
 /// <summary>
 /// First call per frame checks if there is a new skeleton frame and updates,
 /// returns true if there is new data
 /// Subsequent calls do nothing have the same return as the first call.
 /// </summary>
 /// <returns>
 /// A <see cref="System.Boolean"/>
 /// </returns>
 public bool pollSkeleton()
 {
     if (!updatedSkeleton)
     {
         updatedSkeleton = true;
         if (kinect.pollSkeleton())
         {
             newSkeleton = true;
             System.Int64 cur  = kinect.getSkeleton().liTimeStamp;
             System.Int64 diff = cur - ticks;
             ticks     = cur;
             deltaTime = diff / (float)1000;
             processSkeleton();
         }
     }
     return(newSkeleton);
 }
Exemplo n.º 2
0
    private void ThreadUpdate()
    {
        isThreadRunning = true;

        while (isThreadRunning)
        {
            // This function is capping the FPS to 30.
            if (kinect.pollSkeleton())
            {
                System.Int64 cur  = kinect.getSkeleton().liTimeStamp;
                System.Int64 diff = cur - ticks;
                ticks     = cur;
                deltaTime = diff / (float)1000;
                processSkeleton();
                newSkeleton = true;
            }
        }
    }
Exemplo n.º 3
0
    /// <summary>
    /// First call per frame checks if there is a new skeleton frame and updates,
    /// returns true if there is new data
    /// Subsequent calls do nothing have the same return as the first call.
    /// </summary>
    /// <returns>
    /// A <see cref="System.Boolean"/>
    /// </returns>
    public bool pollSkeleton()
    {
        if (!updatedSkeleton)
        {
            updatedSkeleton = true;

            /*if (kinect.pollSkeleton())
             * {
             *      newSkeleton = true;
             *      System.Int64 cur = kinect.getSkeleton().liTimeStamp;
             *      System.Int64 diff = cur - ticks;
             *      ticks = cur;
             *      deltaTime = diff / (float)1000;
             *      processSkeleton();
             * }*/

            //Felix
            if ((kinect.pollSkeleton() && (Player == null || !Player.Replaying)) ||
                (Player != null && Player.Replaying && (Player.FrameCount != 0)))
            {
                newSkeleton = true;
                System.Int64 cur  = kinect.getSkeleton().liTimeStamp;
                System.Int64 diff = cur - ticks;
                ticks     = cur;
                deltaTime = diff / (float)1000;
                processSkeletonFromFrame(Player != null && Player.Replaying && Player.FrameCount != 0
                            ? (NuiSkeletonFrame)Player.GetCurrentFrame()
                            : kinect.getSkeleton());
            }
            //If no kinect is connected and no replay is running, hide assets
            else
            {
                if (Player != null && Player.Focus)
                {
                    Player.SetFocus(false);
                }
            }
        }
        return(newSkeleton);
    }