]> git.mxchange.org Git - flightgear.git/blob - src/FDM/YASim/Turbulence.hpp
Merge branch 'durk/atcdcl-cond'
[flightgear.git] / src / FDM / YASim / Turbulence.hpp
1 namespace yasim {
2
3 class Turbulence {
4 public:
5     Turbulence(int gens, int seed);
6     ~Turbulence();
7     void update(double dt, double rate);
8     void setMagnitude(double mag);
9     void getTurbulence(double* loc, float alt, float* up, float* turbOut);
10     void offset(float* dist);
11
12 private:
13     unsigned int hashrand(unsigned int i);
14     float lattice(unsigned int x, unsigned int y);
15     float iturb(unsigned int x, unsigned int y);
16     float fturb(double a, double b);
17     void mkimg(float* buf, int sz);
18     float cubenorm(float x, float y, float z);
19     void turblut(int x, int y, float* out);
20
21     int _gens;
22     int _sz;
23     int _seed;
24
25     double _off[3];
26     double _timeOff;
27     double _mag;
28     float _x0, _x1, _y0, _y1, _z0, _z1;
29     unsigned char* _data;
30 };
31
32 }; // namespace yasim