Example #1
0
            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
                ));
 }
Example #5
0
 public static PtzVec <Slider> GetPosSliders(PtzView view)
 {
     return(Ptz.Vec(
                pan: view.sliderAbsPanValue,
                tilt: view.sliderAbsTiltValue,
                zoom: view.sliderAbsZoomValue
                ));
 }
Example #6
0
 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));
            }
Example #8
0
            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));
            }
Example #9
0
        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);
        }