private void RefreshBodyData(BodyFrame frame) { cache.Clear(); foreach (var body in (IList <Body>)frame.RawData) { if (!body.IsTracked) { continue; } NBody nbody = frame.Find(body.TrackingId); if (nbody == null) { nbody = new NBody(body.TrackingId, frame.Width, frame.Height); } cache.Add(nbody); RefreshBodyData(body, nbody); } lock (frame.Bodies) { frame.Bodies.Clear(); frame.Bodies.AddRange(cache); } }
private void RefreshBodyData(BodyFrame frame) { cache.Clear(); foreach (var skeleton in (IList <Skeleton>)frame.RawData) { if (skeleton.TrackingState != SkeletonTrackingState.Tracked) { continue; } NBody nbody = frame.Find(Convert.ToUInt64(skeleton.TrackingId)); if (nbody == null) { nbody = new NBody(Convert.ToUInt64(skeleton.TrackingId), frame.Width, frame.Height); } cache.Add(nbody); RefreshBodyData(skeleton, nbody); } lock (frame.Bodies) { frame.Bodies.Clear(); frame.Bodies.AddRange(cache); } }
private void RefreshBodyData(BodyFrame frame){ cache.Clear(); foreach (var body in (IList<Body>) frame.RawData) { if (!body.IsTracked) { continue; } NBody nbody = frame.Find(body.TrackingId); if (nbody == null) { nbody = new NBody(body.TrackingId, frame.Width, frame.Height); } cache.Add(nbody); RefreshBodyData(body, nbody); } lock (frame.Bodies) { frame.Bodies.Clear(); frame.Bodies.AddRange(cache); } }
private void RefreshBodyData(BodyFrame frame) { cache.Clear(); foreach (var skeleton in (IList<Skeleton>)frame.RawData) { if (skeleton.TrackingState != SkeletonTrackingState.Tracked) { continue; } NBody nbody = frame.Find(Convert.ToUInt64(skeleton.TrackingId)); if (nbody == null) { nbody = new NBody(Convert.ToUInt64(skeleton.TrackingId), frame.Width, frame.Height); } cache.Add(nbody); RefreshBodyData(skeleton, nbody); } lock (frame.Bodies) { frame.Bodies.Clear(); frame.Bodies.AddRange(cache); } }