# include <simgear/compiler.h>
#endif
-#include <string>
+#include "FGJSBBase.h"
+#include "FGFDMExec.h"
#include "FGConfigFile.h"
-#include "FGMatrix33.h"
#include "FGColumnVector3.h"
-#include "FGColumnVector4.h"
-#include "FGFDMExec.h"
-#include "FGJSBBase.h"
+#include <string>
/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
DEFINITIONS
namespace JSBSim {
class FGAircraft;
-class FGPosition;
-class FGRotation;
+class FGPropagate;
class FGFCS;
class FGState;
class FGMassBalance;
+class FGAuxiliary;
/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-COMMENTS, REFERENCES, and NOTES [use "class documentation" below for API docs]
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
CLASS DOCUMENTATION
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
@author Jon S. Berndt
@version $Id$
@see Richard E. McFarland, "A Standard Kinematic Model for Flight Simulation at
- NASA-Ames", NASA CR-2497, January 1975
+ NASA-Ames", NASA CR-2497, January 1975
@see Barnes W. McCormick, "Aerodynamics, Aeronautics, and Flight Mechanics",
- Wiley & Sons, 1979 ISBN 0-471-03032-5
+ Wiley & Sons, 1979 ISBN 0-471-03032-5
@see W. A. Ragsdale, "A Generic Landing Gear Dynamics Model for LASRS++",
AIAA-2000-4303
- @see <a href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/jsbsim/JSBSim/FGLGear.h?rev=HEAD&content-type=text/vnd.viewcvs-markup">
- Header File </a>
- @see <a href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/jsbsim/JSBSim/FGLGear.cpp?rev=HEAD&content-type=text/vnd.viewcvs-markup">
- Source File </a>
*/
/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
/** Constructor
@param Executive a pointer to the parent executive object
@param File a pointer to the config file instance */
- FGLGear(FGConfigFile* File, FGFDMExec* Executive);
+ FGLGear(FGConfigFile* File, FGFDMExec* Executive, int number);
/** Constructor
@param lgear a reference to an existing FGLGear object */
FGLGear(const FGLGear& lgear);
/// Gets the gear compression force in pounds
inline double GetCompForce(void) {return Force()(3); }
inline double GetBrakeFCoeff(void) {return BrakeFCoeff;}
+ inline double GetXYZ(int i) {return vXYZ(i);}
/// Gets the current normalized tire pressure
inline double GetTirePressure(void) { return TirePressureNorm; }
/// Sets the new normalized tire pressure
inline void SetTirePressure(double p) { TirePressureNorm = p; }
-
+
/// Sets the brake value in percent (0 - 100)
inline void SetBrake(double bp) {brakePct = bp;}
/** Get the console touchdown reporting feature
@return true if reporting is turned on */
inline bool GetReport(void) { return ReportEnable; }
- inline double GetSteerAngle(void) { return SteerAngle;}
- inline double GetstaticFCoeff(void) { return staticFCoeff;}
-
+ double GetSteerNorm(void) const { return radtodeg/maxSteerAngle*SteerAngle; }
+ double GetDefaultSteerAngle(double cmd) const { return cmd*maxSteerAngle; }
+ double GetstaticFCoeff(void) { return staticFCoeff; }
+ double GetdynamicFCoeff(void) { return dynamicFCoeff; }
+ double GetrollingFCoeff(void) { return rollingFCoeff; }
+
inline int GetBrakeGroup(void) { return (int)eBrakeGrp; }
inline int GetSteerType(void) { return (int)eSteerType; }
-
- inline bool GetRetractable(void) { return isRetractable; }
- inline bool GetGearUnitUp(void) { return GearUp; }
- inline bool GetGearUnitDown(void) { return GearDown; }
- inline double GetWheelSideForce(void) { return SideForce; }
- inline double GetWheelRollForce(void) { return RollingForce; }
- inline double GetBodyXForce(void) { return vLocalForce(eX); }
- inline double GetBodyYForce(void) { return vLocalForce(eY); }
- inline double GetWheelSlipAngle(void) { return WheelSlip; }
- double GetWheelVel(int axis) { return vWhlVelVec(axis);}
-
+
+ bool GetSteerable(void) const { return eSteerType != stFixed; }
+ inline bool GetRetractable(void) const { return isRetractable; }
+ inline bool GetGearUnitUp(void) const { return GearUp; }
+ inline bool GetGearUnitDown(void) const { return GearDown; }
+ inline double GetWheelSideForce(void) const { return SideForce; }
+ inline double GetWheelRollForce(void) const { return RollingForce; }
+ inline double GetBodyXForce(void) const { return vLocalForce(eX); }
+ inline double GetBodyYForce(void) const { return vLocalForce(eY); }
+ inline double GetWheelSlipAngle(void) const { return WheelSlip; }
+ double GetWheelVel(int axis) const { return vWhlVelVec(axis);}
+ double GetkSpring(void) const { return kSpring; }
+ double GetbDamp(void) const { return bDamp; }
+ double GetmaxSteerAngle(void) const { return maxSteerAngle; }
+ string GetsBrakeGroup(void) const { return sBrakeGroup; }
+ string GetsRetractable(void) const { return sRetractable; }
+ string GetsSteerType(void) const { return sSteerType; }
+
private:
+ int GearNumber;
FGColumnVector3 vXYZ;
FGColumnVector3 vMoment;
FGColumnVector3 vWhlBodyVec;
string sSteerType;
string sBrakeGroup;
string sRetractable;
-
+
BrakeGroup eBrakeGrp;
SteerType eSteerType;
double maxSteerAngle;
- FGFDMExec* Exec;
- FGState* State;
- FGAircraft* Aircraft;
- FGPosition* Position;
- FGRotation* Rotation;
- FGFCS* FCS;
+ FGFDMExec* Exec;
+ FGState* State;
+ FGAircraft* Aircraft;
+ FGPropagate* Propagate;
+ FGAuxiliary* Auxiliary;
+ FGFCS* FCS;
FGMassBalance* MassBalance;
void Report(ReportType rt);
};
}
#include "FGAircraft.h"
-#include "FGPosition.h"
-#include "FGRotation.h"
+#include "FGPropagate.h"
+#include "FGAuxiliary.h"
#include "FGFCS.h"
#include "FGMassBalance.h"
+#include "FGState.h"
//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-#include "FGState.h"
-
#endif