WSF
wsf::six_dof::PointMassPropulsionSystem Class Reference

#include <WsfPointMassSixDOF_PropulsionSystem.hpp>

Inheritance diagram for wsf::six_dof::PointMassPropulsionSystem:
Collaboration diagram for wsf::six_dof::PointMassPropulsionSystem:

Public Member Functions

 PointMassPropulsionSystem ()=default
PointMassPropulsionSystemoperator= (const PointMassPropulsionSystem &other)=delete
PointMassPropulsionSystemClone () const
void SetParentVehicle (Mover *aParentVehicle) override
bool ProcessInput (UtInput &aInput, const TypeManager *aTypeManager)
bool Initialize (int64_t aSimTime_nanosec) override
void LinkControls (PointMassFlightControlSystem *aFlightControls)
const std::vector< std::unique_ptr< PointMassThrustProducerObject > > & GetThrustProducerList () const
void CalculatePropulsionFM (double aDeltaT_sec, double aAlt_ft, double aDynPress_lbsqft, double aStatPress_lbssqft, double aSpeed_fps, double aMach, double aAlpha_rad, double aBeta_rad, ForceAndRotationObject &aForceAndMoment, double &aFuelBurnRate_pps, double &aFuelBurned_lbs)
void UpdatePropulsionFM (double aDeltaT_sec, double aAlt_ft, double aDynPress_lbsqft, double aStatPress_lbssqft, double aSpeed_fps, double aMach, double aAlpha_rad, double aBeta_rad, ForceAndRotationObject &aForceAndMoment, double &aFuelBurnRate_pps, double &aFuelBurned_lbs)
ThrustProducerObjectGetThrustProducerObjectByName (const std::string &aName) const override
ThrustProducerObjectGetThrustProducerByIndex (size_t aIndex) const override
void SetThrottleLeverPosition (double aThrottleLeverPosition) override
void EnableThrustVectoring (bool aEnableThrustVectoring) override
bool AfterburnerIsPresent () const override
size_t GetNumThrustProducers () const override
void Ignite (int64_t aIgniteTimeInFrame_nanosec) override
void Shutdown (int64_t aTerminateTime_nanosec=0) override
bool IsProducingThrust () const override
bool SetFuelFeed (std::string &aEngineName, std::string aFuelTankName) override
bool SetFuelFeed (std::string aFuelTankName) override
bool AnEngineIsOperating (bool aTestSubobjects=false) const override
bool AnEngineIsSmoking (bool aTestSubobjects=false) const override
bool AnEngineHasAfterburnerOn (bool aTestSubobjects=false) const override
bool AnEngineIsContrailing (bool aTestSubobjects=false) const override
bool AnEngineIsEmittingSmokeTrail (bool aTestSubobjects=false) const override
void MakeAnEngineSmoke (int aEngineIndex) override
Public Member Functions inherited from wsf::six_dof::PropulsionSystem
 PropulsionSystem ()=default
PropulsionSystemoperator= (const PropulsionSystem &other)=delete
void SetParentVehicle (Mover *aParentVehicle) override
virtual void Update (int64_t aSimTime_nanosec)
void SetLastSimTime (int64_t aLastSimTime_nanosec)
const std::unordered_map< std::string, UtCloneablePtr< FuelTank > > & GetFuelTanks () const
FuelTankGetFuelTank (const std::string &aName) const
bool ThrustVectoringEnabled () const
size_t GetNumFuelTanks () const
bool RemoveFuelTankByName (std::string aName)
bool AddFuelTank (std::unique_ptr< FuelTank > aFuelTank)
bool AddFuelTransfer (const std::string &aTransferName, const std::string &aSourceTankName, const std::string &aTargetTankName)
bool AddFuelTransferAndConnect (const std::string &aTransferName, const std::string &aSourceTankName, const std::string &aTargetTankName)
bool RemoveFuelTransfer (const std::string &aTransferName)
bool ModifyFuelQuantity (const std::string &aTankName, double aQty_lbs)
bool FuelTransferNameUnique (const std::string &aName) const
double GetInternalFuelTankCapacity_lbs () const
double GetCurrentInternalFuelTankQuantity_lbs () const
double AddFuelQuantity_lbs (double aFuelToAdd_lbs)
double FillAllTanks (double aPercentFull)
void EmptyAllTanks ()
const MassProperties GetMassProperties () 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

