]> git.mxchange.org Git - flightgear.git/blobdiff - src/AIModel/AIBase.hxx
Oops, make sure that one of the default splash screens gets used when the splash...
[flightgear.git] / src / AIModel / AIBase.hxx
index 9221ddb4f24894383064161bd58ae0b6e35d1ac0..412a6c20b84f0773b6fa4d3ee0b68f65534bd72a 100644 (file)
@@ -31,6 +31,7 @@ class FGAIBase {
 
 public:
 
+    FGAIBase();
     virtual ~FGAIBase();
     virtual void update(double dt);
     inline Point3D GetPos() { return(pos); }
@@ -42,9 +43,9 @@ public:
     void setPath( const char* model );
     void setSpeed( double speed_KTAS );
     void setAltitude( double altitude_ft );
-    void setLongitude( double longitude );
-    void setLatitude( double latitude );
     void setHeading( double heading );
+    void setLatitude( double latitude );
+    void setLongitude( double longitude );
 
     void setDie( bool die );
     bool getDie();
@@ -54,7 +55,6 @@ protected:
     SGPropertyNode *props;
 
     Point3D pos;       // WGS84 lat & lon in degrees, elev above sea-level in meters
-    double lat, lon;   // As above, this is needed for the property bindings
     double hdg;                // True heading in degrees
     double roll;       // degrees, left is negative
     double pitch;      // degrees, nose-down is negative
@@ -77,6 +77,16 @@ protected:
 
     void Transform();
 
+    static FGAIBase *_self;
+    const char *_type_str;
+
+private:
+
+    static void _setLongitude( double longitude );
+    static void _setLatitude ( double latitude );
+    static double _getLongitude();
+    static double _getLatitude ();
+
 };
 
 
@@ -93,19 +103,16 @@ inline void FGAIBase::setAltitude( double altitude_ft ) {
   pos.setelev(altitude * SG_FEET_TO_METER);
 }
 
-
-inline void FGAIBase::setLongitude( double longitude ) {
-  lon = longitude;
-  pos.setlon(longitude);
+inline void FGAIBase::setHeading( double heading ) {
+  hdg = tgt_heading = heading;
 }
 
-inline void FGAIBase::setLatitude( double latitude ) {
-  lat = latitude;
-  pos.setlat(latitude);
+inline void FGAIBase::setLongitude( double longitude ) {
+    pos.setlon( longitude );
 }
 
-inline void FGAIBase::setHeading( double heading ) {
-  hdg = tgt_heading = heading;
+inline void FGAIBase::setLatitude ( double latitude ) {
+    pos.setlat( latitude );
 }
 
 inline void FGAIBase::setDie( bool die ) { delete_me = die; }