X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FEnvironment%2Fridge_lift.hxx;h=642683c06141e0bcebf2e7ef818437c24fd1b469;hb=59f6f330c219b71e9abee07ee7587a303e65ed91;hp=c6f49ecf2a8a4fea7632df58f5c3d354bd3e31c7;hpb=7e3531ef5cae0c0e9ac325de8712f3b67a3e5e5f;p=flightgear.git diff --git a/src/Environment/ridge_lift.hxx b/src/Environment/ridge_lift.hxx index c6f49ecf2..642683c06 100644 --- a/src/Environment/ridge_lift.hxx +++ b/src/Environment/ridge_lift.hxx @@ -36,6 +36,7 @@ #include using std::string; +#include 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