コード例 #1
0
        private void ConnectNewCycleDataSubject(string type, string source) //链接新数据源
        {
            _cycleDataSubject = GetCycleDataSubject(type);                  //获取新的周期数据对象

            _cycleDataMatrix.Clear();
            _cycleDataSubject.RegisterObserver(_cycleDataMatrix);
            TargetManagerFactory.CreateTrackManager().InitializeSectors(); //删除所有目标
            _cycleDataSubject.RegisterObserver(_antennaManager);
            _cycleDataSubject.RebindSource(source);                        //绑定数据源
        }
コード例 #2
0
        private static void ProcessRemoteTargetManagerUdpData(byte[] data)
        {
            byte head = data[1];

            int sectorNum = data[3];

            int targetCount = DistanceCell.MakeInt(data, 4, 2);

            if (head == 0xb1)
            {
                List <TargetDot> ls = GetTargetDotsFromSerialData(data, targetCount, sectorNum);
                TargetManagerFactory.CreateTrackManager().TargetDotDataReceivedFromRemoteTargetManager(sectorNum, ls);
            }

            if (head == 0xb2)
            {
                List <TargetTrack> ls = GetTargetTracksFromSerialData(data, targetCount, sectorNum);
                TargetManagerFactory.CreateTrackManager().TargetTrackDataReceivedFromRemoteTargetManager(sectorNum, ls);
            }
        }
コード例 #3
0
        public void NotifyLeaveAngleArea(AngleArea area) => AntennaLeaveSectionSweepAngleArea();//天线扫过了扇扫区域,需要翻转天线

        private void AntennaLeaveSectionSweepAngleArea()
        {
            _rotateController.ReverseSweepDirection();
            TargetManagerFactory.CreateTrackManager().DeleteOutRangedTargets(_sweepSection);
        }