X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FAIModel%2FAITanker.cxx;h=6ab43e0349a16ca458e452f32dc6952e838f7a70;hb=d683d39e8552be5fadedd996c648dd7e16af17ee;hp=d184b2b97ec3abf49225d0a5176ccc6db555edd0;hpb=ba8ed137cfd05f3112592ee2c87be08d4a2123c7;p=flightgear.git diff --git a/src/AIModel/AITanker.cxx b/src/AIModel/AITanker.cxx index d184b2b97..6ab43e034 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,28 +35,31 @@ 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)); + tie("refuel/contact", SGRawValuePointer(&contact)); + 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"); -} - void FGAITanker::setTACANChannelID(const string& id) { TACAN_channel_id = 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 +76,10 @@ void FGAITanker::Run(double dt) { contact = false; } } + + +void FGAITanker::update(double dt) { + FGAIAircraft::update(dt); + Run(dt); + Transform(); +}