2007-06-09 11:49:16 +00:00
|
|
|
|
// AITanker.hxx Based on David Culp's AIModel code
|
|
|
|
|
// - Tanker specific code isolated from AI Aircraft code
|
|
|
|
|
// by Thomas Foerster, started June 2007
|
|
|
|
|
//
|
|
|
|
|
//
|
|
|
|
|
// Original code written by David Culp, started October 2003.
|
|
|
|
|
// - davidculp2@comcast.net/
|
|
|
|
|
// This program is free software; you can redistribute it and/or
|
|
|
|
|
// modify it under the terms of the GNU General Public License as
|
|
|
|
|
// published by the Free Software Foundation; either version 2 of the
|
|
|
|
|
// License, or (at your option) any later version.
|
|
|
|
|
//
|
|
|
|
|
// This program is distributed in the hope that it will be useful, but
|
|
|
|
|
// WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
|
|
|
// General Public License for more details.
|
|
|
|
|
//
|
|
|
|
|
// You should have received a copy of the GNU General Public License
|
|
|
|
|
// along with this program; if not, write to the Free Software
|
|
|
|
|
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
|
|
|
|
|
|
|
|
#ifndef FGAITANKER_HXX
|
|
|
|
|
#define FGAITANKER_HXX
|
|
|
|
|
|
2007-06-16 15:57:42 +00:00
|
|
|
|
#include "AIAircraft.hxx"
|
2007-06-09 11:49:16 +00:00
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* An AI tanker for air-air refueling.
|
|
|
|
|
*
|
|
|
|
|
* This class is just a refactoring of the AA refueling related code in FGAIAircraft. The idea
|
|
|
|
|
* is to have a clean generic AIAircraft class without any special functionality. In your
|
|
|
|
|
* scenario specification use 'tanker' as the scenario type to use this class.
|
|
|
|
|
*
|
2007-06-15 20:52:32 +00:00
|
|
|
|
* @author Thomas F<EFBFBD>ster <t.foerster@biologie.hu-berlin.de>
|
2007-06-09 11:49:16 +00:00
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
class FGAITanker : public FGAIAircraft {
|
|
|
|
|
public:
|
|
|
|
|
FGAITanker(FGAISchedule* ref = 0);
|
|
|
|
|
~FGAITanker();
|
|
|
|
|
|
2021-02-22 05:18:15 +00:00
|
|
|
|
void readFromScenario(SGPropertyNode* scFileNode) override;
|
|
|
|
|
void bind() override;
|
2007-06-09 11:49:16 +00:00
|
|
|
|
|
2021-02-22 05:18:15 +00:00
|
|
|
|
const char* getTypeString(void) const override { return "tanker"; }
|
2007-06-09 11:49:16 +00:00
|
|
|
|
|
2013-03-28 16:49:52 +00:00
|
|
|
|
void setTACANChannelID(const std::string& id);
|
2007-06-09 11:49:16 +00:00
|
|
|
|
|
|
|
|
|
private:
|
2013-03-28 16:49:52 +00:00
|
|
|
|
std::string TACAN_channel_id; // The TACAN channel of this tanker
|
2007-06-09 11:49:16 +00:00
|
|
|
|
bool contact; // set if this tanker is within fuelling range
|
|
|
|
|
|
|
|
|
|
virtual void Run(double dt);
|
2021-02-22 05:18:15 +00:00
|
|
|
|
void update(double dt) override;
|
2007-06-09 11:49:16 +00:00
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
#endif
|