]> git.mxchange.org Git - flightgear.git/commit
David Culp:
authorehofman <ehofman>
Sun, 6 Jun 2004 08:50:17 +0000 (08:50 +0000)
committerehofman <ehofman>
Sun, 6 Jun 2004 08:50:17 +0000 (08:50 +0000)
commitdda15ac4888ec7e99b68060760ee35f202d2cae0
tree20400774fbb99b4c604e682592ba60b2550a2fe6
parent38f5e2c1dd479d2ec86b00296326379d1f87165a
David Culp:

Here's some additions to AI that allow refueling from an AI tanker (the actual
onload of fuel must be handled by the user's FDM of course, this just lets
the FDM know that the user is in position to refuel).

I've added a new class of AIAircraft called "tanker".  It uses the same
performance struct as a jet transport.  An AI tanker is just like an AI jet
transport, except it uses the already-existing radar data to control the
boolean property systems/refuel/contact.  The code change was minimal.

An AI tanker can be created like this:

  <entry>
   <callsign>Esso 1</callsign>
   <type>aircraft</type>
   <class>tanker</class>
   <model>Aircraft/737/Models/boeing733.xml</model>
   <latitude>37.61633</latitude>
   <longitude>-122.38334</longitude>
   <altitude>3000</altitude>
   <heading>020</heading>
   <speed>280</speed>
   <roll>-15</roll>
  </entry>

This puts a tanker over KSFO at 3000 feet, in a left-hand orbit.  When the
user gets within refueling range (contact position) then the property
systems/refuel/contact will be true.  Otherwise it is false.

The dimensions of the refueling envelope are pretty rough right now, but still
usable.  The user must be behind the tanker (ie. radar y_offset > 0).  The
user must be at or below the tanker's altitude (ie. radar elevation > 0).
The user's lat/lon must be within 250 feet of the tanker's lat/lon (ie. radar
range_ft < 250).  This last requirement is loose because the radar data is
only updated every 100 ms, which is accurate enough for radar use, but
which is sloppy for air refueling.  This could be tightened up by increasing
the radar update rate to once every sim cycle.

I'm going to add a light to the T-38 instrument panel that will monitor the
property systems/refuel/contact.  This will make it easier to explore the
boundaries of the refueling envelope.
src/AIModel/AIAircraft.cxx
src/AIModel/AIAircraft.hxx
src/AIModel/AIManager.cxx