X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FFDM%2FYASim%2FGlue.hpp;h=12f2f8349f8dc6ab941b0ec8ca3fe2b61139a6a1;hb=d66903e9ad63b91182ccc25d9bb82f18f8dd98b6;hp=fe6dbf70244f6bf2711ed36a63c229ad7276a9b1;hpb=5b84ae51a54afb63effb8841ed08643bb5701aa7;p=flightgear.git diff --git a/src/FDM/YASim/Glue.hpp b/src/FDM/YASim/Glue.hpp index fe6dbf702..12f2f8349 100644 --- a/src/FDM/YASim/Glue.hpp +++ b/src/FDM/YASim/Glue.hpp @@ -10,25 +10,13 @@ namespace yasim { // out the middle of the western hemisphere. class Glue { public: - static void calcAlphaBeta(State* s, float* alpha, float* beta); + static void calcAlphaBeta(State* s, float* wind, float* alpha, float* beta); // Calculates the instantaneous rotation velocities about each // axis. static void calcEulerRates(State* s, float* roll, float* pitch, float* hdg); - static void xyz2geoc(double* xyz, - double* lat, double* lon, double* alt); - static void geoc2xyz(double lat, double lon, double alt, - double* out); - static void xyz2geod(double* xyz, - double* lat, double* lon, double* alt); - static void geod2xyz(double lat, double lon, double alt, - double* out); - - static double geod2geocLat(double lat); - static double geoc2geodLat(double lat); - // Returns a global to "local" (north, east, down) matrix. Note // that the latitude passed in is geoDETic. static void xyz2nedMat(double lat, double lon, float* out); @@ -40,20 +28,8 @@ public: static void orient2euler(float* o, float* roll, float* pitch, float* hdg); - // Returns a geodetic (i.e. gravitational, "level", etc...) "up" - // vector for the specified xyz position. - static void geodUp(double* pos, float* out); - -private: - - // WGS84 numbers - static const double EQURAD = 6378137; // equatorial radius - static const double STRETCH = 1.003352810665; // equ./polar radius - - // Derived from the above - static const double SQUASH = 0.99665839311; // 1/STRETCH - static const double POLRAD = 6356823.77346; // EQURAD*SQUASH - static const double iPOLRAD = 1.57311266701e-07; // 1/POLRAD + static void geodUp(double lat, double lon, float* up); + static void geodUp(double* pos, float* up); }; }; // namespace yasim