]> git.mxchange.org Git - flightgear.git/blobdiff - src/AIModel/AICarrier.hxx
Make the vertical acceleration rate scale with vertical performance. The
[flightgear.git] / src / AIModel / AICarrier.hxx
index cf9c5cd333e18da2de74d1e9435eeb1b377bde25..9a3d52f416861b57e109fabf41e5cd25d67c3d27 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_AICARRIER_HXX
 #define _FG_AICARRIER_HXX
@@ -87,7 +87,6 @@ public:
     void getVelocityWrtEarth(sgdVec3& v, sgdVec3& omega, sgdVec3& pivot);
     virtual void bind();
     virtual void unbind();
-    void UpdateFlols ( const sgdMat3& trans );
     void UpdateWind ( double dt );
     void setWind_from_east( double fps );
     void setWind_from_north( double fps );
@@ -105,8 +104,8 @@ public:
 
     virtual const char* getTypeString(void) const { return "carrier"; }
 
-    bool getParkPosition(const string& id, Point3D& geodPos,
-                         double& hdng, sgdVec3 uvw);
+    bool getParkPosition(const string& id, SGGeod& geodPos,
+                         double& hdng, SGVec3d& uvw);
 
 private:
   /// Is sufficient to be private, stores a possible position to place an
@@ -115,11 +114,11 @@ private:
     ParkPosition(const ParkPosition& pp)
       : name(pp.name), offset(pp.offset), heading_deg(pp.heading_deg)
     {}
-    ParkPosition(const string& n, const Point3D& off = Point3D(), double heading = 0)
+    ParkPosition(const string& n, const SGVec3d& off = SGVec3d(), double heading = 0)
       : name(n), offset(off), heading_deg(heading)
     {}
     string name;
-    Point3D offset;
+    SGVec3d offset;
     double heading_deg;
   };
 
@@ -143,13 +142,12 @@ private:
     string sign;                      // The sign of this carrier.
 
     // Velocity wrt earth.
-    sgdVec3 vel_wrt_earth;
-    sgdVec3 rot_wrt_earth;
-    sgdVec3 rot_pivot_wrt_earth;
-
+    SGVec3d vel_wrt_earth;
+    SGVec3d rot_wrt_earth;
+    SGVec3d rot_pivot_wrt_earth;
 
     // these describe the flols
-    Point3D flols_off;
+    SGVec3d flols_off;
 
     double dist;            // the distance of the eyepoint from the flols
     double angle;
@@ -157,8 +155,7 @@ private:
     bool wave_off_lights;
 
     // these are for maneuvering the carrier
-    Point3D carrierpos;
-    Point3D initialpos;
+    SGGeod mOpBoxPos;
 
     double wind_speed_from_north_kts ;
     double wind_speed_from_east_kts  ;
@@ -178,17 +175,22 @@ private:
     SGPropertyNode_ptr _altitude_node;
     SGPropertyNode_ptr _surface_wind_from_deg_node;
     SGPropertyNode_ptr _surface_wind_speed_node;
-
+    SGPropertyNode_ptr _launchbar_state_node;
     // this is for tacan
 
     string TACAN_channel_id;
 
     // these are for moving the elevators
     void UpdateElevator( double dt, double transition_time);
-    double step;
     double pos_norm, raw_pos_norm;
     double transition_time, time_constant;
     bool elevators;
+
+    // these are for moving the jet blast deflectors
+    void UpdateJBD( double dt, double jbd_transition_time);
+    double jbd_pos_norm, raw_jbd_pos_norm;
+    double jbd_transition_time, jbd_time_constant;
+    bool jbd;
 };
 
 #endif  // _FG_AICARRIER_HXX