public void LogCollision(object sender, AirTrafficEvent e) { List <FlightDataDTO> aircraftsCollidingList = new List <FlightDataDTO>(); aircraftsCollidingList = e.AirTrafficList; foreach (var flight in aircraftsCollidingList) { FileStream output = new FileStream("CollidingAircrafts.txt", FileMode.Append, FileAccess.Write); StreamWriter fileWriter = new StreamWriter(output); fileWriter.WriteLine(flight.CollidingFlightsDto.collidingAircraftsString); fileWriter.Close(); } }
public void calculate(object sender, AirTrafficEvent e) { newTrackData = new List <FlightDataDTO>(); newTrackData = e.AirTrafficList; if (firstTime == false) { foreach (var Flight in newTrackData) { CalculateVelocity(Flight); calculateCourse(Flight); } } oldTrackData = newTrackData; firstTime = false; AirTrafficEvent airTrafficEvent = new AirTrafficEvent(newTrackData); DataCalculatedEvent?.Invoke(this, airTrafficEvent); }
public void ConsolePrint(object sender, AirTrafficEvent e) { foreach (var aircraftsInAirspace in e.AirTrafficList) { if (aircraftsInAirspace.Course == 0 && aircraftsInAirspace.Velocity == 0) { Console.WriteLine("Time: " + aircraftsInAirspace.TimeStamp + ":" + aircraftsInAirspace.TimeStamp.Millisecond + " Aircrafttag: " + aircraftsInAirspace.Tag + " Altitude: " + aircraftsInAirspace.Altitude + " X-Cor: " + aircraftsInAirspace.XCor + " Y-Cor " + aircraftsInAirspace.YCor + " Course: Unknown Velocity: Unknown\n"); } else { Console.WriteLine("Time: " + aircraftsInAirspace.TimeStamp + ":" + aircraftsInAirspace.TimeStamp.Millisecond + " Aircrafttag: " + aircraftsInAirspace.Tag + " Altitude: " + aircraftsInAirspace.Altitude + " X-Cor: " + aircraftsInAirspace.XCor + " Y-Cor " + aircraftsInAirspace.YCor + " Course: " + aircraftsInAirspace.Course + " Velocity: " + aircraftsInAirspace.Velocity + " m/s \n"); } } }
public void FiltrateArea(object sender, AirTrafficEvent e) { SortedDataTracks = new List <FlightDataDTO>(); SortedDataTracks = e.AirTrafficList; FiltratedDataTracks = new List <FlightDataDTO>(); foreach (var c in SortedDataTracks) { if (Convert.ToInt32(c.XCor) <= 85000 && Convert.ToInt32(c.XCor) >= 5000 && Convert.ToInt32(c.YCor) <= 85000 && Convert.ToInt32(c.YCor) >= 5000) { FiltratedDataTracks.Add(c); } } if (FiltratedDataTracks.Count != 0) //!FiltratedDataTracks.Contains(null)) { AirTrafficEvent airTrafficEvent = new AirTrafficEvent(FiltratedDataTracks); FiltratedEvent?.Invoke(this, airTrafficEvent); } }
public void RecieveData(object sender, AirTrafficEvent airTrafficEvent) { aircraftList = new List <FlightDataDTO>(); aircraftList = airTrafficEvent.AirTrafficList; DetectCollision(aircraftList); }