12#ifndef WSFPOINTMASSSIXDOFPROPULSIONSYSTEM_HPP
13#define WSFPOINTMASSSIXDOFPROPULSIONSYSTEM_HPP
38 bool Initialize(int64_t aSimTime_nanosec)
override;
51 void CalculatePropulsionFM(
double aDeltaT_sec,
53 double aDynPress_lbsqft,
54 double aStatPress_lbssqft,
60 double& aFuelBurnRate_pps,
61 double& aFuelBurned_lbs);
68 void UpdatePropulsionFM(
double aDeltaT_sec,
70 double aDynPress_lbsqft,
71 double aStatPress_lbssqft,
77 double& aFuelBurnRate_pps,
78 double& aFuelBurned_lbs);
89 void SetThrottleLeverPosition(
double aThrottleLeverPosition)
override;
92 void EnableThrustVectoring(
bool aEnableThrustVectoring)
override;
95 bool AfterburnerIsPresent()
const override;
98 size_t GetNumThrustProducers()
const override;
101 void Ignite(int64_t aIgniteTimeInFrame_nanosec)
override;
105 void Shutdown(int64_t aTerminateTime_nanosec = 0)
override;
108 bool IsProducingThrust()
const override;
112 bool SetFuelFeed(std::string& aEngineName, std::string aFuelTankName)
override;
116 bool SetFuelFeed(std::string aFuelTankName)
override;
126 bool AnEngineIsOperating(
bool aTestSubobjects =
false)
const override;
131 bool AnEngineIsSmoking(
bool aTestSubobjects =
false)
const override;
136 bool AnEngineHasAfterburnerOn(
bool aTestSubobjects =
false)
const override;
141 bool AnEngineIsContrailing(
bool aTestSubobjects =
false)
const override;
146 bool AnEngineIsEmittingSmokeTrail(
bool aTestSubobjects =
false)
const override;
149 void MakeAnEngineSmoke(
int aEngineIndex)
override;
156 void PropulsionCalculationsFM(
double aDeltaT_sec,
158 double aDynPress_lbsqft,
159 double aStatPress_lbssqft,
165 double& aFuelBurnRate_pps,
166 double& aFuelBurned_lbs,
169 std::vector<std::unique_ptr<PointMassThrustProducerObject>>
mEngineList;
Definition WsfSixDOF_ForceAndRotationObject.hpp:30
This is a base class for detailed air movers. This umbrella can cover RB6 or PM6 models.
Definition WsfSixDOF_Mover.hpp:58
Definition WsfPointMassSixDOF_FlightControlSystem.hpp:44
Definition WsfPointMassSixDOF_PropulsionSystem.hpp:26
PointMassPropulsionSystem()=default
PointMassPropulsionSystem & operator=(const PointMassPropulsionSystem &other)=delete
const double * mThrottleSettingAbPtr
Definition WsfPointMassSixDOF_PropulsionSystem.hpp:172
const std::vector< std::unique_ptr< PointMassThrustProducerObject > > & GetThrustProducerList() const
Definition WsfPointMassSixDOF_PropulsionSystem.hpp:42
bool Initialize(int64_t aSimTime_nanosec) override
Definition WsfPointMassSixDOF_PropulsionSystem.cpp:66
void LinkControls(PointMassFlightControlSystem *aFlightControls)
Definition WsfPointMassSixDOF_PropulsionSystem.cpp:140
PointMassPropulsionSystem * Clone() const
Definition WsfPointMassSixDOF_PropulsionSystem.cpp:28
bool ProcessInput(UtInput &aInput, const TypeManager *aTypeManager)
Definition WsfPointMassSixDOF_PropulsionSystem.cpp:149
void SetParentVehicle(Mover *aParentVehicle) override
Definition WsfPointMassSixDOF_PropulsionSystem.cpp:33
const double * mThrottleSettingMilPtr
Definition WsfPointMassSixDOF_PropulsionSystem.hpp:171
std::vector< std::unique_ptr< PointMassThrustProducerObject > > mEngineList
Definition WsfPointMassSixDOF_PropulsionSystem.hpp:169
PropulsionSystem()=default
Definition WsfSixDOF_ThrustProducerObject.hpp:35
Definition WsfSixDOF_TypeManager.hpp:32
Definition WsfSA_Processor.hpp:35
Function definitions for those who need run-time access to the version.
Definition WsfComm.cpp:32