+ FGColumnVector3& GetWindNED(void) { return vWindNED; }
+
+ /// Retrieves a wind component in NED frame.
+ double GetWindNED(int idx) const {return vWindNED(idx);}
+
+ /** Retrieves the direction that the wind is coming from.
+ The direction is defined as north=0 and increases counterclockwise.
+ The wind heading is returned in radians.*/
+ double GetWindPsi(void) const { return psiw; }
+
+ /** Sets the direction that the wind is coming from.
+ The direction is defined as north=0 and increases counterclockwise to 2*pi (radians). The
+ vertical component of wind is assumed to be zero - and is forcibly set to zero. This function
+ sets the vWindNED vector components based on the supplied direction. The magnitude of
+ the wind set in the vector is preserved (assuming the vertical component is non-zero).
+ @param dir wind direction in the horizontal plane, in radians.*/
+ void SetWindPsi(double dir);
+
+ void SetWindspeed(double speed);
+
+ double GetWindspeed(void) const;
+
+ // GUST access functions
+
+ /// Sets a gust component in NED frame.
+ void SetGustNED(int idx, double gust) { vGustNED(idx)=gust;}
+
+ /// Sets a turbulence component in NED frame.
+ void SetTurbNED(int idx, double turb) { vTurbulenceNED(idx)=turb;}
+
+ /// Sets the gust components in NED frame.
+ void SetGustNED(double gN, double gE, double gD) { vGustNED(eNorth)=gN; vGustNED(eEast)=gE; vGustNED(eDown)=gD;}
+
+ /// Retrieves a gust component in NED frame.
+ double GetGustNED(int idx) const {return vGustNED(idx);}
+
+ /// Retrieves a turbulence component in NED frame.
+ double GetTurbNED(int idx) const {return vTurbulenceNED(idx);}
+
+ /// Retrieves the gust components in NED frame.
+ FGColumnVector3& GetGustNED(void) {return vGustNED;}
+
+ /** Turbulence models available: ttNone, ttStandard, ttBerndt, ttCulp, ttMilspec, ttTustin */
+ void SetTurbType(tType tt) {turbType = tt;}
+ tType GetTurbType() const {return turbType;}
+
+ void SetTurbGain(double tg) {TurbGain = tg;}
+ double GetTurbGain() const {return TurbGain;}
+
+ void SetTurbRate(double tr) {TurbRate = tr;}
+ double GetTurbRate() const {return TurbRate;}
+
+ void SetRhythmicity(double r) {Rhythmicity=r;}
+ double GetRhythmicity() const {return Rhythmicity;}
+
+ double GetTurbPQR(int idx) const {return vTurbPQR(idx);}
+ double GetTurbMagnitude(void) const {return Magnitude;}
+ const FGColumnVector3& GetTurbDirection(void) const {return vDirection;}
+ const FGColumnVector3& GetTurbPQR(void) const {return vTurbPQR;}
+
+ void SetWindspeed20ft(double ws) { windspeed_at_20ft = ws;}
+ double GetWindspeed20ft() const { return windspeed_at_20ft;}
+
+ /// allowable range: 0-7, 3=light, 4=moderate, 6=severe turbulence
+ void SetProbabilityOfExceedence( int idx) {probability_of_exceedence_index = idx;}
+ int GetProbabilityOfExceedence() const { return probability_of_exceedence_index;}