private void UpdateEyeData(string eyeName, GazeHidPosition eyePosition, Windows.UI.Xaml.Shapes.Ellipse eyeEllipse, StringBuilder sb)
        {
            sb.Append($"{eyeName,7}EyePos (");
            if (eyePosition != null)
            {
                sb.Append($"{(eyePosition.X / 1000.0),6:F1}mm, {(eyePosition.Y / 1000.0),6:F1}mm, {(eyePosition.Z / 1000.0),6:F1}mm)");

                if (eyePosition.X >= 0 &&
                    eyePosition.X <= screenSizeMicrometersWidth &&
                    eyePosition.Y >= 0 &&
                    eyePosition.Y <= screenSizeMicrometersHeight)
                {
                    var newX = MapRange(0, screenSizeMicrometersWidth, 0, ActualWidth, eyePosition.X);
                    var newY = MapRange(0, screenSizeMicrometersHeight, 0, ActualHeight, eyePosition.Y);

                    var newZ = string.Empty;
                    if (eyePosition.Z < 400000)
                    {
                        newZ            = "Red";
                        eyeEllipse.Fill = new SolidColorBrush(Colors.Red);
                    }
                    else if (eyePosition.Z < 500000)
                    {
                        newZ            = "Yellow";
                        eyeEllipse.Fill = new SolidColorBrush(Colors.Yellow);
                    }
                    else if (eyePosition.Z < 700000)
                    {
                        newZ            = "Green";
                        eyeEllipse.Fill = new SolidColorBrush(Colors.Green);
                    }
                    else if (eyePosition.Z < 800000)
                    {
                        newZ            = "Yellow";
                        eyeEllipse.Fill = new SolidColorBrush(Colors.Yellow);
                    }
                    else
                    {
                        newZ            = "Red";
                        eyeEllipse.Fill = new SolidColorBrush(Colors.Red);
                    }

                    sb.Append($" ({newX,6:F0}, {newY,6:F0}, {newZ}");

                    Canvas.SetLeft(eyeEllipse, newX);
                    Canvas.SetTop(eyeEllipse, newY);

                    eyeEllipse.Visibility = Visibility.Visible;
                }
                else
                {
                    eyeEllipse.Visibility = Visibility.Collapsed;
                }
            }
            else
            {
                eyeEllipse.Visibility = Visibility.Collapsed;
            }
            sb.AppendLine(")");
        }
Пример #2
0
 public void SetPosition(GazeHidPosition hidPosition)
 {
     this.HasValue = (hidPosition != null);
     if (this.HasValue)
     {
         this.X = hidPosition.X;
         this.Y = hidPosition.Y;
         this.Z = hidPosition.Z;
     }
     else
     {
         this.X = 0;
         this.Y = 0;
         this.Z = 0;
     }
 }