X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FInstrumentation%2Frad_alt.hxx;h=568d6741bccab6b17534efeeb790ed37efce6efa;hb=1867ccb4a8484b9bc856c88629e09e25bcc35d42;hp=5babe31605339beaa9a8a0830c8ca6a2c351c8cf;hpb=4994973ef4d5a079acf76267b525313c15376478;p=flightgear.git diff --git a/src/Instrumentation/rad_alt.hxx b/src/Instrumentation/rad_alt.hxx index 5babe3160..568d6741b 100644 --- a/src/Instrumentation/rad_alt.hxx +++ b/src/Instrumentation/rad_alt.hxx @@ -25,17 +25,15 @@ #define _INST_RADALT_HXX #include -#include -#include +#include +#include -#include - -class radAlt : public agRadar{ +class RadarAltimeter : public SGSubsystem +{ public: - radAlt ( SGPropertyNode *node ); - radAlt (); - virtual ~radAlt (); + RadarAltimeter ( SGPropertyNode *node ); + virtual ~RadarAltimeter (); private: @@ -43,10 +41,26 @@ private: virtual void update (double dt); void update_altitude(); - double getDistanceAntennaToHit(SGVec3d h) const; - + void updateSetHeight(); + + double getDistanceAntennaToHit(const SGVec3d& h) const; + SGVec3d getCartAntennaPos()const; + + SGVec3d rayVector(double az, double el) const; + + SGPropertyNode_ptr _Instrument; SGPropertyNode_ptr _user_alt_agl_node; SGPropertyNode_ptr _rad_alt_warning_node; + SGPropertyNode_ptr _serviceable_node; + SGPropertyNode_ptr _sceneryLoaded; + + + SGVec3d _antennaOffset; // in aircraft local XYZ frame + + std::string _name; + int _num; + double _time; + double _interval; double _min_radalt;