Last week, Erik Hofman was kind enough to commit the first version of a traffic manager into cvs. Since then, I've been hinting at the exsistence of this system, but because I was a little low on time so I didn't have a chance to tell more about it.
So, what is the traffic manager? Simply put, it's a subsystem that maintains a database of routes that will be flown by aircraft listed in this database. Based on these routing tables, it tracks the approximate position of each aircraft, and when one of these aircraft come within range of the user (currently hard coded as less than 500 nm), the traffic manager creates an AIAircraft, which then continues to fly it's assigned route. For a demo, I thought it would be a nice idea to schedule some flights between KSFO and EHAM (my home city). Since the only flight I could find was flown by an MD11 in real-life (by KLM), I started off building a schedule around this route. Since the total time for a return flight is almost 24 hours, I needed to set up a weekly rotating schedule, where the aircraft that is flying EHAM KSFO on day one, is assigned a flight to another destination on day two. Using this approach, I set up a schedule between Schiphol Amsterdam (EHAM), and seven other cities, on three continents: North America (KSFO, KMSP, CYVR, and CYUL), Africa (DNMM, and DGAA), and Asia (VIDP). Because each of these is a daily scheduled flight, I created seven aircraft schedules, where each one is offset by one day, relative to the other. These traffic schedules can be found in ${FGROOT}/data/Traffic. Each route needs to have flightplan associated with it, in ${FGROOT}/data/Data/AI/FlightPlans/ These are named DDDD-AAAA.xml, where DDDD is the ICAO code for the departure airport and AAAA the ICAO code of the arrival airport. The version of the traffic manager that is now in CVS is an intermediate development version, which still has some limitations. These are: 1) It only handles aircraft that are enroute and ignores the ones that are parked. 2) Once the traffic manager has handed control over to the AIManager subsystem, the Traffic manager loses control over this aircraft and will not regain it. 3) Currently, each route listed in the traffic manager need to have a hand-created flight plan associated with it. Currently, this rather limits the flexibility of creating new routes. 4) Once an AIAircraft is at the end of it's flight plan, the aircraft is deleted from memory. 5) AIAircraft continue to fly, even when they've gone out of range. Most of these issues are somewhere on my todo list to fix next. Especially having the traffic manager regain control over aircraft that have flown out of range and automatic flightplan generation are quite high on my priority list. Cheers, Durk _______________________________________________ Flightgear-devel mailing list [EMAIL PROTECTED] http://mail.flightgear.org/mailman/listinfo/flightgear-devel