45 #include "FGFDMExec.h"
46 #include "FGElectric.h"
47 #include "FGPropeller.h"
48 #include "input_output/FGXMLElement.h"
70 string base_property_name = CreateIndexedPropertyName(
"propulsion/engine",
90 if (Thruster->GetType() == FGThruster::ttPropeller) {
91 ((
FGPropeller*)Thruster)->SetAdvance(in.PropAdvance[EngineNumber]);
92 ((
FGPropeller*)Thruster)->SetFeather(in.PropFeather[EngineNumber]);
95 RPM = Thruster->GetRPM() * Thruster->GetGearRatio();
97 HP = PowerWatts * in.ThrottlePos[EngineNumber] / hptowatts;
101 double power = HP * hptoftlbssec;
102 if (RPM <= 0.1) power = max(power, 0.0);
103 Thruster->Calculate(power);
110 double FGElectric::CalcFuelNeed(
void)
117 string FGElectric::GetEngineLabels(
const string& delimiter)
119 std::ostringstream buf;
121 buf << Name <<
" HP (engine " << EngineNumber <<
")" << delimiter
122 << Thruster->GetThrusterLabels(EngineNumber, delimiter);
129 string FGElectric::GetEngineValues(
const string& delimiter)
131 std::ostringstream buf;
133 buf << HP << delimiter
134 << Thruster->GetThrusterValues(EngineNumber, delimiter);
159 void FGElectric::Debug(
int from)
161 if (debug_lvl <= 0)
return;
166 cout <<
"\n Engine Name: " << Name << endl;
167 cout <<
" Power Watts: " << PowerWatts << endl;
171 if (debug_lvl & 2 ) {
172 if (from == 0) cout <<
"Instantiated: FGElectric" << endl;
173 if (from == 1) cout <<
"Destroyed: FGElectric" << endl;
175 if (debug_lvl & 4 ) {
177 if (debug_lvl & 8 ) {
179 if (debug_lvl & 16) {
181 if (debug_lvl & 64) {