public AzimuthCell ModifyOriginalData(AzimuthCell originalData) { originalData.DisCells.Clear(); DistanceCell cell1 = new DistanceCell { az = originalData.Angle, index = 100, el = 10, sumAM = 100000 }; //double height = Math.Sin(Tools.DegreeToRadian(cell1.el)) * cell1.Distance; DistanceCell cell2 = new DistanceCell { az = originalData.Angle, index = 200, el = 15, sumAM = 100000 }; originalData.DisCells.Add(100, cell1); originalData.DisCells.Add(200, cell2); return(originalData); }
public void CalElTest() { byte input = 0x32; double expect = 3.14; Assert.AreEqual(DistanceCell.CalEl(input), expect); }
public bool IsDistanceCellAdjacentDistanceWise(DistanceCell cell) { foreach (DistanceCell distanceCell in Cells) { if (Math.Abs(distanceCell.Distance - cell.Distance) < 4) { return(true); } } return(false); }
protected void ShowOriginalVideo(Sector center, Sector right, Sector left, AzimuthCell[] cells) { foreach (AzimuthCell cell in cells) { foreach (object o in cell.DisCells.Values) { if (center.IsAngleInArea(cell.GetAngle())) { DistanceCell dis = (DistanceCell)o; TargetDot dot = new TargetDot(cell.GetAngle(), dis.el, dis.Distance) { AmValue = dis.sumAM }; center.AddNewDot(dot); } } } }
public void GetTargetAreasTest() { AzimuthCell azCell = new AzimuthCell(); DistanceCell disCell1 = new DistanceCell { index = 10 }; DistanceCell disCell2 = new DistanceCell { index = 11 }; DistanceCell disCell3 = new DistanceCell { index = 12 }; DistanceCell disCell4 = new DistanceCell { index = 13 }; DistanceCell disCell5 = new DistanceCell { index = 15 }; DistanceCell disCell6 = new DistanceCell { index = 100 }; DistanceCell disCell7 = new DistanceCell { index = 101 }; DistanceCell disCell8 = new DistanceCell { index = 122 }; DistanceCell disCell9 = new DistanceCell { index = 132 }; azCell.DisCells.Add(10, disCell1); azCell.DisCells.Add(11, disCell2); azCell.DisCells.Add(12, disCell3); azCell.DisCells.Add(13, disCell4); azCell.DisCells.Add(15, disCell5); azCell.DisCells.Add(100, disCell6); azCell.DisCells.Add(101, disCell7); azCell.DisCells.Add(122, disCell8); azCell.DisCells.Add(132, disCell9); //List<TargetAreaEdge> ret = FourSevenClotter.GetTargetAreaEdges(azCell); Assert.IsTrue(true); }
public AzimuthCell ModifyOriginalData(AzimuthCell originalData) { originalData.DisCells.Clear(); AngleArea testAngleArea = new AngleArea(0f, 33.75f); AngleArea testAngleArea1 = new AngleArea(20f, 25f); //if (testAngleArea.IsAngleInArea(realData.Angle) /*|| testAngleArea1.IsAngleInArea(realData.Angle)*/) if (!testAngleArea1.IsAngleInArea(originalData.Angle)) { DistanceCell distanceCell = new DistanceCell() { index = 300, sumAM = 100000, az = originalData.Angle }; originalData.DisCells.Add(300, distanceCell); return(originalData); } return(null); }
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); } }
public override void Clot(Sector center, Sector right, Sector left, AzimuthCell[] cells) { MoveNewDotToOldDot(center); foreach (AzimuthCell cell in cells) { foreach (object o in cell.DisCells.Values) { if (center.IsAngleInArea(cell.GetAngle())) { DistanceCell dis = (DistanceCell)o; TargetDot dot = new TargetDot(cell.GetAngle(), dis.el, dis.Distance) { AmValue = dis.sumAM }; center.AddNewDot(dot); } } } NotifyUpdateSectorDot(center); //通知更新该扇区的目标点视图 }
public AzimuthCell ModifyOriginalData(AzimuthCell originalData) { //AngleArea testAngleArea1 = new AngleArea(20f, 30f); if (!movementArea.IsAngleInArea(originalData.Angle)) { return(null); } originalData.DisCells.Clear(); TimeSpan interval = DateTime.Now - _lastRefreshTime; _lastRefreshTime = DateTime.Now; Distance += TargetSpeed * interval.TotalSeconds; //Console.WriteLine(Distance); int distanceCellIndex = (int)(Distance / 2.92f); DistanceCell distanceCell = new DistanceCell() { index = distanceCellIndex, sumAM = 100000, az = originalData.Angle }; originalData.DisCells.Add(distanceCellIndex, distanceCell); return(originalData); }
public void AddDistanceCell(DistanceCell cell) => Cells.Add(cell);
//public static int[] Permanent = {364, 365, 366, 367, 368, 369, 370, 729, 730, 731, 794, 795, 796, 945, 946, 947 }; public static bool Pass(DistanceCell cell) { return(cell.speed > SpeedMinimum && cell.speed < SpeedMaximum && cell.sumAM > AmThreshold && cell.el > 0 && cell.Distance < DistanceMax); }