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 }
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(); }
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()); }
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(); }
private static int GetSectorCount() { ITargetDataProvider provider = TargetManagerFactory.CreateTargetDataProvider(); return(provider.GetSectorCount()); }
public WaveGateCommand() { waveGateController = TargetManagerFactory.CreateWaveGateController(); }
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(); }