Protected Member Functions

 PointMassPropulsionSystem (const PointMassPropulsionSystem &aSrc)
void PropulsionCalculationsFM (double aDeltaT_sec, double aAlt_ft, double aDynPress_lbsqft, double aStatPress_lbssqft, double aSpeed_fps, double aMach, double aAlpha_rad, double aBeta_rad, ForceAndRotationObject &aForceAndMoment, double &aFuelBurnRate_pps, double &aFuelBurned_lbs, bool aUpdateData)
Protected Member Functions inherited from wsf::six_dof::PropulsionSystem
 PropulsionSystem (const PropulsionSystem &aSrc)
void RemoveInvalidFuelTransfers ()
Protected Member Functions inherited from wsf::six_dof::Object
 Object (const Object &)=default

Protected Attributes

std::vector< std::unique_ptr< PointMassThrustProducerObject > > mEngineList
const double * mThrottleSettingMilPtr = nullptr
const double * mThrottleSettingAbPtr = nullptr
Protected Attributes inherited from wsf::six_dof::PropulsionSystem
std::vector< std::unique_ptr< FuelTransfer > > mFuelTransferList
std::unordered_map< std::string, UtCloneablePtr< FuelTank > > mFuelTankMap
int64_t mLastSimTime_nanosec = 0
double mPropulsionSystemThrottleLeverPosition = 0.0
bool mThrottleLeverPositionSet = false
bool mEnableThrustVectoring = false
Protected Attributes inherited from wsf::six_dof::Object
std::string mObjName = ""
MovermParentVehicle = nullptr

Constructor & Destructor Documentation

◆ PointMassPropulsionSystem() [1/2]

wsf::six_dof::PointMassPropulsionSystem::PointMassPropulsionSystem ( )
default

◆ PointMassPropulsionSystem() [2/2]

wsf::six_dof::PointMassPropulsionSystem::PointMassPropulsionSystem ( const PointMassPropulsionSystem & aSrc)
protected

Member Function Documentation

◆ AfterburnerIsPresent()

bool wsf::six_dof::PointMassPropulsionSystem::AfterburnerIsPresent ( ) const
overridevirtual

◆ AnEngineHasAfterburnerOn()

bool wsf::six_dof::PointMassPropulsionSystem::AnEngineHasAfterburnerOn ( bool aTestSubobjects = false) const
overridevirtual

◆ AnEngineIsContrailing()

bool wsf::six_dof::PointMassPropulsionSystem::AnEngineIsContrailing ( bool aTestSubobjects = false) const
overridevirtual

◆ AnEngineIsEmittingSmokeTrail()

bool wsf::six_dof::PointMassPropulsionSystem::AnEngineIsEmittingSmokeTrail ( bool aTestSubobjects = false) const
overridevirtual

◆ AnEngineIsOperating()

bool wsf::six_dof::PointMassPropulsionSystem::AnEngineIsOperating ( bool aTestSubobjects = false) const
overridevirtual

◆ AnEngineIsSmoking()

bool wsf::six_dof::PointMassPropulsionSystem::AnEngineIsSmoking ( bool aTestSubobjects = false) const
overridevirtual

◆ CalculatePropulsionFM()

void wsf::six_dof::PointMassPropulsionSystem::CalculatePropulsionFM ( double aDeltaT_sec,
double aAlt_ft,
double aDynPress_lbsqft,
double aStatPress_lbssqft,
double aSpeed_fps,
double aMach,
double aAlpha_rad,
double aBeta_rad,
ForceAndRotationObject & aForceAndMoment,
double & aFuelBurnRate_pps,
double & aFuelBurned_lbs )

◆ Clone()

wsf::six_dof::PointMassPropulsionSystem * wsf::six_dof::PointMassPropulsionSystem::Clone ( ) const

References PointMassPropulsionSystem().

