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(")"); }
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; } }