示例#1
0
        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);
            }
        }
示例#2
0
        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);
            }
        }
示例#3
0
    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);
      }
    }
示例#4
0
    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);
      }
    }