Ejemplo n.º 1
0
 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);
     }
 }
Ejemplo n.º 2
0
        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;
        }
Ejemplo n.º 3
0
 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);
 }
Ejemplo n.º 5
0
 static public ICalibrationManager BuildCalibrationManagerForTesting(Options.CalibrationMode calibration_mode)
 {
     return(BuildCalibrationManager(calibration_mode, true));
 }
Ejemplo n.º 6
0
 public CalibrationManagerV1(Options.CalibrationMode mode, bool for_testing)
 {
     calibration_mode = mode;
     cache            = new ShiftStorageCache(mode);
     shift_storage    = new ShiftsStorage(calibration_mode, cache, for_testing);
 }