]> git.mxchange.org Git - flightgear.git/blobdiff - src/FDM/JSBSim/FGLGear.h
Curt Olson:
[flightgear.git] / src / FDM / JSBSim / FGLGear.h
index fe2aff02b190c00fb3fc75b79df5cdc059c36aef..397892b856a2db6a920f72add1fa4045e1a5f4bd 100644 (file)
@@ -60,6 +60,8 @@ DEFINITIONS
 FORWARD DECLARATIONS
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
 
+namespace JSBSim {
+
 class FGAircraft;
 class FGPosition;
 class FGRotation;
@@ -68,10 +70,6 @@ class FGState;
 class FGMassBalance;
 
 /*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-COMMENTS, REFERENCES, and NOTES [use "class documentation" below for API docs]
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 CLASS DOCUMENTATION
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
 
@@ -182,6 +180,8 @@ public:
   enum BrakeGroup {bgNone=0, bgLeft, bgRight, bgCenter, bgNose, bgTail };
   /// Steering group membership enumerators
   enum SteerType {stSteer, stFixed, stCaster};
+  /// Report type enumerators
+  enum ReportType {erNone=0, erTakeoff, erLand};
   /** Constructor
       @param Executive a pointer to the parent executive object
       @param File a pointer to the config file instance */
@@ -216,6 +216,11 @@ public:
   /// Gets the gear compression force in pounds
   inline double  GetCompForce(void) {return Force()(3);    }
   inline double  GetBrakeFCoeff(void) {return BrakeFCoeff;}
+
+  /// 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;}
@@ -232,9 +237,15 @@ public:
   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 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);}
   
 private:
   FGColumnVector3 vXYZ;
@@ -255,19 +266,30 @@ private:
   double maxCompLen;
   double SinkRate;
   double GroundSpeed;
-  double DistanceTraveled;
+  double TakeoffDistanceTraveled;
+  double TakeoffDistanceTraveled50ft;
+  double LandingDistanceTraveled;
   double MaximumStrutForce;
   double MaximumStrutTravel;
+  double SideWhlVel, RollingWhlVel;
+  double RollingForce, SideForce, FCoeff;
+  double WheelSlip;
+  double lastWheelSlip;
+  double TirePressureNorm;
   bool WOW;
   bool lastWOW;
   bool FirstContact;
-  bool Reported;
+  bool StartedGroundRun;
+  bool LandingReported;
+  bool TakeoffReported;
   bool ReportEnable;
   bool isRetractable;
   bool GearUp, GearDown;
+  bool Servicable;
   string name;
   string sSteerType;
   string sBrakeGroup;
+  string sRetractable;
   
   BrakeGroup eBrakeGrp;
   SteerType  eSteerType;
@@ -281,10 +303,10 @@ private:
   FGFCS*      FCS;
   FGMassBalance* MassBalance;
 
-  void Report(void);
-  void Debug(void);
+  void Report(ReportType rt);
+  void Debug(int from);
 };
-
+}
 #include "FGAircraft.h"
 #include "FGPosition.h"
 #include "FGRotation.h"