]> git.mxchange.org Git - flightgear.git/blobdiff - src/AIModel/AIBase.hxx
Make AI Objects of type Wingman, Escort, and GroundVehicle able to be stationed or...
[flightgear.git] / src / AIModel / AIBase.hxx
index c1a533bed0ea0667d0f05dd14080e8b93c8603be..fbaccd38f8a6b8966274eb252b68766db4399aab 100644 (file)
@@ -66,6 +66,7 @@ public:
     void setCallSign(const string& );
     void setSpeed( double speed_KTAS );
     void setAltitude( double altitude_ft );
+    void setAltitudeAGL( double altitude_agl_ft );
     void setHeading( double heading );
     void setLatitude( double latitude );
     void setLongitude( double longitude );
@@ -86,6 +87,7 @@ public:
     void setImpactLon( double lon );
     void setImpactElev( double e );
     void setParentName(const string& p);
+    void setName(const string& n);
     bool setParentNode();
 
     int getID() const;
@@ -99,6 +101,9 @@ public:
     bool getGroundElevationM(const SGGeod& pos, double& elev,
         const SGMaterial** material) const;
 
+    double _elevation_m;
+    const SGMaterial* _material;
+
     double _getCartPosX() const;
     double _getCartPosY() const;
     double _getCartPosZ() const;
@@ -139,6 +144,7 @@ protected:
     double speed_north_deg_sec;
     double speed_east_deg_sec;
     double turn_radius_ft; // turn radius ft at 15 kts rudder angle 15 degrees
+    double altitude_agl_ft;
 
     double ft_per_deg_lon;
     double ft_per_deg_lat;
@@ -216,6 +222,8 @@ public:
     void _setSubID( int s );
     void _setUserPos();
 
+    double _getAltitudeAGL(SGGeod inpos, double start);
+
     double _getVS_fps() const;
     double _getAltitude() const;
     double _getLongitude() const;
@@ -317,6 +325,10 @@ inline void FGAIBase::setAltitude( double alt_ft ) {
     pos.setElevationFt(altitude_ft);
 }
 
+inline void FGAIBase::setAltitudeAGL( double alt_ft ) {
+    altitude_agl_ft = alt_ft;
+}
+
 inline void FGAIBase::setBank( double bank ) {
     roll = tgt_roll = bank;
     no_roll = false;
@@ -365,6 +377,10 @@ inline void FGAIBase::setParentName(const string& p) {
     _parent = p;
 }
 
+inline void FGAIBase::setName(const string& n) {
+    _name = n;
+}
+
 inline void FGAIBase::setDie( bool die ) { delete_me = die; }
 
 inline bool FGAIBase::getDie() { return delete_me; }