WSF
wsf::six_dof::RigidBodyThrustProducerObject Class Reference

#include <WsfRigidBodySixDOF_ThrustProducerObject.hpp>

Inheritance diagram for wsf::six_dof::RigidBodyThrustProducerObject:
Collaboration diagram for wsf::six_dof::RigidBodyThrustProducerObject:

Classes

struct  ThrustControlInputValueData
struct  ThrustBooleanControlInputData

Public Member Functions

 RigidBodyThrustProducerObject ()=default
 ~RigidBodyThrustProducerObject ()=default
RigidBodyThrustProducerObjectoperator= (const RigidBodyThrustProducerObject &other)=delete
ThrustProducerObjectClone () const override
bool ProcessInput (UtInput &aInput, TypeManager *aTypeManager) override
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)
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)
double GetThrottleMilSetting () override
double GetThrottleAbSetting () override
void SetThrustReferenceOffsetAttitude (const UtVec3dX &aReferenceLocation_ft, const UtVec3dX &aThrustYPR_rad) override
void SetThrustVectoringYaw_deg (double aThrustVectoringYaw_deg)
void SetThrustVectoringPitch_deg (double aThrustVectoringPitch_deg)
double GetThrustVectoringYaw_deg () const
double GetThrustVectoringPitch_deg () const
void SetThrustReverserEnabled (bool aThrustReverserEnabled)
bool ThrustReverserEnabled () const
void SetThrustReverserSetting (double aThrustReverserSetting)
double GetThrustReverserSetting () const
void GetCurrentThrustVectorDirection (UtVec3dX &aDirection) const override
void CalcCurrentThrustVectors ()
void SetControlInputHandles (const RigidBodyFlightControlSystem *aFlightControls)
void SetControlInputValues (const RigidBodyFlightControlSystem *aFlightControls)
Public Member Functions inherited from wsf::six_dof::ThrustProducerObject
 ThrustProducerObject ()=default
 ~ThrustProducerObject ()=default
ThrustProducerObjectoperator= (const ThrustProducerObject &other)=delete
void SetParentPropulsionSystem (PropulsionSystem *aParent)
PropulsionSystemGetParentPropulsionSystem ()
void SetEngine (std::unique_ptr< Engine > aEngine)
const EngineGetEngine () const
bool Initialize (int64_t aSimTime_nanosec)
std::string GetBaseName ()
void Ignite (int64_t aIgniteTimeInFrame_nanosec)
void Shutdown (int64_t aTerminateTime_nanosec=0)
double GetMaximumPotentialThrust_lbs (double aAlt_ft, double aDynPress_lbsqft, double aStatPress_lbssqft, double aSpeed_fps, double aMach, double aAlpha_rad, double aBeta_rad)
double GetMinimumPotentialThrust_lbs (double aAlt_ft, double aDynPress_lbsqft, double aStatPress_lbssqft, double aSpeed_fps, double aMach, double aAlpha_rad, double aBeta_rad)
double GetInoperatingDragArea_ft2 ()
void GetThrustLocation (UtVec3dX &aThrustLocation_ft) const
void GetReferenceLocation (UtVec3dX &aReferenceLocation_ft) const
void GetThrustInstalledAnglesYPR (UtVec3dX &aThrustYPR_rad) const
double GetThrottlePosition () const
void SetThrottlePosition (double aThrottleLeverPosition)
void SetThrustVectoringEnabled (bool aThrustVectoringEnabled)
bool ThrustVectoringEnabled () const
double GetFuelBurnRate_pph () const
double GetThrust_lbs () const
double GetForwardThrust_lbs () const
virtual bool SetFuelTank (const std::string &aFuelTankName)
bool EngineOperating () const
bool MayHaveEngineOperating () const
bool MayProduceEngineSmoke () const
bool MayContrail () const
bool ProducingSmokeTrail () const
bool MayProduceSmokeTrail () const
bool AfterburnerOn () const
bool Contrailing () const
bool EngineSmoking () const
void MakeEngineSmoke (bool aSmoking)
virtual bool AfterburnerIsPresent () const
Public Member Functions inherited from wsf::six_dof::Object
 Object ()=default
virtual ~Object ()=default
virtual std::string GetName () const
virtual void SetName (const std::string &aName)
virtual MoverGetParentVehicle () const
virtual void SetParentVehicle (Mover *aParentVehicle)

Static Public Member Functions

