]> git.mxchange.org Git - flightgear.git/blobdiff - src/FDM/LaRCsim.hxx
Updated to match changes in radiostack.[ch]xx
[flightgear.git] / src / FDM / LaRCsim.hxx
index 97773f3c9da1a3107083a91d2b46db44b3838a58..7ce2ddc80afb5f4cad9cb84d20853db210734566 100644 (file)
 
 #include "IO360.hxx"
 #include "flight.hxx"
-
+#include <FDM/LaRCsimIC.hxx>
 
 class FGLaRCsim: public FGInterface {
 
-    FGEngine eng;
+private:
 
+    FGNewEngine eng;
+    LaRCsimIC* lsic;
+    void set_ls(void);
+    void snap_shot(void);
+    double time_step;
+    SGPropertyNode *speed_up;
+    SGPropertyNode *aero;
+    
 public:
 
+    FGLaRCsim( double dt );
+    ~FGLaRCsim(void);
+    
     // copy FDM state to LaRCsim structures
     bool copy_to_LaRCsim();
 
@@ -44,10 +55,40 @@ public:
     bool copy_from_LaRCsim();
 
     // reset flight params to a specific position 
-    bool init( double dt );
+    void init();
 
     // update position based on inputs, positions, velocities, etc.
-    bool update( int multiloop );
+    void update( double dt );
+    
+    // Positions
+    void set_Latitude(double lat);  //geocentric
+    void set_Longitude(double lon);    
+    void set_Altitude(double alt);        // triggers re-calc of AGL altitude
+    void set_AltitudeAGL(double altagl); // and vice-versa
+    
+    // Speeds -- setting any of these will trigger a re-calc of the rest
+    void set_V_calibrated_kts(double vc);
+    void set_Mach_number(double mach);
+    void set_Velocities_Local( double north, double east, double down );
+    void set_Velocities_Wind_Body( double u, double v, double w);
+    
+    // Euler angles 
+    void set_Euler_Angles( double phi, double theta, double psi );
+    
+    // Flight Path
+    void set_Climb_Rate( double roc);
+    void set_Gamma_vert_rad( double gamma);
+    
+    // Earth
+    void set_Static_pressure(double p);
+    void set_Static_temperature(double T); 
+    void set_Density(double rho); 
+
+/*
+    void set_Velocities_Local_Airmass (double wnorth, 
+                                      double weast, 
+                                      double wdown );
+*/
 };