AbsMov(float min, float max, AbsRelSpeed speed) { rng = new Range<float>(min, max); pos = 0f; if (min >= 0f || max <= 0f) { pos = rng.Coerce(min / 2f + max / 2f); } this.speed = speed; }
public static AbsRelSpeed Create(PtzAxis ax, PtzView view, Slider slider) { AbsRelSpeed res = null; do { var spdInf = GetSpeedInfo(view)[ax]; if (spdInf == null) { break; } var range = spdInf.Item1; if (range == null) { break; } var def = spdInf.Item2; if (range == null) { break; } if (float.IsNaN(def)) { break; } var min = range.min; var max = range.max; if (float.IsNaN(min) || float.IsNaN(max) || min > max) { break; } if (float.IsNegativeInfinity(min)) { min = float.MinValue; } if (float.IsPositiveInfinity(max)) { max = float.MaxValue; } if (def > max || def < min) { res = new AbsRelSpeed(def, def, def); break; } res = new AbsRelSpeed(min, max, def); if (slider != null) { slider.Minimum = min; slider.Maximum = max; slider.SmallChange = (max - min) / 100f; slider.LargeChange = (max - min) / 10f; slider.Value = def; slider.Visibility = Visibility.Visible; if (min != max) { slider.IsEnabled = true; slider.ValueChanged += (s, a) => { res.val = res.rng.Coerce((float)a.NewValue); }; } else { slider.IsEnabled = false; } } return res; } while (false); if (slider != null) { slider.Visibility = Visibility.Collapsed; } return res; }
RelMov(float min, float max, AbsRelSpeed speed) { rng = new Range<float>(min, max); origin = 0f; if (min >= 0f || max <= 0f) { origin = rng.Coerce(min / 2f + max / 2f); } step = 10f; this.speed = speed; }
AbsMov(float min, float max, AbsRelSpeed speed) { rng = new Range <float>(min, max); pos = 0f; if (min >= 0f || max <= 0f) { pos = rng.Coerce(min / 2f + max / 2f); } this.speed = speed; }
RelMov(float min, float max, AbsRelSpeed speed) { rng = new Range <float>(min, max); origin = 0f; if (min >= 0f || max <= 0f) { origin = rng.Coerce(min / 2f + max / 2f); } step = 10f; this.speed = speed; }
public static AbsRelSpeed Create(PtzAxis ax, PtzView view, Slider slider) { AbsRelSpeed res = null; do { var spdInf = GetSpeedInfo(view)[ax]; if (spdInf == null) { break; } var range = spdInf.Item1; if (range == null) { break; } var def = spdInf.Item2; if (range == null) { break; } if (float.IsNaN(def)) { break; } var min = range.min; var max = range.max; if (float.IsNaN(min) || float.IsNaN(max) || min > max) { break; } if (float.IsNegativeInfinity(min)) { min = float.MinValue; } if (float.IsPositiveInfinity(max)) { max = float.MaxValue; } if (def > max || def < min) { res = new AbsRelSpeed(def, def, def); break; } res = new AbsRelSpeed(min, max, def); if (slider != null) { slider.Minimum = min; slider.Maximum = max; slider.SmallChange = (max - min) / 100f; slider.LargeChange = (max - min) / 10f; slider.Value = def; slider.Visibility = Visibility.Visible; if (min != max) { slider.IsEnabled = true; slider.ValueChanged += (s, a) => { res.val = res.rng.Coerce((float)a.NewValue); }; } else { slider.IsEnabled = false; } } return(res); } while (false); if (slider != null) { slider.Visibility = Visibility.Collapsed; } return(res); }
public static RelMov Setup(PtzAxis ax, PtzView view) { RelMov res = null; var stepSlider = GetStepSliders(view)[ax]; var sppedSlider = GetSpeedSliders(view)[ax]; do { var range = GetValueRanges(view)[ax]; if (range == null) { break; } var min = range.min; var max = range.max; if (float.IsNaN(min) || float.IsNaN(max) || min > max) { break; } if (float.IsNegativeInfinity(min)) { min = float.MinValue; } if (float.IsPositiveInfinity(max)) { max = float.MaxValue; } if (stepSlider == null) { res = new RelMov(min, max, AbsRelSpeed.Create(ax, view, null)); break; } res = new RelMov(min, max, AbsRelSpeed.Create(ax, view, sppedSlider)); stepSlider.Minimum = 0d; stepSlider.Maximum = 100d; stepSlider.SmallChange = 1d; stepSlider.LargeChange = 10d; stepSlider.Value = res.step; stepSlider.Visibility = Visibility.Visible; if (min != max) { stepSlider.IsEnabled = true; stepSlider.ValueChanged += (s, a) => { res.step = (float)a.NewValue; }; } else { stepSlider.IsEnabled = false; } return(res); } while(false); if (stepSlider != null) { stepSlider.Visibility = Visibility.Collapsed; } if (sppedSlider != null) { sppedSlider.Visibility = Visibility.Collapsed; } return(res); }
public static AbsMov Setup(PtzAxis ax, PtzView view) { AbsMov res = null; var posSlider = GetPosSliders(view)[ax]; var speedSlider = GetSpeedSliders(view)[ax]; do { var range = GetPosRanges(view)[ax]; if (range == null) { break; } var min = range.min; var max = range.max; if (float.IsNaN(min) || float.IsNaN(max) || min > max) { break; } if (float.IsNegativeInfinity(min)) { min = float.MinValue; } if (float.IsPositiveInfinity(max)) { max = float.MaxValue; } if (posSlider == null) { res = new AbsMov(min, max, AbsRelSpeed.Create(ax, view, null)); break; } res = new AbsMov(min, max, AbsRelSpeed.Create(ax, view, speedSlider)); posSlider.Minimum = min; posSlider.Maximum = max; posSlider.SmallChange = (max - min) / 100f; posSlider.LargeChange = (max - min) / 10f; posSlider.Value = res.pos; posSlider.Visibility = Visibility.Visible; if (min != max) { posSlider.IsEnabled = true; posSlider.ValueChanged += (s, a) => { res.pos = res.rng.Coerce((float)a.NewValue); }; } else { posSlider.IsEnabled = false; } return(res); } while (false); if (posSlider != null) { posSlider.Visibility = Visibility.Collapsed; } if (speedSlider != null) { speedSlider.Visibility = Visibility.Collapsed; } return(res); }