FORWARD DECLARATIONS
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
-/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-COMMENTS, REFERENCES, and NOTES [use "class documentation" below for API docs]
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+namespace JSBSim {
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
CLASS DOCUMENTATION
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
the Engines, Tanks, Propellers, Nozzles, Aerodynamic and Mass properties,
landing gear, etc. These constituent parts may actually run as separate
JSBSim models themselves, but the responsibility for initializing them and
- for retrieving their force and moment contributions falls to FGAircraft.<br>
-
+ for retrieving their force and moment contributions falls to FGAircraft.
@author Jon S. Berndt
@version $Id$
- @see
- <ol><li>Cooke, Zyda, Pratt, and McGhee, "NPSNET: Flight Simulation Dynamic Modeling
+ @see Cooke, Zyda, Pratt, and McGhee, "NPSNET: Flight Simulation Dynamic Modeling
Using Quaternions", Presence, Vol. 1, No. 4, pp. 404-420 Naval Postgraduate
- School, January 1994</li>
- <li>D. M. Henderson, "Euler Angles, Quaternions, and Transformation Matrices",
- JSC 12960, July 1977</li>
- <li>Richard E. McFarland, "A Standard Kinematic Model for Flight Simulation at
- NASA-Ames", NASA CR-2497, January 1975</li>
- <li>Barnes W. McCormick, "Aerodynamics, Aeronautics, and Flight Mechanics",
- Wiley & Sons, 1979 ISBN 0-471-03032-5</li>
- <li>Bernard Etkin, "Dynamics of Flight, Stability and Control", Wiley & Sons,
- 1982 ISBN 0-471-08936-2</li></ol>
+ School, January 1994
+ @see D. M. Henderson, "Euler Angles, Quaternions, and Transformation Matrices",
+ JSC 12960, July 1977
+ @see Richard E. McFarland, "A Standard Kinematic Model for Flight Simulation at
+ NASA-Ames", NASA CR-2497, January 1975
+ @see Barnes W. McCormick, "Aerodynamics, Aeronautics, and Flight Mechanics",
+ Wiley & Sons, 1979 ISBN 0-471-03032-5
+ @see Bernard Etkin, "Dynamics of Flight, Stability and Control", Wiley & Sons,
+ 1982 ISBN 0-471-08936-2
*/
/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
inline string GetAircraftName(void) { return AircraftName; }
/// Gets the wing area
- inline double GetWingArea(void) { return WingArea; }
+ double GetWingArea(void) const { return WingArea; }
/// Gets the wing span
- inline double GetWingSpan(void) { return WingSpan; }
+ double GetWingSpan(void) const { return WingSpan; }
/// Gets the average wing chord
- inline double Getcbar(void) { return cbar; }
- inline double GetWingIncidence(void) { return WingIncidence; }
- inline double GetHTailArea(void) { return HTailArea; }
- inline double GetHTailArm(void) { return HTailArm; }
- inline double GetVTailArea(void) { return VTailArea; }
- inline double GetVTailArm(void) { return VTailArm; }
- inline double Getlbarh(void) { return lbarh; } // HTailArm / cbar
- inline double Getlbarv(void) { return lbarv; } // VTailArm / cbar
- inline double Getvbarh(void) { return vbarh; } // H. Tail Volume
- inline double Getvbarv(void) { return vbarv; } // V. Tail Volume
+ double Getcbar(void) const { return cbar; }
+ inline double GetWingIncidence(void) const { return WingIncidence; }
+ inline double GetHTailArea(void) const { return HTailArea; }
+ inline double GetHTailArm(void) const { return HTailArm; }
+ inline double GetVTailArea(void) const { return VTailArea; }
+ inline double GetVTailArm(void) const { return VTailArm; }
+ inline double Getlbarh(void) const { return lbarh; } // HTailArm / cbar
+ inline double Getlbarv(void) const { return lbarv; } // VTailArm / cbar
+ inline double Getvbarh(void) const { return vbarh; } // H. Tail Volume
+ inline double Getvbarv(void) const { return vbarv; } // V. Tail Volume
inline FGColumnVector3& GetMoments(void) { return vMoments; }
- inline double GetMoments(int idx) { return vMoments(idx); }
+ inline double GetMoments(int idx) const { return vMoments(idx); }
inline FGColumnVector3& GetForces(void) { return vForces; }
- inline double GetForces(int idx) { return vForces(idx); }
+ inline double GetForces(int idx) const { return vForces(idx); }
inline FGColumnVector3& GetBodyAccel(void) { return vBodyAccel; }
- inline FGColumnVector3& GetNcg (void) { return vNcg; }
+ inline double GetBodyAccel(int idx) { return vBodyAccel(idx); }
+ inline FGColumnVector3& GetNcg (void) { return vNcg; }
+ inline double GetNcg(int idx) { return vNcg(idx); }
inline FGColumnVector3& GetXYZrp(void) { return vXYZrp; }
+ inline FGColumnVector3& GetXYZvrp(void) { return vXYZvrp; }
inline FGColumnVector3& GetXYZep(void) { return vXYZep; }
- inline double GetXYZrp(int idx) { return vXYZrp(idx); }
- inline double GetXYZep(int idx) { return vXYZep(idx); }
- inline double GetAlphaCLMax(void) { return alphaclmax; }
- inline double GetAlphaCLMin(void) { return alphaclmin; }
-
- inline void SetAlphaCLMax(double tt) { alphaclmax=tt; }
- inline void SetAlphaCLMin(double tt) { alphaclmin=tt; }
+ inline double GetXYZrp(int idx) const { return vXYZrp(idx); }
+ inline double GetXYZvrp(int idx) const { return vXYZvrp(idx); }
+ inline double GetXYZep(int idx) const { return vXYZep(idx); }
inline void SetAircraftName(string name) {AircraftName = name;}
-
- inline double GetStallWarn(void) { return impending_stall; }
-
+
float GetNlf(void);
-
+
inline FGColumnVector3& GetNwcg(void) { return vNwcg; }
+ void bind(void);
+ void unbind(void);
+
private:
FGColumnVector3 vMoments;
FGColumnVector3 vForces;
FGColumnVector3 vXYZrp;
+ FGColumnVector3 vXYZvrp;
FGColumnVector3 vXYZep;
FGColumnVector3 vEuler;
FGColumnVector3 vDXYZcg;
double WingArea, WingSpan, cbar, WingIncidence;
double HTailArea, VTailArea, HTailArm, VTailArm;
double lbarh,lbarv,vbarh,vbarv;
- double alphaclmax,alphaclmin;
- double impending_stall;
string AircraftName;
void Debug(int from);
};
+} // namespace JSBSim
//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
#endif