// Polls for new depth frame data public static bool PollDepthFrame(ref DepthBuffer depthImage, ref BodyIndexBuffer bodyIndexImage, ref int minDepth, ref int maxDepth) { bool bNewFrame = false; IntPtr imagePtr = IntPtr.Zero; Int64 liFrameTime = 0; int hr = PollImageFrameData(FrameSource.TypeDepth | FrameSource.TypeBodyIndex); if (hr == 0) { hr = GetNewDepthFrameData(ref imagePtr, ref liFrameTime, ref minDepth, ref maxDepth); if (hr == 0) { depthImage = (DepthBuffer)Marshal.PtrToStructure(imagePtr, typeof(DepthBuffer)); hr = GetNewBodyIndexFrameData(ref imagePtr, ref liFrameTime); if (hr == 0) { bodyIndexImage = (BodyIndexBuffer)Marshal.PtrToStructure(imagePtr, typeof(BodyIndexBuffer)); bNewFrame = true; } } } return(bNewFrame); }
// Polls for new depth frame data public static bool PollDepthFrame(ref DepthBuffer depthImage, ref BodyIndexBuffer bodyIndexImage, ref int minDepth, ref int maxDepth) { bool bNewFrame = false; IntPtr imagePtr = IntPtr.Zero; Int64 liFrameTime = 0; int hr = PollImageFrameData(FrameSource.TypeDepth | FrameSource.TypeBodyIndex); if (hr == 0) { hr = GetNewDepthFrameData(ref imagePtr, ref liFrameTime, ref minDepth, ref maxDepth); if(hr == 0) { depthImage = (DepthBuffer)Marshal.PtrToStructure(imagePtr, typeof(DepthBuffer)); hr = GetNewBodyIndexFrameData(ref imagePtr, ref liFrameTime); if(hr == 0) { bodyIndexImage = (BodyIndexBuffer)Marshal.PtrToStructure(imagePtr, typeof(BodyIndexBuffer)); bNewFrame = true; } } } return bNewFrame; }