18#include "wsf_export.h"
62 void Update(
double aSimTime)
override;
75 virtual double GetConsumptionRate(
const double aAltitude,
const double aSpeed);
81 virtual double GetNetDepletionRate();
82 virtual double GetNetDepletionRate(
const double aAltitude,
const double aSpeed);
91 virtual void SetReserveQuantity(
double aQuantity);
94 void SetBingoQuantity(
double aQuantity);
97 virtual void SetQuantityRemaining(
double aQuantity);
99 virtual double GetQuantityRequired(
const WsfRoute& aRoute);
100 virtual double GetQuantityRequired(
const double aDistance);
101 virtual double GetQuantityRequired(
const double aDistance,
const double aAltitude,
const double aSpeed);
107 double FuelSecondsRemaining(
const WsfRoute& aRoute);
108 double FuelSeconds(
const double aPounds);
109 double FuelSeconds(
const double aPounds,
const double aSpeed,
const double aAltitude);
112 double TimeAt(FuelState aFuelState);
114 double TimeAt(FuelState aFuelState,
const double aSpeed,
const double aAltitude);
117 double TimeTo(FuelState aFuelState);
119 double TimeTo(FuelState aFuelState,
const double aAltitude,
const double aSpeed);
122 double DistanceAt(FuelState aFuelState);
124 double DistanceAt(FuelState aFuelState,
const double aAltitude,
const double aSpeed);
127 double DistanceTo(FuelState aFuelState);
129 double DistanceTo(FuelState aFuelState,
const double aAltitude,
const double aSpeed);
133 bool IsBingo()
const {
return mBingoEventTriggered; }
135 bool IsEmpty()
const {
return mEmptyEventTriggered; }
138 virtual bool Refuel(
double aSimTime);
139 virtual bool Refuel(
double aSimTime,
double aQuantity);
142 virtual std::string GetMode()
const;
145 void SetMode(
const std::string& aMode);
157 virtual double CalcConsumptionRate();
160 virtual double CalcConsumptionRateAltitudeSpeed(
const double aAltitude,
const double aSpeed);
163 void ExecuteEmptyScript(
double aSimTime);
164 void ExecuteReserveScript(
double aSimTime);
165 void ExecuteBingoScript(
double aSimTime);
166 void ExecuteRefuelScript(
double aSimTime);
193 UtScript* mOnEmptyScriptPtr;
194 UtScript* mOnReserveScriptPtr;
195 UtScript* mOnBingoScriptPtr;
196 UtScript* mOnRefuelScriptPtr;
200 double mMaximumQuantity;
201 double mInitialQuantity;
202 double mCurrentQuantity;
204 bool mBingoEventTriggered;
205 bool mReserveEventTriggered;
206 bool mEmptyEventTriggered;
207 bool mFirstDeltaUpdate;
@ cWSF_INITIALIZE_ORDER_FUEL
Definition WsfComponentRoles.hpp:173
#define WSF_DECLARE_COMPONENT_ROLE_TYPE(TYPE, ROLE)
Definition WsfComponentRoles.hpp:44
@ cWSF_COMPONENT_FUEL
A 'fuel' component (WsfFuel).
Definition WsfComponentRoles.hpp:101
UtStringId WsfStringId
WsfStringId – the same thing as UtStringId.
Definition WsfStringId.hpp:23
#define WSF_EXPORT
Definition WsfXIO_Export.hpp:35
Definition WsfComponent.hpp:39
Definition WsfFuel.hpp:30
bool IsOnReserve() const
Definition WsfFuel.hpp:134
virtual WsfStringId GetModeId() const
Definition WsfFuel.hpp:141
virtual double GetReceiveRate() const
Definition WsfFuel.hpp:79
void ResetFlags()
Definition WsfFuel.cpp:185
virtual double GetMaximumQuantity() const
Definition WsfFuel.hpp:84
virtual double GetReserveQuantity() const
Definition WsfFuel.hpp:90
bool IsBingo() const
Definition WsfFuel.hpp:133
double GetUpdateInterval() const override
Definition WsfFuel.hpp:153
double mBingoQuantity
Reserve fuel (defaults to 0).
Definition WsfFuel.hpp:188
int GetComponentInitializationOrder() const override
Definition WsfFuel.hpp:49
WsfFuel(WsfScenario &aScenario)
Definition WsfFuel.cpp:30
virtual double GetConsumptionRate()
Definition WsfFuel.hpp:74
virtual double GetQuantityRemaining() const
Definition WsfFuel.hpp:96
double mReserveQuantity
Definition WsfFuel.hpp:187
void DecrementQuantity(double aDelta)
Definition WsfFuel.cpp:711
FuelState
Definition WsfFuel.hpp:33
@ ON_EMPTY
Definition WsfFuel.hpp:36
@ ON_BINGO
Definition WsfFuel.hpp:34
@ ON_RESERVE
Definition WsfFuel.hpp:35
void IncrementQuantity(double aDelta)
Definition WsfFuel.cpp:706
double GetBingoQuantity() const
Definition WsfFuel.hpp:93
virtual double GetInitialQuantity() const
Definition WsfFuel.hpp:87
bool IsEmpty() const
Definition WsfFuel.hpp:135
WsfFuel & operator=(const WsfFuel &aSrc)=delete
Assignment constructor.
double mLastUpdate
Definition WsfFuel.hpp:186
void SetUpdateInterval(double aInterval) override
Definition WsfFuel.hpp:152
void CheckEvents(double aSimTime)
Definition WsfFuel.cpp:720
virtual double GetSupplyRate() const
Definition WsfFuel.hpp:78
double GetLastUpdateTime() const
Definition WsfFuel.hpp:155
virtual void SetMaximumQuantity(double aQuantity)
Definition WsfFuel.hpp:85
WsfComponent * CloneComponent() const override
Definition WsfFuel.hpp:46
void SetConsumptionRate(double aRate)
Definition WsfFuel.hpp:76
virtual double CalculateDeltaQuantity(double aSimTime)
Calculates a delta fuel quantity.
Definition WsfFuel.cpp:687
virtual void SetInitialQuantity(double aQuantity)
Definition WsfFuel.hpp:88
virtual WsfObject * Clone() const =0
A collection of WsfWaypoint objects that represent a path to be followed.
Definition WsfRoute.hpp:40
Contains the data required to create a simulation, and acts as the entry point for input file process...
Definition WsfScenario.hpp:111
Definition WsfScriptContext.hpp:71