#ifndef _FG_AISHIP_HXX
#define _FG_AISHIP_HXX
-#include "AIManager.hxx"
#include "AIBase.hxx"
-
+class FGAIManager;
class FGAIShip : public FGAIBase {
public:
- FGAIShip();
+ FGAIShip(FGAIManager* mgr);
~FGAIShip();
bool init();
virtual void bind();
virtual void unbind();
void update(double dt);
+ void setFlightPlan(FGAIFlightPlan* f);
+ void setName(const string&);
+ void setRudder(float r);
+ void setRoll(double rl);
+
+ void ProcessFlightPlan( double dt );
void AccelTo(double speed);
void PitchTo(double angle);
void YawTo(double angle);
void ClimbTo(double altitude);
void TurnTo(double heading);
+ bool hdg_lock;
+protected:
+
+ string name; // The name of this ship.
+
private:
- bool hdg_lock;
- double rudder;
+ float rudder, tgt_rudder;
+ double rudder_constant, roll_constant, speed_constant, hdg_constant;
void Run(double dt);
double sign(double x);