Beispiel #1
0
        void FillElementItems(ItemList.ElementItem[] elementItems, SynesisRegionRuleModel model)
        {
            elementItems.ForEach(x => {
                switch (x.name)
                {
                case "DirectionAlarm":
                    model.DirectionAlarm = x.any.Deserialize <synesis.DirectionAlarm>();
                    break;

                case "LoiteringAlarm":
                    model.LoiteringAlarm = x.any.Deserialize <synesis.LoiteringAlarm>();
                    break;

                case "Points":
                    model.Points = x.any.Deserialize <synesis.RegionPoints>();
                    ScalePointsInput(model.Points);
                    break;

                case "SpeedAlarm":
                    model.SpeedAlarm = x.any.Deserialize <synesis.SpeedAlarm>();
                    break;

                case "AbandonedItemAlarm":
                    model.AbandonedItemAlarm = x.any.Deserialize <synesis.AbandonedItemAlarm>();
                    break;

                case "RegionMotionAlarm":
                    model.RegionMotionAlarm = x.any.Deserialize <synesis.RegionMotionAlarm>();
                    break;
                }
            });
        }
Beispiel #2
0
        public bool Init(IUnityContainer container, StreamInfoArgs args, odm.ui.activities.ConfigureAnalyticView.ModuleDescriptor modulDescr)
        {
            this.modulDescr = modulDescr;
            this.container  = container;

            this.videoDescr = new ConfigureAnalyticView.AnalyticsVideoDescriptor()
            {
                videoInfo = new VideoInfo()
                {
                    MediaUri = args.streamUri, Resolution = new Size()
                    {
                        Width = args.sourceResolution.Width, Height = args.sourceResolution.Height
                    }
                },
                videoSourceResolution = new Size()
                {
                    Width = args.encoderResolution.Width, Height = args.encoderResolution.Height
                }
            };

            this.videoInfo = videoDescr.videoInfo;

            videoSourceSize  = new Size(videoDescr.videoSourceResolution.Width, videoDescr.videoSourceResolution.Height);
            videoEncoderSize = new Size(videoDescr.videoInfo.Resolution.Width, videoDescr.videoInfo.Resolution.Height);

            model = new SynesisRegionRuleModel();

            try {
                FillElementItems(modulDescr.config.parameters.elementItem, model);
            } catch (Exception err) {
                dbg.Error(err);
                return(false);
            }
            try {
                BindData();
                VideoStartup(args);
            } catch (Exception err) {
                dbg.Error(err);
                return(false);
            }
            return(true);
        }
		void FillElementItems(ItemList.ElementItem[] elementItems, SynesisRegionRuleModel model) {
			elementItems.ForEach(x => {
				switch (x.name) {
					case "DirectionAlarm":
						model.DirectionAlarm = x.any.Deserialize<synesis.DirectionAlarm>();
						break;
					case "LoiteringAlarm":
						model.LoiteringAlarm = x.any.Deserialize<synesis.LoiteringAlarm>();
						break;
					case "Points":
						model.Points = x.any.Deserialize<synesis.RegionPoints>();
						ScalePointsInput(model.Points);
						break;
					case "SpeedAlarm":
						model.SpeedAlarm = x.any.Deserialize<synesis.SpeedAlarm>();
						break;
					case "AbandonedItemAlarm":
						model.AbandonedItemAlarm = x.any.Deserialize<synesis.AbandonedItemAlarm>();
						break;
					case "RegionMotionAlarm":
						model.RegionMotionAlarm = x.any.Deserialize<synesis.RegionMotionAlarm>();
						break;
				}
			});
		}
		public bool Init(IUnityContainer container, StreamInfoArgs args, odm.ui.activities.ConfigureAnalyticView.ModuleDescriptor modulDescr) {
			this.modulDescr = modulDescr;
			this.container = container;

			this.videoDescr = new ConfigureAnalyticView.AnalyticsVideoDescriptor() {
				videoInfo = new VideoInfo() { MediaUri = args.streamUri, Resolution = new Size() { Width = args.sourceResolution.Width, Height = args.sourceResolution.Height } },
				videoSourceResolution = new Size() { Width = args.encoderResolution.Width, Height = args.encoderResolution.Height }
			};

			this.videoInfo = videoDescr.videoInfo;

			videoSourceSize = new Size(videoDescr.videoSourceResolution.Width, videoDescr.videoSourceResolution.Height);
			videoEncoderSize = new Size(videoDescr.videoInfo.Resolution.Width, videoDescr.videoInfo.Resolution.Height);

			model = new SynesisRegionRuleModel();

			try {
				FillElementItems(modulDescr.config.parameters.elementItem, model);
			} catch (Exception err) {
				dbg.Error(err);
				return false;
			}
			try {
				BindData();
				VideoStartup(args);
			} catch (Exception err) {
				dbg.Error(err);
				return false;
			}
			return true;
		}