]> git.mxchange.org Git - flightgear.git/blobdiff - src/Environment/ridge_lift.hxx
Defer SGEphemeris creation until ::init()
[flightgear.git] / src / Environment / ridge_lift.hxx
index c6f49ecf2a8a4fea7632df58f5c3d354bd3e31c7..642683c06141e0bcebf2e7ef818437c24fd1b469 100644 (file)
@@ -36,6 +36,7 @@
 #include <string>
 using std::string;
 
+#include <simgear/props/tiedpropertylist.hxx>
 
 class FGRidgeLift : public SGSubsystem {
 public:
@@ -50,76 +51,37 @@ public:
 
        inline double getStrength() const { return strength; };
 
-       inline double get_probe_elev_m_0() const { return probe_elev_m[0]; };
-       inline double get_probe_elev_m_1() const { return probe_elev_m[1]; };
-       inline double get_probe_elev_m_2() const { return probe_elev_m[2]; };
-       inline double get_probe_elev_m_3() const { return probe_elev_m[3]; };
-       inline double get_probe_elev_m_4() const { return probe_elev_m[4]; };
-
-       inline double get_probe_lat_0() const { return probe_lat_deg[0]; };
-       inline double get_probe_lat_1() const { return probe_lat_deg[1]; };
-       inline double get_probe_lat_2() const { return probe_lat_deg[2]; };
-       inline double get_probe_lat_3() const { return probe_lat_deg[3]; };
-       inline double get_probe_lat_4() const { return probe_lat_deg[4]; };
-
-       inline double get_probe_lon_0() const { return probe_lon_deg[0]; };
-       inline double get_probe_lon_1() const { return probe_lon_deg[1]; };
-       inline double get_probe_lon_2() const { return probe_lon_deg[2]; };
-       inline double get_probe_lon_3() const { return probe_lon_deg[3]; };
-       inline double get_probe_lon_4() const { return probe_lon_deg[4]; };
-
-       inline double get_slope_0() const { return slope[0]; };
-       inline double get_slope_1() const { return slope[1]; };
-       inline double get_slope_2() const { return slope[2]; };
-       inline double get_slope_3() const { return slope[3]; };
+       inline double get_probe_elev_m( int index ) const { return probe_elev_m[index]; };
+       inline double get_probe_lat_deg( int index ) const { return probe_lat_deg[index]; };
+       inline double get_probe_lon_deg( int index ) const { return probe_lon_deg[index]; };
+       inline double get_slope( int index ) const { return slope[index]; };
 
 private:
-       //void init();
-       void Run(double dt);
-
-       double dist_probe_m[5];
-       double BOUNDARY1_m;
-       double BOUNDARY2_m;
-       double PI; // pi
-       double deg2rad;
-       double rad2deg;
-
-       bool scanned;
+       static const double dist_probe_m[5];
 
        double strength;
        double timer;
 
-       double probe_lat_rad[5];
-       double probe_lon_rad[5];
-
        double probe_lat_deg[5];
        double probe_lon_deg[5];
-
-       double alt;     
        double probe_elev_m[5];
 
        double slope[4];
-       double earth_rad_ft;
-       double earth_rad_m;
-       double user_latitude_deg;
-       double user_longitude_deg;
-       //double user_altitude;
-       double user_altitude_agl_ft;
-       double user_altitude_agl_m;
 
-       double sign(double x);
+       double lift_factor;
 
+       SGPropertyNode_ptr _enabled_node;
        SGPropertyNode_ptr _ridge_lift_fps_node;
 
        SGPropertyNode_ptr _surface_wind_from_deg_node;
        SGPropertyNode_ptr _surface_wind_speed_node;
 
-       SGPropertyNode_ptr _user_altitude_ft_node;
        SGPropertyNode_ptr _user_altitude_agl_ft_node;
-       SGPropertyNode_ptr _earth_radius_node;
        SGPropertyNode_ptr _user_longitude_node;
        SGPropertyNode_ptr _user_latitude_node;
+       SGPropertyNode_ptr _ground_elev_node;
 
+       simgear::TiedPropertyList _tiedProperties;
 };
 
-#endif  // _FG_RidgeLift_HXX
\ No newline at end of file
+#endif  // _FG_RidgeLift_HXX