private void _reader_FrameArrived(object sender, BodyFrameArrivedEventArgs e) { using (var frame = e.FrameReference.AcquireFrame()) { var fp = KinectMathAdapter.Plane3DFromVector4(frame.FloorClipPlane); OnFloorPlaneAvailable(fp); var bodies = new Body[frame.BodyCount]; frame.GetAndRefreshBodyData(bodies); foreach (var body in bodies) { if (!body.IsTracked) { continue; } BodyDataAvailable?.BeginInvoke(body, EndAsyncEvent, null); } } }