]> git.mxchange.org Git - flightgear.git/blobdiff - src/AIModel/AIShip.hxx
Ground network distance tracking code. AIAircraft taxiing at airports
[flightgear.git] / src / AIModel / AIShip.hxx
index 25d8b449581c447652b8a744abc235dc171fbd5a..90a58f108b60bc882846c3d6926057585616b9ae 100644 (file)
@@ -16,7 +16,7 @@
 //
 // 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., 675 Mass Ave, Cambridge, MA 02139, USA.
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
 
 #ifndef _FG_AISHIP_HXX
 #define _FG_AISHIP_HXX
@@ -28,14 +28,20 @@ class FGAIShip : public FGAIBase {
        
 public:
        
-       FGAIShip(FGAIManager* mgr);
-       ~FGAIShip();
+        FGAIShip(object_type ot = otShip);
+       virtual ~FGAIShip();
        
-       bool init();
+        virtual void readFromScenario(SGPropertyNode* scFileNode);
+
+       virtual bool init();
         virtual void bind();
         virtual void unbind();
-       void update(double dt);
+       virtual 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);
@@ -44,11 +50,18 @@ public:
         void YawTo(double angle);
         void ClimbTo(double altitude);
         void TurnTo(double heading);
+           bool hdg_lock;
+
+        virtual const char* getTypeString(void) const { return "ship"; }
        
+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);