12#ifndef P6DOFRAMJETENGINEOBJECT_H
13#define P6DOFRAMJETENGINEOBJECT_H
15#include "p6dof_export.h"
24#include "UtVec3dX.hpp"
45 bool Initialize(int64_t aSimTime_nanosec)
override;
60 double aDynPress_lbsqft,
61 double aStatPress_lbssqft,
67 double& aFuelBurnRate_pps,
68 double& aFuelBurned_lbs)
override;
80 double aDynPress_lbsqft,
81 double aStatPress_lbssqft,
87 double& aFuelBurnRate_pps,
88 double& aFuelBurned_lbs)
override;
91 void SetFuelTank(
const std::string& aFuelTankName);
102 double aDynPress_lbsqft,
103 double aStatPress_lbssqft,
107 double aBeta_rad)
override;
111 double aDynPress_lbsqft,
112 double aStatPress_lbssqft,
116 double aBeta_rad)
override;
130 void Ignite(int64_t aIgniteTimeInFrame_nanosec)
override;
132 void Shutdown(int64_t aTerminateTime_nanosec = 0)
override;
143 double aDynPress_lbsqft,
144 double aStatPress_lbssqft,
150 double& aFuelBurnRate_pps,
151 double& aFuelBurned_lbs,
160 bool CalcThrustMultiplier(
bool aDeadEngine,
double& aFuelBurnRequest_lbs,
double& aThrust_lbs);
Definition P6DofFlightControlSystem.hpp:42
Definition P6DofForceAndMomentsObject.hpp:24
Definition P6DofFuelTank.hpp:33
P6DofObject * Clone() const
Definition P6DofObject.cpp:24
Definition P6DofRamjetEngineObject.hpp:31
bool mInjectFuel
Definition P6DofRamjetEngineObject.hpp:172
double mOverallThrustMultiplier
Definition P6DofRamjetEngineObject.hpp:192
P6DofFuelTank * mCurrentFuelTank
Definition P6DofRamjetEngineObject.hpp:163
std::shared_ptr< UtTable::Table > mThrustAltMachTable_lbs
Definition P6DofRamjetEngineObject.hpp:164
P6DofRamjetEngineObject & operator=(const P6DofRamjetEngineObject &other)=delete
ThrustControlInputValueData * mThrottleSettingPitch
Definition P6DofRamjetEngineObject.hpp:168
double mCurrentFuelBurnRate_pph
Definition P6DofRamjetEngineObject.hpp:166
bool mLatchFuelInjection
Definition P6DofRamjetEngineObject.hpp:175
double mThrottleLeverPosition
Definition P6DofRamjetEngineObject.hpp:188
void InjectFuel(bool aInjectFuel)
Definition P6DofRamjetEngineObject.hpp:72
std::shared_ptr< UtTable::Table > mTsfcAltMachTable_pph
Definition P6DofRamjetEngineObject.hpp:165
bool mUseProportionalThrottle
Definition P6DofRamjetEngineObject.hpp:181
double mMinProportionalThrust
Definition P6DofRamjetEngineObject.hpp:184
std::string GetClassType() override
Definition P6DofRamjetEngineObject.hpp:41
P6DofRamjetEngineObject(P6DofScenario *aScenario)
Definition P6DofRamjetEngineObject.cpp:27
void CalculateCurrentMassProperties() override
Definition P6DofRamjetEngineObject.hpp:120
bool mAfterburnerAppearanceWhenOperating
Definition P6DofRamjetEngineObject.hpp:169
bool mInjectFuelTriggered
Definition P6DofRamjetEngineObject.hpp:178
ThrustControlInputValueData * mThrottleSettingYaw
Definition P6DofRamjetEngineObject.hpp:167
Definition P6DofScenario.hpp:25
virtual void SetControlInputHandles(const P6DofFlightControlSystem *aFlightControls)=0
virtual void SetThrottlePosition(double aThrottleLeverPosition)=0
virtual double GetFuelBurnRate_pph() const =0
virtual double GetThrottlePosition() const =0
virtual void Shutdown(int64_t aTerminateTime_nanosec=0)=0
virtual bool Initialize(int64_t aSimTime_nanosec)=0
virtual bool ProcessInput(UtInput &aInput)=0
virtual double GetMinimumPotentialThrust_lbs(double aAlt_ft, double aDynPress_lbsqft, double aStatPress_lbssqft, double aSpeed_fps, double aMach, double aAlpha_rad, double aBeta_rad)=0
virtual void Ignite(int64_t aIgniteTimeInFrame_nanosec)=0
virtual void UpdateThrust(double aDeltaT_sec, double aAlt_ft, double aDynPress_lbsqft, double aStatPress_lbssqft, double aSpeed_fps, double aMach, double aAlpha_rad, double aBeta_rad, P6DofForceAndMomentsObject &aForceAndMoment, double &aFuelBurnRate_pps, double &aFuelBurned_lbs)=0
void DeriveFrom(const P6DofThrustProducerObject *aSrc)
Definition P6DofThrustProducerObject.cpp:103
P6DofThrustProducerObject(P6DofScenario *aScenario)
Definition P6DofThrustProducerObject.cpp:25
virtual void CalculateThrust(double aDeltaT_sec, double aAlt_ft, double aDynPress_lbsqft, double aStatPress_lbssqft, double aSpeed_fps, double aMach, double aAlpha_rad, double aBeta_rad, P6DofForceAndMomentsObject &aForceAndMoment, double &aFuelBurnRate_pps, double &aFuelBurned_lbs)=0
virtual double GetMaximumPotentialThrust_lbs(double aAlt_ft, double aDynPress_lbsqft, double aStatPress_lbssqft, double aSpeed_fps, double aMach, double aAlpha_rad, double aBeta_rad)=0
virtual void SetControlInputValues(const P6DofFlightControlSystem *aFlightControls)=0