#include "FGForce.h"
#include "FGConfigFile.h"
+#include "FGPropertyManager.h"
+#include <string>
/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
DEFINITIONS
public:
/// Constructor
FGThruster(FGFDMExec *FDMExec);
- FGThruster(FGFDMExec *FDMExec, FGConfigFile *Eng_cfg );
+ FGThruster(FGFDMExec *FDMExec, FGConfigFile *Eng_cfg, int num );
/// Destructor
virtual ~FGThruster();
enum eType {ttNozzle, ttRotor, ttPropeller, ttDirect};
- virtual double Calculate(double tt) { Thrust = tt; vFn(1) = Thrust; return 0.0; }
+ virtual double Calculate(double tt) {
+ Thrust = tt;
+ vFn(1) = Thrust * cos(ReverserAngle);
+ return vFn(1);
+ }
void SetName(string name) {Name = name;}
- void SetThrusterNumber(int nn) {ThrusterNumber = nn;}
virtual void SetRPM(double rpm) {};
virtual double GetPowerRequired(void) {return 0.0;}
virtual void SetdeltaT(double dt) {deltaT = dt;}
double GetThrust(void) {return Thrust;}
eType GetType(void) {return Type;}
string GetName(void) {return Name;}
- int GetThrusterNumber(void) {return ThrusterNumber;}
virtual double GetRPM(void) { return 0.0; };
- double GetGearRatio(void) {return GearRatio; }
+ double GetGearRatio(void) {return GearRatio; }
+ virtual string GetThrusterLabels(int id, string delimeter);
+ virtual string GetThrusterValues(int id, string delimeter);
+ void SetReverserAngle(double radians) { ReverserAngle = radians; }
+ double GetReverserAngle(void) {return ReverserAngle;}
+
+
+ inline void SetThrustCoefficient(double ct) { ThrustCoeff = ct; }
protected:
eType Type;
string Name;
- int ThrusterNumber;
double Thrust;
double PowerRequired;
double deltaT;
double GearRatio;
+ double ThrustCoeff;
+ double ReverserAngle;
+ int EngineNum;
+ FGPropertyManager* PropertyManager;
virtual void Debug(int from);
};
}