CCT.NUI.Samples.ImageManipulation.ImageForm.UpdateHandTrackData C# (CSharp) Method

UpdateHandTrackData() private method

private UpdateHandTrackData ( HandCollection handData ) : void
handData HandCollection
return void
        private void UpdateHandTrackData(HandCollection handData)
        {
            foreach (var newHand in handData.Hands.Where(h => !this.handTracks.Any(t => t.Id == h.Id)))
            {
                this.handTracks.Add(new HandTracker(newHand));
            }
            foreach (var handTrack in this.handTracks.ToList())
            {
                var newHand = handData.Hands.Where(h => h.Id == handTrack.Id).FirstOrDefault();
                if (newHand == null)
                {
                    this.handTracks.Remove(handTrack);
                }
                else
                {
                    if (!newHand.HasPalmPoint)
                    {
                        continue;
                    }
                    handTrack.SetHandData(newHand);
                    var hoveredImage = this.images.Where(i => this.ImageContains(i, newHand.PalmPoint.Value)).LastOrDefault();
                    if (hoveredImage != null)
                    {
                        MoveImageToFront(hoveredImage);
                        handTrack.HandleTranslation(hoveredImage, this.handLayer.ZoomFactor);
                    }
                }
            }
        }