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);
        }
Example #3
0
 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");
         }
     }
 }
Example #4
0
        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);
 }