12#ifndef WSFSIXDOFTHRUSTPRODUCEROBJECT_HPP
13#define WSFSIXDOFTHRUSTPRODUCEROBJECT_HPP
15#include "wsf_six_dof_export.h"
23#include "UtVec3dX.hpp"
56 virtual bool ProcessInput(UtInput& aInput,
TypeManager* aTypeManager);
63 void Ignite(int64_t aIgniteTimeInFrame_nanosec) {
mEnginePtr->Ignite(aIgniteTimeInFrame_nanosec); }
65 void Shutdown(int64_t aTerminateTime_nanosec = 0) {
mEnginePtr->Shutdown(aTerminateTime_nanosec); };
74 double aDynPress_lbsqft,
75 double aStatPress_lbssqft,
83 double aDynPress_lbsqft,
84 double aStatPress_lbssqft,
113 return mEnginePtr->SetThrottlePosition(aThrottleLeverPosition);
129 double GetForwardThrust_lbs()
const;
135 virtual bool SetFuelTank(
const std::string& aFuelTankName);
201 bool ProcessInputType(UtInput& aInput,
TypeManager* aTypeManager);
Definition WsfSixDOF_Engine.hpp:35
Definition WsfSixDOF_MassProperties.hpp:29
Definition WsfSixDOF_PropulsionSystem.hpp:35
Definition WsfSixDOF_ThrustProducerObject.hpp:35
virtual void GetCurrentThrustVectorDirection(UtVec3dX &aDirection) const =0
virtual bool SetFuelTank(const std::string &aFuelTankName)
Definition WsfSixDOF_ThrustProducerObject.cpp:188
double GetThrust_lbs() const
Definition WsfSixDOF_ThrustProducerObject.hpp:126
bool Contrailing() const
Definition WsfSixDOF_ThrustProducerObject.hpp:178
PropulsionSystem * mParentPropulsionSystemPtr
Definition WsfSixDOF_ThrustProducerObject.hpp:207
double GetMaximumPotentialThrust_lbs(double aAlt_ft, double aDynPress_lbsqft, double aStatPress_lbssqft, double aSpeed_fps, double aMach, double aAlpha_rad, double aBeta_rad)
Definition WsfSixDOF_ThrustProducerObject.cpp:142
void MakeEngineSmoke(bool aSmoking)
Definition WsfSixDOF_ThrustProducerObject.hpp:189
void GetReferenceLocation(UtVec3dX &aReferenceLocation_ft) const
Definition WsfSixDOF_ThrustProducerObject.hpp:99
bool mThrustVectoringEnabled
Definition WsfSixDOF_ThrustProducerObject.hpp:231
void Shutdown(int64_t aTerminateTime_nanosec=0)
Definition WsfSixDOF_ThrustProducerObject.hpp:65
bool Initialize(int64_t aSimTime_nanosec)
Definition WsfSixDOF_ThrustProducerObject.hpp:58
double GetMinimumPotentialThrust_lbs(double aAlt_ft, double aDynPress_lbsqft, double aStatPress_lbssqft, double aSpeed_fps, double aMach, double aAlpha_rad, double aBeta_rad)
Definition WsfSixDOF_ThrustProducerObject.cpp:159
virtual bool AfterburnerIsPresent() const
Definition WsfSixDOF_ThrustProducerObject.hpp:192
bool MayProduceEngineSmoke() const
Definition WsfSixDOF_ThrustProducerObject.hpp:156
std::string GetBaseName()
Definition WsfSixDOF_ThrustProducerObject.hpp:60
const Engine * GetEngine() const
Definition WsfSixDOF_ThrustProducerObject.hpp:54
double GetInoperatingDragArea_ft2()
Definition WsfSixDOF_ThrustProducerObject.cpp:176
bool ThrustVectoringEnabled() const
Definition WsfSixDOF_ThrustProducerObject.hpp:120
~ThrustProducerObject()=default
void SetParentPropulsionSystem(PropulsionSystem *aParent)
Definition WsfSixDOF_ThrustProducerObject.hpp:45
bool AfterburnerOn() const
Definition WsfSixDOF_ThrustProducerObject.hpp:175
ThrustProducerObject()=default
virtual void SetThrustReferenceOffsetAttitude(const UtVec3dX &aReferenceLocation_ft, const UtVec3dX &aThrustYPR_rad)=0
UtVec3dX mThrustLocation_ft
Definition WsfSixDOF_ThrustProducerObject.hpp:222
double mInOpRefArea_ft2
Definition WsfSixDOF_ThrustProducerObject.hpp:229
UtVec3dX mReferenceLocation_ft
Definition WsfSixDOF_ThrustProducerObject.hpp:219
PropulsionSystem * GetParentPropulsionSystem()
Definition WsfSixDOF_ThrustProducerObject.hpp:48
bool MayHaveEngineOperating() const
Definition WsfSixDOF_ThrustProducerObject.hpp:151
std::string mBaseName
Definition WsfSixDOF_ThrustProducerObject.hpp:204
UtVec3dX mThrustInstalledAnglesYPR_rad
Definition WsfSixDOF_ThrustProducerObject.hpp:216
virtual double GetThrottleAbSetting()=0
void SetThrottlePosition(double aThrottleLeverPosition)
Definition WsfSixDOF_ThrustProducerObject.hpp:111
void GetThrustInstalledAnglesYPR(UtVec3dX &aThrustYPR_rad) const
Definition WsfSixDOF_ThrustProducerObject.hpp:102
void SetThrustVectoringEnabled(bool aThrustVectoringEnabled)
Definition WsfSixDOF_ThrustProducerObject.hpp:117
bool EngineSmoking() const
Definition WsfSixDOF_ThrustProducerObject.hpp:184
bool ProducingSmokeTrail() const
Definition WsfSixDOF_ThrustProducerObject.hpp:165
bool EngineOperating() const
Definition WsfSixDOF_ThrustProducerObject.hpp:146
double GetThrottlePosition() const
Definition WsfSixDOF_ThrustProducerObject.hpp:107
void GetThrustLocation(UtVec3dX &aThrustLocation_ft) const
Definition WsfSixDOF_ThrustProducerObject.hpp:96
void Ignite(int64_t aIgniteTimeInFrame_nanosec)
Definition WsfSixDOF_ThrustProducerObject.hpp:63
virtual ThrustProducerObject * Clone() const =0
ThrustProducerObject & operator=(const ThrustProducerObject &other)=delete
double GetFuelBurnRate_pph() const
Definition WsfSixDOF_ThrustProducerObject.hpp:123
bool MayProduceSmokeTrail() const
Definition WsfSixDOF_ThrustProducerObject.hpp:170
virtual double GetThrottleMilSetting()=0
double mThrustOffset_ft
Definition WsfSixDOF_ThrustProducerObject.hpp:226
UtCloneablePtr< Engine > mEnginePtr
Definition WsfSixDOF_ThrustProducerObject.hpp:210
UtVec3dX mNominalThrustVectorDirection
Definition WsfSixDOF_ThrustProducerObject.hpp:213
bool MayContrail() const
Definition WsfSixDOF_ThrustProducerObject.hpp:160
void SetEngine(std::unique_ptr< Engine > aEngine)
Definition WsfSixDOF_ThrustProducerObject.hpp:51
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