static void SetControlInputHandle (const RigidBodyFlightControlSystem *aFlightControls, ThrustControlInputValueData *aControlInput)
static void SetControlInputValue (const RigidBodyFlightControlSystem *aFlightControls, ThrustControlInputValueData *aControlInput)

Protected Member Functions

 RigidBodyThrustProducerObject (const RigidBodyThrustProducerObject &aSrc)
void DeriveFrom (const ThrustProducerObject *aSrc) override
UtVec3dX CalcThrustVectorFromThrust (double aThrust_lbs)
void CalcThrustProducerFM (double aThrustMagnitude_lbs, ForceAndMomentsObject &aForceAndMoment)
Protected Member Functions inherited from wsf::six_dof::ThrustProducerObject
 ThrustProducerObject (const ThrustProducerObject &aSrc)
bool ProcessInputType (UtInput &aInput, TypeManager *aTypeManager)
Protected Member Functions inherited from wsf::six_dof::Object
 Object (const Object &)=default

Protected Attributes

UtVec3dX mCurrentThrustVectorDirection {1.0, 0.0, 0.0}
double mThrustVectorYaw_rad = 0.0
double mThrustVectorPitch_rad = 0.0
bool mThrustReverserEnabled = false
double mThrustReverserSetting = 0.0
bool mShutdownInProgress = false
int64_t mShutdownFraction_nanosec = 0
int64_t mIgniteTimeInFrame_nanosec = 0
double mCurrentThrustFactor = 1.0
std::unique_ptr< ThrustControlInputValueDatamThrottleSettingMIL {nullptr}
std::unique_ptr< ThrustControlInputValueDatamThrottleSettingAB {nullptr}
std::unique_ptr< ThrustControlInputValueDatamThrottleSettingReverser {nullptr}
std::unique_ptr< ThrustControlInputValueDatamThrottleSettingYaw {nullptr}
std::unique_ptr< ThrustControlInputValueDatamThrottleSettingPitch {nullptr}
Protected Attributes inherited from wsf::six_dof::ThrustProducerObject
std::string mBaseName
PropulsionSystemmParentPropulsionSystemPtr = nullptr
UtCloneablePtr< EnginemEnginePtr {nullptr}
UtVec3dX mNominalThrustVectorDirection = UtVec3dX::cUNIT_FORWARD
UtVec3dX mThrustInstalledAnglesYPR_rad
UtVec3dX mReferenceLocation_ft
UtVec3dX mThrustLocation_ft
double mThrustOffset_ft = 0.0
double mInOpRefArea_ft2 = 1.0
bool mThrustVectoringEnabled = false
Protected Attributes inherited from wsf::six_dof::Object
std::string mObjName = ""
MovermParentVehicle = nullptr

Constructor & Destructor Documentation

◆ RigidBodyThrustProducerObject() [1/2]

wsf::six_dof::RigidBodyThrustProducerObject::RigidBodyThrustProducerObject ( )
default

◆ ~RigidBodyThrustProducerObject()

wsf::six_dof::RigidBodyThrustProducerObject::~RigidBodyThrustProducerObject ( )
default

◆ RigidBodyThrustProducerObject() [2/2]

Member Function Documentation

◆ CalcCurrentThrustVectors()

◆ CalcThrustProducerFM()

◆ CalcThrustVectorFromThrust()

UtVec3dX wsf::six_dof::RigidBodyThrustProducerObject::CalcThrustVectorFromThrust ( double aThrust_lbs)
protected

◆ CalculateThrust()

void wsf::six_dof::RigidBodyThrustProducerObject::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 )

◆ Clone()

wsf::six_dof::ThrustProducerObject * wsf::six_dof::RigidBodyThrustProducerObject::Clone ( ) const
overridevirtual

◆ DeriveFrom()

◆ GetCurrentThrustVectorDirection()

void wsf::six_dof::RigidBodyThrustProducerObject::GetCurrentThrustVectorDirection ( UtVec3dX & aDirection) const
overridevirtual

◆ GetThrottleAbSetting()

double wsf::six_dof::RigidBodyThrustProducerObject::GetThrottleAbSetting ( )
inlineoverridevirtual

◆ GetThrottleMilSetting()

double wsf::six_dof::RigidBodyThrustProducerObject::GetThrottleMilSetting ( )
inlineoverridevirtual

◆ GetThrustReverserSetting()

double wsf::six_dof::RigidBodyThrustProducerObject::GetThrustReverserSetting ( ) const
inline

◆ GetThrustVectoringPitch_deg()

