X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FAIModel%2FAITanker.cxx;h=ab7c8ed6dd7a240364977fb6b90020112c5b603f;hb=8a089f6d6f9e7851e73fd118cb9a5f5583cfe517;hp=d184b2b97ec3abf49225d0a5176ccc6db555edd0;hpb=ba8ed137cfd05f3112592ee2c87be08d4a2123c7;p=flightgear.git diff --git a/src/AIModel/AITanker.cxx b/src/AIModel/AITanker.cxx index d184b2b97..ab7c8ed6d 100644 --- a/src/AIModel/AITanker.cxx +++ b/src/AIModel/AITanker.cxx @@ -19,6 +19,9 @@ // along with this program; if not, write to the Free Software // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +#ifdef HAVE_CONFIG_H +# include +#endif #include "AITanker.hxx" @@ -32,20 +35,26 @@ void FGAITanker::readFromScenario(SGPropertyNode* scFileNode) { return; FGAIAircraft::readFromScenario(scFileNode); - setTACANChannelID(scFileNode->getStringValue("TACAN-channel-ID")); + setTACANChannelID(scFileNode->getStringValue("TACAN-channel-ID","")); + setName(scFileNode->getStringValue("name", "Tanker")); + } void FGAITanker::bind() { FGAIAircraft::bind(); props->tie("refuel/contact", SGRawValuePointer(&contact)); + props->tie("position/altitude-agl-ft",SGRawValuePointer(&altitude_agl_ft)); props->setStringValue("navaids/tacan/channel-ID", TACAN_channel_id.c_str()); + props->setStringValue("name", _name.c_str()); props->setBoolValue("tanker", true); } void FGAITanker::unbind() { FGAIAircraft::unbind(); props->untie("refuel/contact"); + props->untie("position/altitude-agl-ft"); + } void FGAITanker::setTACANChannelID(const string& id) { @@ -53,7 +62,10 @@ void FGAITanker::setTACANChannelID(const string& id) { } void FGAITanker::Run(double dt) { - FGAIAircraft::Run(dt); + //FGAIAircraft::Run(dt); + + double start = pos.getElevationFt() + 1000; + altitude_agl_ft = _getAltitudeAGL(pos, start); //###########################// // do calculations for radar // @@ -70,3 +82,10 @@ void FGAITanker::Run(double dt) { contact = false; } } + + +void FGAITanker::update(double dt) { + FGAIAircraft::update(dt); + Run(dt); + Transform(); +}