]> git.mxchange.org Git - flightgear.git/blobdiff - src/AIModel/AIBallistic.hxx
Make the vertical acceleration rate scale with vertical performance. The
[flightgear.git] / src / AIModel / AIBallistic.hxx
index 3878778b9c79b3132484080602c002de9db78065..6b5441304f0ba5966c458f9b2c27f92746290e73 100644 (file)
@@ -1,4 +1,4 @@
-// FGAIBallistic - AIBase derived class creates an AI ballistic object
+// FGAIBallistic.hxx - AIBase derived class creates an AI ballistic object
 //
 // Written by David Culp, started November 2003.
 // - davidculp2@comcast.net
@@ -15,7 +15,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_AIBALLISTIC_HXX
 #define _FG_AIBALLISTIC_HXX
 
 
 class FGAIBallistic : public FGAIBase {
-       
+
 public:
-       
+
     FGAIBallistic();
     ~FGAIBallistic();
-       
+
+    void readFromScenario(SGPropertyNode* scFileNode);
+
     bool init();
     virtual void bind();
     virtual void unbind();
@@ -38,16 +40,39 @@ public:
 
     void setAzimuth( double az );
     void setElevation( double el );
-    void setStabilization( bool val );
+    void setRoll( double rl );
+    void setStabilisation( bool val );
+    void setDragArea( double a );
+    void setLife( double seconds );
+    void setBuoyancy( double fpss );
+    void setWind_from_east( double fps );
+    void setWind_from_north( double fps );
+    void setWind( bool val );
+    void setCd( double c );
+    void setMass( double m );
+
+    double _getTime() const;
+
+    virtual const char* getTypeString(void) const { return "ballistic"; }
 
 private:
 
     double azimuth;         // degrees true
     double elevation;       // degrees
-    double hs;              // horizontal speed (fps)
-    bool aero_stabilized;   // if true, object will point where it's going
+    double rotation;        // degrees
+    bool aero_stabilised;   // if true, object will align wit trajectory
+    double drag_area;       // equivalent drag area in ft2
+    double life_timer;      // seconds
+    double gravity;         // fps2
+    double buoyancy;        // fps2
+    double wind_from_east;  // fps
+    double wind_from_north; // fps
+    bool wind;              // if true, local wind will be applied to object
+    double Cd;              // drag coefficient
+    double mass;            // slugs
 
     void Run(double dt);
 };
 
 #endif  // _FG_AIBALLISTIC_HXX
+