public CalibratorViewModel(EyeTrackerCalibrator calibrator, ICalibrationProfilesService calibrations) { calibrator.ThrowIfNull(nameof(calibrator)); _calibrator = calibrator; _calibrator.StateChanged += (_, __) => _commands.TryRaiseCanExecuteChanged(); var plans = new List <CalibrationPlan>() { CalibrationPlansFactory.CreateBasicPlan9(), CalibrationPlansFactory.CreateBasicPlan5(), CalibrationPlansFactory.CreateDiamondPlan12(), }; PlansSelection = new SelectionViewModel <CalibrationPlan>(plans) { SelectedIndex = 0 }; Calibration = new CalibrationViewModel(_calibrator); Calibration.Completed += Calibration_Completed; Calibration.Cancelled += Calibration_Cancelled; HeadPosition = new HeadPositioningViewModel(_calibrator.HeadPositioning); StoredCalibrations = new StoredCalibrationsViewModel(calibrations); StoredCalibrations.CalibrationLoaded += StoredCalibrations_CalibrationLoaded; }
public ICalibrator GetCalibrator() { if (CanCalibrate) { var calibrator = new EyeTrackerCalibrator(this, _connectedTracker); CalibratorRequested?.Invoke(this, calibrator); return(calibrator); } throw new InvalidOperationException("Not connected to any eye tracker."); }
public CalibrationViewModel(EyeTrackerCalibrator calibrator) { _calibrator = calibrator; }