double wsf::six_dof::RigidBodyThrustProducerObject::GetThrustVectoringPitch_deg ( ) const

◆ GetThrustVectoringYaw_deg()

double wsf::six_dof::RigidBodyThrustProducerObject::GetThrustVectoringYaw_deg ( ) const

References mThrustVectorYaw_rad.

◆ operator=()

◆ ProcessInput()

◆ SetControlInputHandle()

◆ SetControlInputHandles()

void wsf::six_dof::RigidBodyThrustProducerObject::SetControlInputHandles ( const RigidBodyFlightControlSystem * aFlightControls)

◆ SetControlInputValue()

◆ SetControlInputValues()

void wsf::six_dof::RigidBodyThrustProducerObject::SetControlInputValues ( const RigidBodyFlightControlSystem * aFlightControls)

◆ SetThrustReferenceOffsetAttitude()

◆ SetThrustReverserEnabled()

void wsf::six_dof::RigidBodyThrustProducerObject::SetThrustReverserEnabled ( bool aThrustReverserEnabled)
inline

◆ SetThrustReverserSetting()

void wsf::six_dof::RigidBodyThrustProducerObject::SetThrustReverserSetting ( double aThrustReverserSetting)

◆ SetThrustVectoringPitch_deg()

void wsf::six_dof::RigidBodyThrustProducerObject::SetThrustVectoringPitch_deg ( double aThrustVectoringPitch_deg)

◆ SetThrustVectoringYaw_deg()

void wsf::six_dof::RigidBodyThrustProducerObject::SetThrustVectoringYaw_deg ( double aThrustVectoringYaw_deg)

References mThrustVectorYaw_rad.

◆ ThrustReverserEnabled()

bool wsf::six_dof::RigidBodyThrustProducerObject::ThrustReverserEnabled ( ) const
inline

◆ UpdateThrust()

void wsf::six_dof::RigidBodyThrustProducerObject::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 )

Member Data Documentation

◆ mCurrentThrustFactor

double wsf::six_dof::RigidBodyThrustProducerObject::mCurrentThrustFactor = 1.0
protected

◆ mCurrentThrustVectorDirection

UtVec3dX wsf::six_dof::RigidBodyThrustProducerObject::mCurrentThrustVectorDirection {1.0, 0.0, 0.0}
protected

◆ mIgniteTimeInFrame_nanosec

int64_t wsf::six_dof::RigidBodyThrustProducerObject::mIgniteTimeInFrame_nanosec = 0
protected

◆ mShutdownFraction_nanosec

int64_t wsf::six_dof::RigidBodyThrustProducerObject::mShutdownFraction_nanosec = 0
protected

◆ mShutdownInProgress

bool wsf::six_dof::RigidBodyThrustProducerObject::mShutdownInProgress = false
protected

◆ mThrottleSettingAB

std::unique_ptr<ThrustControlInputValueData> wsf::six_dof::RigidBodyThrustProducerObject::mThrottleSettingAB {nullptr}
protected

◆ mThrottleSettingMIL

std::unique_ptr<ThrustControlInputValueData> wsf::six_dof::RigidBodyThrustProducerObject::mThrottleSettingMIL {nullptr}
protected

◆ mThrottleSettingPitch

std::unique_ptr<ThrustControlInputValueData> wsf::six_dof::RigidBodyThrustProducerObject::mThrottleSettingPitch {nullptr}
protected

◆ mThrottleSettingReverser

std::unique_ptr<ThrustControlInputValueData> wsf::six_dof::RigidBodyThrustProducerObject::mThrottleSettingReverser {nullptr}
protected

◆ mThrottleSettingYaw

std::unique_ptr<ThrustControlInputValueData> wsf::six_dof::RigidBodyThrustProducerObject::mThrottleSettingYaw {nullptr}
protected

◆ mThrustReverserEnabled

bool wsf::six_dof::RigidBodyThrustProducerObject::mThrustReverserEnabled = false
protected

◆ mThrustReverserSetting

double wsf::six_dof::RigidBodyThrustProducerObject::mThrustReverserSetting = 0.0
protected

◆ mThrustVectorPitch_rad

double wsf::six_dof::RigidBodyThrustProducerObject::mThrustVectorPitch_rad = 0.0
protected

◆ mThrustVectorYaw_rad

double wsf::six_dof::RigidBodyThrustProducerObject::mThrustVectorYaw_rad = 0.0
protected

The documentation for this class was generated from the following files:
Copyrights Multiple, All Rights Reserved