static private ICalibrationManager BuildCalibrationManager(Options.CalibrationMode calibration_mode, bool for_testing) { if (calibration_mode.algorithm == "V0") { return(new CalibrationManagerV0(calibration_mode, for_testing)); } else if (calibration_mode.algorithm == "V1") { return(new CalibrationManagerV1(calibration_mode, for_testing)); } else if (calibration_mode.algorithm == "V2") { return(new CalibrationManagerV2(calibration_mode, for_testing)); } else if (calibration_mode.algorithm == "NO") { return(new NoCalibrationManager()); } else { System.Windows.MessageBox.Show("Wrong algorithm name in options file"); Environment.Exit(-1); return(null); } }
public ShiftStorageCache(Options.CalibrationMode mode) { this.mode = mode; int aligned_max_zones_count = 8; for (; aligned_max_zones_count < this.mode.max_zones_count; aligned_max_zones_count *= 2) { ; } this.mode.max_zones_count = aligned_max_zones_count; var scales_in_percents = mode.additional_dimensions_configuration.CoordinatesScalesInPercents; coordinate_scales = scales_in_percents.Select(x => x / 100.0f).ToArray(); for (int i = 2; i < scales_in_percents.Length; i++) { coordinate_scales[i] *= mode.zone_size / 150f; } cached_data = new float[ AlignedCoordinatesCount * mode.max_zones_count + // cached coordinates AlignedCoordinatesCount * mode.max_zones_count // subtruction results ]; cached_distances = new float[mode.max_zones_count]; distance_mask = new int[mode.max_zones_count]; cursor_coordinates = new float[AlignedCoordinatesCount]; subtract_results_starting_index = AlignedCoordinatesCount * mode.max_zones_count; }
public ShiftsStorage(Options.CalibrationMode mode, bool for_testing) { calibration_mode = mode; DefaultPath = GetFilepath(Helpers.UserDataFolder); this.cache = new ShiftStorageCache(mode); if (!for_testing) { LoadFromFile(); } }
public CalibrationManagerV0(Options.CalibrationMode mode, bool for_testing) { calibration_mode = mode; shift_storage = new ShiftsStorage(calibration_mode, for_testing); }
static public ICalibrationManager BuildCalibrationManagerForTesting(Options.CalibrationMode calibration_mode) { return(BuildCalibrationManager(calibration_mode, true)); }
public CalibrationManagerV1(Options.CalibrationMode mode, bool for_testing) { calibration_mode = mode; cache = new ShiftStorageCache(mode); shift_storage = new ShiftsStorage(calibration_mode, cache, for_testing); }