FGAIS: Difference between revisions

Jump to navigation Jump to search
483 bytes removed ,  2 November 2012
no edit summary
No edit summary
Line 107: Line 107:




* In order to see a smooth movement of our AI traffic we need to calculate a fictive velocity, this should be done in recompute_aircraft() {{Done}}
In order to see a smooth movement of our AI traffic we need to calculate a fictive velocity, this should be done in recompute_aircraft()
* Currently our extrapolation routine doesn't apply climb rate, we need to implement this. {{Done}}
* It seems that our extrapolator routine create an acceleration, we should keep a constant velocity
* Our recompute_routine() seems to be not enough predicative since AI return to their last position when they have consumed all their positions
* We should send n-1 position in order to avoid these back to position. It seems that an interpolator is more indicated for this task  (follow an AI, you will see that he change of heading when he come back to previous position)


== FGExternalMotionData ==
Currently our extrapolation routine doesn't apply climb rate, we need to implement this.
 
=== FGExternalMotionData ===


* "orientation" is where the nose of the aircraft is pointing
* "orientation" is where the nose of the aircraft is pointing
Line 165: Line 163:
* make the recompute_aircraft() method send valid packets for all traffic within 100nm {{Done}}
* make the recompute_aircraft() method send valid packets for all traffic within 100nm {{Done}}
* use a default model for "unknown" aircraft (a320 for the moment) {{Done}}
* use a default model for "unknown" aircraft (a320 for the moment) {{Done}}
* Send packets to fgfs clients via sendAITraffic() method {{Done}}


== Work in Progress ==
== Work in Progress ==
* actually use timeOffset in '''recompute_aircraft()''' method!
* actually use timeOffset in '''recompute_aircraft()''' method!
* improve the extrapolator routine (F-JJTH)
* improve altitude computation (F-JJTH)
* currently, we are using the hexcode as callsign to deal with identical callsigns (fg/fgms restriction)  
* currently, we are using the hexcode as callsign to deal with identical callsigns (fg/fgms restriction) (
* stop using a leaking MsgBuf pointer for the created PositionMap packets
* stop using a leaking MsgBuf pointer for the created PositionMap packets
* Start working on a '''removeOldAircraft()''' method to delete pointers of expired aircraft {{Progressbar|40}}
* Start working on a '''removeOldAircraft()''' method to delete pointers of expired aircraft {{Progressbar|40}}
* Implement aircraft_recompute() method to update positions using interpolation/extrapolation {{Progressbar|50}}
* Implement aircraft_recompute() method to update positions using interpolation/extrapolation {{Progressbar|50}}
* Only recompute positions once, in the FGAIS worker thread - and NOT in the fgms main thread ! {{Progressbar|30}}
* Only recompute positions once, in the FGAIS worker thread - and NOT in the fgms main thread ! {{Progressbar|30}}
* Send packets to fgfs clients via sendAITraffic() method {{Progressbar|100}}
* Move the vessel tracking code out into its own module {{Progressbar|20}} (Hooray)
* Move the vessel tracking code out into its own module {{Progressbar|20}} (Hooray)
* Implement an OOP framework for different providers {{Progressbar|20}} (Hooray)
* Implement an OOP framework for different providers {{Progressbar|20}} (Hooray)

Navigation menu