protected CoordinateTargetView(Target target, RenderTarget canvas, D2DFactory factory, CoordinateSystem coordinateSystem)
            : base(target)
        {
            if (target == null)
            {
                return;
            }

            this.canvas      = canvas;
            this.factory     = factory;
            CoordinateSystem = coordinateSystem;

            position = coordinateSystem.CoordinateToPoint(target.CurrentCoordinate);     //计算显示坐标

            activeRect = new Rect
            {
                Left   = (int)position.X - activeRectRadius,
                Top    = (int)position.Y - activeRectRadius,
                Right  = (int)position.X + activeRectRadius,
                Bottom = (int)position.Y + activeRectRadius
            };

            targetController = TargetManagerFactory.CreateTargetManagerController();
            targetViewBrush  = canvas.CreateSolidColorBrush(Tools.GetColorFFromRgb(255, 128, 0)); //橘黄
        }
        //overviewdisplayer显示器的控制模式切换到波门模式,需要读取targetmannager当前的模式决定切换到自动波门还是半自动波门
        public void SwitchToWaveGateState()
        {
            ITargetDataProvider provider = TargetManagerFactory.CreateTargetDataProvider();
            TargetManagerMode   mode     = provider.GetMode();

            switch (mode)
            {
            case TargetManagerMode.Auto:
                SwitchToAutoWaveGateState();
                break;

            case TargetManagerMode.SemiAuto:
                SwitchToSemiAutoWaveGateSate();
                break;

            case TargetManagerMode.Manual:
                break;

            case TargetManagerMode.Intelligent:
                break;

            default:
                throw new ArgumentOutOfRangeException();
            }
        }
        protected TargetViewManager(TrackDisplayer displayer)
        {
            this.displayer = displayer;

            //获取航迹管理器
            targetProvider = TargetManagerFactory.CreateTargetDataProvider();
            targetProvider.RegisterObserver(this);

            InitializeTargetArray();    //初始化dots和tracks
        }
Esempio n. 4
0
        protected TrackDisplayer(Control holder)
        {
            holder.Controls.Clear();
            DisplayControl = holder;

            timer = new Timer {
                Interval = 30
            };
            timer.Tick += Timer_Tick;
            timer.Start();

            //TrackManager_TestCase_Random该类用于测试绘图程序
            dataProvider = TargetManagerFactory.CreateTargetDataProvider();
        }
        public SystemController(OverViewDisplayer ovd)
        {
            //目标显示器命令初始化
            antennaControlStateCmd = new OverViewDisplayerAntennaControlCommand(ovd);
            autoWaveGateStateCmd   = new OverViewDisplayerAutoWaveGateCommand(ovd);
            semiAutoWaveGateCmd    = new OverViewDisplayerSemiAutoWaveGateCommand(ovd);
            zoomStateCmd           = new OverViewDisplayerZoomStateCommand(ovd);
            ResetDisplayerCmd      = new OverViewDisplayerResetCommand(ovd);

            delAvtiveTarget = new TargetManagerDeleteActiveTargetCommand();

            dataSourceController = TargetManagerFactory.CreateDataSourceController();

            deleteActiveWaveGatesCmd = new WaveGateDeleteActiveCommand();
        }
        IWaveGateDataProvider gateManager;   //波门管理对象

        public GraphicWaveGateViewManager(OverViewDisplayer dispalyer)
        {
            this.dispalyer = dispalyer;

            views = new List <GraphicWaveGateView>();

            //相应说表点击事件,该事件处理波门的选择
            dispalyer.DisplayControl.MouseClick += DisplayControl_MouseClick;

            //获取波门管理对象
            gateManager = TargetManagerFactory.CreateWaveGateDataProvider();
            gateManager.RegisterObserver(this); //注册监听

            //获取所有波门数据
            ReloadWaveGates();
        }
Esempio n. 7
0
        public DataGridViewTargetViewManager(DataGridViewDisplayer displayer) : base(displayer)
        {
            _tracks = new List <TargetTrack> [TargetManagerFactory.CreateTargetDataProvider().GetSectorCount()];

            //views = new DataGridViewTargetView[TrackMaximum];   //最大200个航迹

            //for (int i = 0; i < TrackMaximum; i++)
            //{
            //    views[i] = new DataGridViewTargetView(null, displayer, i + 1) {Target = null};
            //    //赋值null,可以隐藏该行
            //    views[i].DisplayTarget();       //向displayer.dgv添加行
            //    views[i].Selected = false;      //默认未被选中
            //}

            LoadTargetViews(targetProvider.GetTargetTracks());
        }
Esempio n. 8
0
        public DataGridViewDisplayer(Control c) : base(c)
        {
            tracks = new List <TargetTrack> [TargetManagerFactory.CreateTargetDataProvider().GetSectorCount()];

            for (int i = 0; i < tracks.Length; i++)
            {
                tracks[i] = new List <TargetTrack>();
            }

            Dgv = new DataGridView();

            SetDataGridViewFormat(Dgv); //设置格式

            c.Controls.Clear();
            c.Controls.Add(Dgv);

            timer.Enabled = false;

            targetsManager = new DataGridViewTargetViewManager(this);

            SetColors();
        }
Esempio n. 9
0
        private static int GetSectorCount()
        {
            ITargetDataProvider provider = TargetManagerFactory.CreateTargetDataProvider();

            return(provider.GetSectorCount());
        }
Esempio n. 10
0
 public WaveGateCommand()
 {
     waveGateController = TargetManagerFactory.CreateWaveGateController();
 }
Esempio n. 11
0
        protected IAntennaController antenna;   //天线控制器

        public AntennaCommand()
        {
            antenna = TargetManagerFactory.CreateAntennaContoller();
        }
 public SweepSectionManager(GraphicTrackDisplayer displayer)
 {
     this.displayer   = displayer;
     sweepModeSubject = TargetManagerFactory.CreateSweepModeSubject();
     sweepModeSubject.RegisterSweepModeObserver(this);
 }
 protected TargetManagerCommand()
 {
     targetController = TargetManagerFactory.CreateTargetManagerController();
 }