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");
        }
Пример #2
0
        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;
            }
        }