WSF
wsf::six_dof::PropulsionSystem Class Referenceabstract

#include <WsfSixDOF_PropulsionSystem.hpp>

Inheritance diagram for wsf::six_dof::PropulsionSystem:
Collaboration diagram for wsf::six_dof::PropulsionSystem:

Classes

struct  FuelTransfer
struct  ThrustProducerInfo
struct  FuelTankData
struct  TankMatching

Public Member Functions

 PropulsionSystem ()=default
PropulsionSystemoperator= (const PropulsionSystem &other)=delete
void SetParentVehicle (Mover *aParentVehicle) override
virtual bool Initialize (int64_t aSimTime_nanosec)=0
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
virtual ThrustProducerObjectGetThrustProducerObjectByName (const std::string &aName) const =0
virtual ThrustProducerObjectGetThrustProducerByIndex (size_t aIndex) const =0
virtual void SetThrottleLeverPosition (double aThrottleLeverPosition)=0
virtual void EnableThrustVectoring (bool aEnableThrustVectoring)=0
bool ThrustVectoringEnabled () const
virtual bool AfterburnerIsPresent () const =0
virtual size_t GetNumThrustProducers () const =0
size_t GetNumFuelTanks () const
virtual void Ignite (int64_t aIgniteTimeInFrame_nanosec)=0
virtual void Shutdown (int64_t aTerminateTime_nanosec=0)=0
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
virtual bool IsProducingThrust () const =0
virtual bool SetFuelFeed (std::string &aEngineName, std::string aFuelTankName)=0
virtual bool SetFuelFeed (std::string aFuelTankName)=0
double GetInternalFuelTankCapacity_lbs () const
double GetCurrentInternalFuelTankQuantity_lbs () const
double AddFuelQuantity_lbs (double aFuelToAdd_lbs)
double FillAllTanks (double aPercentFull)
void EmptyAllTanks ()
const MassProperties GetMassProperties () const
virtual bool AnEngineIsOperating (bool aTestSubobjects=false) const =0
virtual bool AnEngineIsSmoking (bool aTestSubobjects=false) const =0
virtual bool AnEngineHasAfterburnerOn (bool aTestSubobjects=false) const =0
virtual bool AnEngineIsContrailing (bool aTestSubobjects=false) const =0
virtual bool AnEngineIsEmittingSmokeTrail (bool aTestSubobjects=false) const =0
virtual void MakeAnEngineSmoke (int aEngineIndex)=0
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

 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< 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

◆ PropulsionSystem() [1/2]

◆ PropulsionSystem() [2/2]

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

Member Function Documentation

◆ AddFuelQuantity_lbs()

double wsf::six_dof::PropulsionSystem::AddFuelQuantity_lbs ( double aFuelToAdd_lbs)

◆ AddFuelTank()

bool wsf::six_dof::PropulsionSystem::AddFuelTank ( std::unique_ptr< FuelTank > aFuelTank)

◆ AddFuelTransfer()

bool wsf::six_dof::PropulsionSystem::AddFuelTransfer ( const std::string & aTransferName,
const std::string & aSourceTankName,
const std::string & aTargetTankName )

References FuelTransferNameUnique(), and mFuelTransferList.

Referenced by Shutdown().

◆ AddFuelTransferAndConnect()

bool wsf::six_dof::PropulsionSystem::AddFuelTransferAndConnect ( const std::string & aTransferName,
const std::string & aSourceTankName,
const std::string & aTargetTankName )

◆ AfterburnerIsPresent()

virtual bool wsf::six_dof::PropulsionSystem::AfterburnerIsPresent ( ) const
pure virtual

◆ AnEngineHasAfterburnerOn()

virtual bool wsf::six_dof::PropulsionSystem::AnEngineHasAfterburnerOn ( bool aTestSubobjects = false) const
pure virtual

◆ AnEngineIsContrailing()

virtual bool wsf::six_dof::PropulsionSystem::AnEngineIsContrailing ( bool aTestSubobjects = false) const
pure virtual

◆ AnEngineIsEmittingSmokeTrail()

virtual bool wsf::six_dof::PropulsionSystem::AnEngineIsEmittingSmokeTrail ( bool aTestSubobjects = false) const
pure virtual

◆ AnEngineIsOperating()

virtual bool wsf::six_dof::PropulsionSystem::AnEngineIsOperating ( bool aTestSubobjects = false) const
pure virtual

◆ AnEngineIsSmoking()

virtual bool wsf::six_dof::PropulsionSystem::AnEngineIsSmoking ( bool aTestSubobjects = false) const
pure virtual

◆ EmptyAllTanks()

void wsf::six_dof::PropulsionSystem::EmptyAllTanks ( )

References mFuelTankMap.

Referenced by SetFuelFeed().

◆ EnableThrustVectoring()