Referenced by operator=().

◆ EnableThrustVectoring()

void wsf::six_dof::PointMassPropulsionSystem::EnableThrustVectoring ( bool aEnableThrustVectoring)
overridevirtual

◆ GetNumThrustProducers()

size_t wsf::six_dof::PointMassPropulsionSystem::GetNumThrustProducers ( ) const
overridevirtual

◆ GetThrustProducerByIndex()

wsf::six_dof::ThrustProducerObject * wsf::six_dof::PointMassPropulsionSystem::GetThrustProducerByIndex ( size_t aIndex) const
overridevirtual

◆ GetThrustProducerList()

const std::vector< std::unique_ptr< PointMassThrustProducerObject > > & wsf::six_dof::PointMassPropulsionSystem::GetThrustProducerList ( ) const
inline

References mEngineList.

◆ GetThrustProducerObjectByName()

wsf::six_dof::ThrustProducerObject * wsf::six_dof::PointMassPropulsionSystem::GetThrustProducerObjectByName ( const std::string & aName) const
overridevirtual

◆ Ignite()

void wsf::six_dof::PointMassPropulsionSystem::Ignite ( int64_t aIgniteTimeInFrame_nanosec)
overridevirtual

◆ Initialize()

bool wsf::six_dof::PointMassPropulsionSystem::Initialize ( int64_t aSimTime_nanosec)
overridevirtual

◆ IsProducingThrust()

bool wsf::six_dof::PointMassPropulsionSystem::IsProducingThrust ( ) const
overridevirtual

◆ LinkControls()

◆ MakeAnEngineSmoke()

void wsf::six_dof::PointMassPropulsionSystem::MakeAnEngineSmoke ( int aEngineIndex)
overridevirtual

◆ operator=()

PointMassPropulsionSystem & wsf::six_dof::PointMassPropulsionSystem::operator= ( const PointMassPropulsionSystem & other)
delete

◆ ProcessInput()

◆ PropulsionCalculationsFM()

void wsf::six_dof::PointMassPropulsionSystem::PropulsionCalculationsFM ( double aDeltaT_sec,
double aAlt_ft,
double aDynPress_lbsqft,
double aStatPress_lbssqft,
double aSpeed_fps,
double aMach,
double aAlpha_rad,
double aBeta_rad,
ForceAndRotationObject & aForceAndMoment,
double & aFuelBurnRate_pps,
double & aFuelBurned_lbs,
bool aUpdateData )
protected

◆ SetFuelFeed() [1/2]

bool wsf::six_dof::PointMassPropulsionSystem::SetFuelFeed ( std::string & aEngineName,
std::string aFuelTankName )
overridevirtual

◆ SetFuelFeed() [2/2]

bool wsf::six_dof::PointMassPropulsionSystem::SetFuelFeed ( std::string aFuelTankName)
overridevirtual

◆ SetParentVehicle()

void wsf::six_dof::PointMassPropulsionSystem::SetParentVehicle ( Mover * aParentVehicle)
overridevirtual

◆ SetThrottleLeverPosition()

◆ Shutdown()

void wsf::six_dof::PointMassPropulsionSystem::Shutdown ( int64_t aTerminateTime_nanosec = 0)
overridevirtual

◆ UpdatePropulsionFM()

void wsf::six_dof::PointMassPropulsionSystem::UpdatePropulsionFM ( double aDeltaT_sec,
double aAlt_ft,
double aDynPress_lbsqft,
double aStatPress_lbssqft,
double aSpeed_fps,
double aMach,
double aAlpha_rad,
double aBeta_rad,
ForceAndRotationObject & aForceAndMoment,
double & aFuelBurnRate_pps,
double & aFuelBurned_lbs )

Member Data Documentation

◆ mEngineList

◆ mThrottleSettingAbPtr

const double* wsf::six_dof::PointMassPropulsionSystem::mThrottleSettingAbPtr = nullptr
protected

◆ mThrottleSettingMilPtr

const double* wsf::six_dof::PointMassPropulsionSystem::mThrottleSettingMilPtr = nullptr
protected

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