private void SetEyePositions(Point2D left, Point2D right, double z) { EyePositions.Clear(); if (!double.IsNaN(left.X)) { EyePositions.Add(ToPoint(left)); } if (!double.IsNaN(right.X)) { EyePositions.Add(ToPoint(right)); } if (z < CalibrationNearLimit) { PositioningStatus = WpfCalibrationSample.PositioningStatus.TooClose; } else if (z <= CalibrationFarLimit) { PositioningStatus = WpfCalibrationSample.PositioningStatus.PositionOk; } else { PositioningStatus = WpfCalibrationSample.PositioningStatus.TooFarOrNotDetected; } OnPropertyChanged("PositioningStatus"); }
private void Init() { switch (_testCase) { case 0: Stage = WpfCalibrationSample.Stage.Initializing; OnPropertyChanged(); break; case 1: Stage = WpfCalibrationSample.Stage.PositioningGuide; EyePositions.Clear(); EyePositions.Add(new Point(0, 0)); EyePositions.Add(new Point(1, 1)); OnPropertyChanged(); break; case 2: Stage = WpfCalibrationSample.Stage.Calibration; OnPropertyChanged(); CalibrationDotPosition = new Point(0.1, 0.1); OnPropertyChanged("CalibrationDotPosition"); break; case 3: Stage = WpfCalibrationSample.Stage.Calibration; OnPropertyChanged(); CalibrationDotPosition = new Point(0, 0); OnPropertyChanged("CalibrationDotPosition"); break; case 4: Stage = WpfCalibrationSample.Stage.Calibration; OnPropertyChanged(); CalibrationDotPosition = new Point(1, 1); OnPropertyChanged("CalibrationDotPosition"); break; case 5: Stage = WpfCalibrationSample.Stage.Calibration; OnPropertyChanged(); CalibrationDotPosition = new Point(0.5, 0.5); OnPropertyChanged("CalibrationDotPosition"); break; case 6: Stage = WpfCalibrationSample.Stage.ComputingCalibration; OnPropertyChanged(); break; case 7: Stage = WpfCalibrationSample.Stage.Finished; OnPropertyChanged(); break; case 8: Stage = WpfCalibrationSample.Stage.Error; ErrorMessage = "There has been a failure on the internets!"; OnPropertyChanged(); break; } }