virtual void wsf::six_dof::PropulsionSystem::EnableThrustVectoring ( bool aEnableThrustVectoring)
pure virtual

◆ FillAllTanks()

double wsf::six_dof::PropulsionSystem::FillAllTanks ( double aPercentFull)

◆ FuelTransferNameUnique()

bool wsf::six_dof::PropulsionSystem::FuelTransferNameUnique ( const std::string & aName) const

◆ GetCurrentInternalFuelTankQuantity_lbs()

double wsf::six_dof::PropulsionSystem::GetCurrentInternalFuelTankQuantity_lbs ( ) const

References mFuelTankMap.

Referenced by AddFuelQuantity_lbs(), and SetFuelFeed().

◆ GetFuelTank()

wsf::six_dof::FuelTank * wsf::six_dof::PropulsionSystem::GetFuelTank ( const std::string & aName) const

References mFuelTankMap.

Referenced by ModifyFuelQuantity().

◆ GetFuelTanks()

const std::unordered_map< std::string, UtCloneablePtr< FuelTank > > & wsf::six_dof::PropulsionSystem::GetFuelTanks ( ) const
inline

◆ GetInternalFuelTankCapacity_lbs()

double wsf::six_dof::PropulsionSystem::GetInternalFuelTankCapacity_lbs ( ) const

References mFuelTankMap.

Referenced by AddFuelQuantity_lbs(), and SetFuelFeed().

◆ GetMassProperties()

const wsf::six_dof::MassProperties wsf::six_dof::PropulsionSystem::GetMassProperties ( ) const

◆ GetNumFuelTanks()

size_t wsf::six_dof::PropulsionSystem::GetNumFuelTanks ( ) const

◆ GetNumThrustProducers()

◆ GetThrustProducerByIndex()

◆ GetThrustProducerObjectByName()

virtual ThrustProducerObject * wsf::six_dof::PropulsionSystem::GetThrustProducerObjectByName ( const std::string & aName) const
pure virtual

◆ Ignite()

virtual void wsf::six_dof::PropulsionSystem::Ignite ( int64_t aIgniteTimeInFrame_nanosec)
pure virtual

◆ Initialize()

virtual bool wsf::six_dof::PropulsionSystem::Initialize ( int64_t aSimTime_nanosec)
pure virtual

◆ IsProducingThrust()

virtual bool wsf::six_dof::PropulsionSystem::IsProducingThrust ( ) const
pure virtual

◆ MakeAnEngineSmoke()

virtual void wsf::six_dof::PropulsionSystem::MakeAnEngineSmoke ( int aEngineIndex)
pure virtual

◆ ModifyFuelQuantity()

bool wsf::six_dof::PropulsionSystem::ModifyFuelQuantity ( const std::string & aTankName,
double aQty_lbs )

◆ operator=()

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

References PropulsionSystem().

◆ RemoveFuelTankByName()

bool wsf::six_dof::PropulsionSystem::RemoveFuelTankByName ( std::string aName)

References mFuelTankMap.

Referenced by Shutdown().

◆ RemoveFuelTransfer()

bool wsf::six_dof::PropulsionSystem::RemoveFuelTransfer ( const std::string & aTransferName)

References mFuelTransferList.

Referenced by Shutdown().

◆ RemoveInvalidFuelTransfers()

void wsf::six_dof::PropulsionSystem::RemoveInvalidFuelTransfers ( )
protected

◆ SetFuelFeed() [1/2]

virtual bool wsf::six_dof::PropulsionSystem::SetFuelFeed ( std::string & aEngineName,
std::string aFuelTankName )
pure virtual

◆ SetFuelFeed() [2/2]

virtual bool wsf::six_dof::PropulsionSystem::SetFuelFeed ( std::string aFuelTankName)
pure virtual

◆ SetLastSimTime()

void wsf::six_dof::PropulsionSystem::SetLastSimTime ( int64_t aLastSimTime_nanosec)
inline

References mLastSimTime_nanosec.

◆ SetParentVehicle()

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

◆ SetThrottleLeverPosition()

virtual void wsf::six_dof::PropulsionSystem::SetThrottleLeverPosition ( double aThrottleLeverPosition)
pure virtual

◆ Shutdown()

virtual void wsf::six_dof::PropulsionSystem::Shutdown ( int64_t aTerminateTime_nanosec = 0)
pure virtual

◆ ThrustVectoringEnabled()

bool wsf::six_dof::PropulsionSystem::ThrustVectoringEnabled ( ) const
inline

◆ Update()

Member Data Documentation

◆ mEnableThrustVectoring

◆ mFuelTankMap

◆ mFuelTransferList

◆ mLastSimTime_nanosec

int64_t wsf::six_dof::PropulsionSystem::mLastSimTime_nanosec = 0
protected

◆ mPropulsionSystemThrottleLeverPosition

◆ mThrottleLeverPositionSet


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