12#ifndef WSFRIGIDBODYTHRUSTPRODUCEROBJECT_HPP
13#define WSFRIGIDBODYTHRUSTPRODUCEROBJECT_HPP
51 double aDynPress_lbsqft,
52 double aStatPress_lbssqft,
58 double& aFuelBurnRate_pps,
59 double& aFuelBurned_lbs);
67 double aDynPress_lbsqft,
68 double aStatPress_lbssqft,
74 double& aFuelBurnRate_pps,
75 double& aFuelBurned_lbs);
81 void SetThrustReferenceOffsetAttitude(
const UtVec3dX& aReferenceLocation_ft,
const UtVec3dX& aThrustYPR_rad)
override;
84 void SetThrustVectoringYaw_deg(
double aThrustVectoringYaw_deg);
87 void SetThrustVectoringPitch_deg(
double aThrustVectoringPitch_deg);
90 double GetThrustVectoringYaw_deg()
const;
93 double GetThrustVectoringPitch_deg()
const;
102 void SetThrustReverserSetting(
double aThrustReverserSetting);
108 void GetCurrentThrustVectorDirection(UtVec3dX& aDirection)
const override;
115 void CalcCurrentThrustVectors();
Definition WsfSixDOF_ForceAndMomentsObject.hpp:28
Definition WsfRigidBodySixDOF_FlightControlSystem.hpp:44
Definition WsfRigidBodySixDOF_PropulsionSystem.hpp:28
double GetThrottleAbSetting() override
Definition WsfRigidBodySixDOF_ThrustProducerObject.hpp:78
std::unique_ptr< ThrustControlInputValueData > mThrottleSettingMIL
Definition WsfRigidBodySixDOF_ThrustProducerObject.hpp:180
std::unique_ptr< ThrustControlInputValueData > mThrottleSettingYaw
Definition WsfRigidBodySixDOF_ThrustProducerObject.hpp:183
RigidBodyThrustProducerObject()=default
void DeriveFrom(const ThrustProducerObject *aSrc) override
Definition WsfRigidBodySixDOF_ThrustProducerObject.cpp:57
bool ThrustReverserEnabled() const
Definition WsfRigidBodySixDOF_ThrustProducerObject.hpp:99
static void SetControlInputValue(const RigidBodyFlightControlSystem *aFlightControls, ThrustControlInputValueData *aControlInput)
Definition WsfRigidBodySixDOF_ThrustProducerObject.cpp:396
RigidBodyThrustProducerObject & operator=(const RigidBodyThrustProducerObject &other)=delete
bool mThrustReverserEnabled
Definition WsfRigidBodySixDOF_ThrustProducerObject.hpp:162
UtVec3dX mCurrentThrustVectorDirection
Definition WsfRigidBodySixDOF_ThrustProducerObject.hpp:155
static void SetControlInputHandle(const RigidBodyFlightControlSystem *aFlightControls, ThrustControlInputValueData *aControlInput)
Definition WsfRigidBodySixDOF_ThrustProducerObject.cpp:381
UtVec3dX CalcThrustVectorFromThrust(double aThrust_lbs)
Definition WsfRigidBodySixDOF_ThrustProducerObject.cpp:375
int64_t mIgniteTimeInFrame_nanosec
Definition WsfRigidBodySixDOF_ThrustProducerObject.hpp:175
ThrustProducerObject * Clone() const override
Definition WsfRigidBodySixDOF_ThrustProducerObject.cpp:107
double mThrustVectorYaw_rad
Definition WsfRigidBodySixDOF_ThrustProducerObject.hpp:158
std::unique_ptr< ThrustControlInputValueData > mThrottleSettingAB
Definition WsfRigidBodySixDOF_ThrustProducerObject.hpp:181
int64_t mShutdownFraction_nanosec
Definition WsfRigidBodySixDOF_ThrustProducerObject.hpp:171
void SetControlInputHandles(const RigidBodyFlightControlSystem *aFlightControls)
Definition WsfRigidBodySixDOF_ThrustProducerObject.cpp:170
double mThrustReverserSetting
Definition WsfRigidBodySixDOF_ThrustProducerObject.hpp:163
bool mShutdownInProgress
Definition WsfRigidBodySixDOF_ThrustProducerObject.hpp:167
~RigidBodyThrustProducerObject()=default
void CalcThrustProducerFM(double aThrustMagnitude_lbs, ForceAndMomentsObject &aForceAndMoment)
Definition WsfRigidBodySixDOF_ThrustProducerObject.cpp:405
void SetControlInputValues(const RigidBodyFlightControlSystem *aFlightControls)
Definition WsfRigidBodySixDOF_ThrustProducerObject.cpp:179
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, ForceAndMomentsObject &aForceAndMoment, double &aFuelBurnRate_pps, double &aFuelBurned_lbs)
Definition WsfRigidBodySixDOF_ThrustProducerObject.cpp:141
double mThrustVectorPitch_rad
Definition WsfRigidBodySixDOF_ThrustProducerObject.hpp:159
bool ProcessInput(UtInput &aInput, TypeManager *aTypeManager) override
Definition WsfRigidBodySixDOF_ThrustProducerObject.cpp:188
std::unique_ptr< ThrustControlInputValueData > mThrottleSettingReverser
Definition WsfRigidBodySixDOF_ThrustProducerObject.hpp:182
double GetThrottleMilSetting() override
Definition WsfRigidBodySixDOF_ThrustProducerObject.hpp:77
void SetThrustReverserEnabled(bool aThrustReverserEnabled)
Definition WsfRigidBodySixDOF_ThrustProducerObject.hpp:96
std::unique_ptr< ThrustControlInputValueData > mThrottleSettingPitch
Definition WsfRigidBodySixDOF_ThrustProducerObject.hpp:184
double GetThrustReverserSetting() const
Definition WsfRigidBodySixDOF_ThrustProducerObject.hpp:105
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, ForceAndMomentsObject &aForceAndMoment, double &aFuelBurnRate_pps, double &aFuelBurned_lbs)
Definition WsfRigidBodySixDOF_ThrustProducerObject.cpp:112
double mCurrentThrustFactor
Definition WsfRigidBodySixDOF_ThrustProducerObject.hpp:177
ThrustProducerObject()=default
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
Definition WsfRigidBodySixDOF_ThrustProducerObject.hpp:127
std::string name
Definition WsfRigidBodySixDOF_ThrustProducerObject.hpp:128
bool value
Definition WsfRigidBodySixDOF_ThrustProducerObject.hpp:130
size_t handle
Definition WsfRigidBodySixDOF_ThrustProducerObject.hpp:129
Definition WsfRigidBodySixDOF_ThrustProducerObject.hpp:120
double value
Definition WsfRigidBodySixDOF_ThrustProducerObject.hpp:123
size_t handle
Definition WsfRigidBodySixDOF_ThrustProducerObject.hpp:122
std::string name
Definition WsfRigidBodySixDOF_ThrustProducerObject.hpp:121