public static PtzVec <Tuple <FloatRange, float> > GetSpeedInfo(PtzView view) { Tuple <FloatRange, float> pan = null; Tuple <FloatRange, float> tilt = null; Tuple <FloatRange, float> zoom = null; var defSpeeds = view.ptzConfig.defaultPTZSpeed; if (defSpeeds == null) { return(Ptz.Vec(pan, tilt, zoom)); } var panTiltDef = defSpeeds.panTilt; if (panTiltDef != null) { var panTiltSpace = view.ptzSpacesConfig.absRelPanTiltSpeed; var rng = panTiltSpace != null ? panTiltSpace.xRange : null; pan = Tuple.Create(rng, panTiltDef.x); tilt = Tuple.Create(rng, panTiltDef.y); } var zoomDef = defSpeeds.zoom; if (zoomDef != null) { var zoomSpace = view.ptzSpacesConfig.absRelZoomSpeed; var rng = zoomSpace != null ? zoomSpace.xRange : null; zoom = Tuple.Create(rng, zoomDef.x); } return(Ptz.Vec(pan, tilt, zoom)); }
public override string ToString() { var r = $"{Id}"; if (!Rect.IsFullScreen()) { r += $" Pos{Rect.Left:F2}-{Rect.Top:F2}-{Rect.Width:F2}-{Rect.Height:F2}"; } if (!Ptz.IsFullScreen()) { r += $" Ptz{Ptz.Left:F2}-{Ptz.Top:F2}-{Ptz.Width:F2}-{Ptz.Height:F2}"; } if (PixelFormat >= 0) { r += "-" + Core.Const.GetVideoFormat(PixelFormat); } if (FixedFrame != null) { r += " fixed-frame"; } if (FilterChain != null) { r += "+" + FilterChain; } return(r); }
public static PtzVec <Slider> GetSpeedSliders(PtzView view) { return(Ptz.Vec( pan: view.sliderRelPanSpeed, tilt: view.sliderRelTiltSpeed, zoom: view.sliderRelZoomSpeed )); }
public static PtzVec <Slider> GetStepSliders(PtzView view) { return(Ptz.Vec( pan: view.sliderRelPanValue, tilt: view.sliderRelTiltValue, zoom: view.sliderRelZoomValue )); }
public static PtzVec <Slider> GetPosSliders(PtzView view) { return(Ptz.Vec( pan: view.sliderAbsPanValue, tilt: view.sliderAbsTiltValue, zoom: view.sliderAbsZoomValue )); }
public static PtzVec <Slider> GetLvlSliders(PtzView view) { return(Ptz.Vec( pan: view.sliderContPanVelocity, tilt: view.sliderContTiltVelocity, zoom: view.sliderContZoomVelocity )); }
public static PtzVec <FloatRange> GetValueRanges(PtzView view) { FloatRange pan, tilt, zoom; var panTiltSpace = view.ptzSpacesConfig.relPanTiltTranslation; var zoomSpace = view.ptzSpacesConfig.relZoomTranslation; if (panTiltSpace != null) { pan = panTiltSpace.xRange; tilt = panTiltSpace.yRange; } else { pan = tilt = null; } zoom = zoomSpace != null ? zoomSpace.xRange : null; return(Ptz.Vec(pan, tilt, zoom)); }
public static PtzVec <FloatRange> GetVelRanges(PtzView view) { FloatRange pan, tilt, zoom; var panTiltSpace = view.ptzSpacesConfig.contPanTiltVelocity; var zoomSpace = view.ptzSpacesConfig.contZoomVelocity; if (panTiltSpace != null) { pan = panTiltSpace.xRange; tilt = panTiltSpace.yRange; } else { pan = tilt = null; } zoom = zoomSpace != null ? zoomSpace.xRange : null; return(Ptz.Vec(pan, tilt, zoom)); }
void BindData() { //CommonData //valuePresetName.CreateBinding(TextBox.TextProperty, this, x => x.PresetName, (m, v) => { m.PresetName = v; }); //valuePresetsList.ItemsSource = Presets; //valuePresetsList.CreateBinding(ListBox.SelectedItemProperty, this, x => x.SelectedPreset, (m, v) => m.SelectedPreset = v); //ReloadPresets(); captionErrorMessage.CreateBinding(TextBlock.TextProperty, this, x => x.ErrorMessage); // setup controls for absolute movements //var absPanTiltPositon = model.status.IfNotNull(s => s.position.IfNotNull(p => p.panTilt)); //var absZoomPositon = model.status.IfNotNull(s => s.position.IfNotNull(p => p.zoom)); relMov = Ptz.Vec(ax => RelMov.Setup(ax, this)); contMov = Ptz.Vec(ax => ContMov.Setup(ax, this)); absMov = Ptz.Vec(ax => AbsMov.Setup(ax, this)); var hasRelativeMovements = relMov.ToSeq().Any(x => x.value != null); var hasContinuousMovements = contMov.ToSeq().Any(x => x.value != null); var hasAbsoluteMovements = absMov.ToSeq().Any(x => x.value != null); tglbtnAbsoluteMove.Visibility = hasAbsoluteMovements ? Visibility.Visible : Visibility.Collapsed; tglbtnRelativeMove.Visibility = hasRelativeMovements ? Visibility.Visible : Visibility.Collapsed; tglbtnContinuousMove.Visibility = hasContinuousMovements ? Visibility.Visible : Visibility.Collapsed; if (hasContinuousMovements) { SetMoveMode(PTZMoveModes.Continuous); } else if (hasRelativeMovements) { SetMoveMode(PTZMoveModes.Relative); } else if (hasAbsoluteMovements) { SetMoveMode(PTZMoveModes.Absolute); } //Buttons tglbtnAbsoluteMove.Checked += (s, e) => this.SetMoveMode(PTZMoveModes.Absolute, tglbtnAbsoluteMove.IsChecked == true); tglbtnRelativeMove.Checked += (s, e) => this.SetMoveMode(PTZMoveModes.Relative, tglbtnRelativeMove.IsChecked == true); tglbtnContinuousMove.Checked += (s, e) => this.SetMoveMode(PTZMoveModes.Continuous, tglbtnContinuousMove.IsChecked == true); btnContUp.PreviewMouseDown += ContinuousUp_MouseDown; btnContUp.PreviewMouseUp += ContinuousUp_MouseUp; btnContDown.PreviewMouseDown += ContinuousDown_MouseDown; btnContDown.PreviewMouseUp += ContinuousDown_MouseUp; btnContLeft.PreviewMouseDown += ContinuousLeft_MouseDown; btnContLeft.PreviewMouseUp += ContinuousLeft_MouseUp; btnContRight.PreviewMouseDown += ContinuousRight_MouseDown; btnContRight.PreviewMouseUp += ContinuousRight_MouseUp; btnContZoomMinus.PreviewMouseDown += ContinuousZoomMinus_MouseDown; btnContZoomMinus.PreviewMouseUp += ContinuousZoomMinus_MouseUp; btnContZoomPlus.PreviewMouseDown += ContinuousZoomPlus_MouseDown; btnContZoomPlus.PreviewMouseUp += ContinuousZoomPlus_MouseUp; btnRelUp.Click += RelUp_Click; btnRelRight.Click += RelRight_Click; btnRelDown.Click += RelDown_Click; btnRelLeft.Click += RelLeft_Click; btnRelZoomMinus.Click += RelZoomMinus_Click; btnRelZoomPlus.Click += RelZoomPlus_Click; btnAbsMove.Click += AbsoluteMove_Click; btnApplySettings.Click += new RoutedEventHandler(ApplySettings); btnDelete.Click += new RoutedEventHandler(Delete); btnGoHome.Click += new RoutedEventHandler(GoHome); btnGoTo.Click += new RoutedEventHandler(GoTo); btnSetHome.Click += new RoutedEventHandler(SetHome); btnSetPreset.Click += new RoutedEventHandler(SetPreset); }