12#ifndef WSFSIXDOFJETENGINEOBJECT_HPP
13#define WSFSIXDOFJETENGINEOBJECT_HPP
15#include "wsf_six_dof_export.h"
23#include "UtVec3dX.hpp"
42 bool Initialize(int64_t aSimTime_nanosec)
override;
56 double GetEnginePercentRPM()
const;
59 double GetNozzlePosition()
const;
62 double GetFuelBurnRate_pph()
const override;
66 double GetMaximumPotentialThrust_lbs(
double aAlt_ft,
67 double aDynPress_lbsqft,
68 double aStatPress_lbssqft,
72 double aBeta_rad)
override;
75 double GetMinimumPotentialThrust_lbs(
double aAlt_ft,
76 double aDynPress_lbsqft,
77 double aStatPress_lbssqft,
81 double aBeta_rad)
override;
85 void SetThrottlePosition(
double aThrottleLeverPosition)
override;
88 double GetThrottlePosition()
const override;
91 void Ignite(int64_t aIgniteTimeInFrame_nanosec)
override;
93 void Shutdown(int64_t aTerminateTime_nanosec = 0)
override;
102 void CalculateThrust(
double aDeltaT_sec,
104 double aDynPress_lbsqft,
105 double aStatPress_lbssqft,
111 double& aFuelBurnRate_pps,
112 double& aFuelBurned_lbs,
113 bool aUpdateData)
override;
115 bool DetermineIfAfterburnerIsPresent();
Engine(ThrustProducerObject *aParentObject)
Definition WsfSixDOF_Engine.cpp:16
Definition WsfSixDOF_JetEngine.hpp:32
double mSpinDownMil_per_sec
Definition WsfSixDOF_JetEngine.hpp:151
UtCloneablePtr< UtTable::Curve > mABThrustTable
Definition WsfSixDOF_JetEngine.hpp:122
double mTSFC_Idle_pph
Definition WsfSixDOF_JetEngine.hpp:134
bool mThrottleLeverPositionSet
Definition WsfSixDOF_JetEngine.hpp:162
double mThrottleLeverPosition
Definition WsfSixDOF_JetEngine.hpp:117
double mCurrentFuelBurnRate_pph
Definition WsfSixDOF_JetEngine.hpp:160
JetEngine & operator=(const JetEngine &other)=delete
double mNozzlePosition
Definition WsfSixDOF_JetEngine.hpp:148
double mEffectiveTSFC_AB_pps
Definition WsfSixDOF_JetEngine.hpp:144
bool mEngineMaySmoke
Definition WsfSixDOF_JetEngine.hpp:166
UtCloneablePtr< UtTable::Table > mIdleThrustMachAltTable
Definition WsfSixDOF_JetEngine.hpp:125
double mSpinUpAB_per_sec
Definition WsfSixDOF_JetEngine.hpp:152
Engine * Clone() const override
Definition WsfSixDOF_JetEngine.cpp:133
double mEffectiveTSFC_Idle_pps
Definition WsfSixDOF_JetEngine.hpp:142
double mRatedThrustIdle_lbs
Definition WsfSixDOF_JetEngine.hpp:138
bool mInjectFuel
Definition WsfSixDOF_JetEngine.hpp:164
double mEffectiveTSFC_Mil_pps
Definition WsfSixDOF_JetEngine.hpp:143
void InjectFuel(bool aInjectFuel)
Definition WsfSixDOF_JetEngine.hpp:53
UtCloneablePtr< UtTable::Curve > mSpinDownMilTable
Definition WsfSixDOF_JetEngine.hpp:156
double mRatedThrustAB_lbs
Definition WsfSixDOF_JetEngine.hpp:140
UtCloneablePtr< UtTable::Curve > mSpinUpABTable
Definition WsfSixDOF_JetEngine.hpp:157
JetEngine(ThrustProducerObject *aParentObject)
Definition WsfSixDOF_JetEngine.cpp:25
void DeriveFrom(const Engine *aSrc) override
Definition WsfSixDOF_JetEngine.cpp:71
bool Initialize(int64_t aSimTime_nanosec) override
Definition WsfSixDOF_JetEngine.cpp:408
double mSpinUpMil_per_sec
Definition WsfSixDOF_JetEngine.hpp:150
double mEnginePercentRPM
Definition WsfSixDOF_JetEngine.hpp:147
double mTSFC_AB_pph
Definition WsfSixDOF_JetEngine.hpp:136
UtCloneablePtr< UtTable::Curve > mMilThrustTable
Definition WsfSixDOF_JetEngine.hpp:121
UtCloneablePtr< UtTable::Table > mABThrustMachAltTable
Definition WsfSixDOF_JetEngine.hpp:127
double mSpinDownAB_per_sec
Definition WsfSixDOF_JetEngine.hpp:153
double mTSFC_Mil_pph
Definition WsfSixDOF_JetEngine.hpp:135
UtCloneablePtr< UtTable::Table > mIdleThrustAltMachTable
Definition WsfSixDOF_JetEngine.hpp:130
UtCloneablePtr< UtTable::Table > mMilThrustMachAltTable
Definition WsfSixDOF_JetEngine.hpp:126
double mRatedThrustMil_lbs
Definition WsfSixDOF_JetEngine.hpp:139
double mEngineSmokesAboveLevel
Definition WsfSixDOF_JetEngine.hpp:167
UtCloneablePtr< UtTable::Table > mMilThrustAltMachTable
Definition WsfSixDOF_JetEngine.hpp:131
UtCloneablePtr< UtTable::Curve > mSpinDownABTable
Definition WsfSixDOF_JetEngine.hpp:158
bool ProcessInput(UtInput &aInput, TypeManager *aTypeManager) override
Definition WsfSixDOF_JetEngine.cpp:138
UtCloneablePtr< UtTable::Curve > mSpinUpMilTable
Definition WsfSixDOF_JetEngine.hpp:155
UtCloneablePtr< UtTable::Table > mABThrustAltMachTable
Definition WsfSixDOF_JetEngine.hpp:132
double mLastThrottleLeverPosition
Definition WsfSixDOF_JetEngine.hpp:146
UtCloneablePtr< UtTable::Curve > mIdleThrustTable
Definition WsfSixDOF_JetEngine.hpp:120
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