WSF
WsfP6DOF_Fuel.hpp
Go to the documentation of this file.
1// ****************************************************************************
2// CUI
3//
4// The Advanced Framework for Simulation, Integration, and Modeling (AFSIM)
5//
6// Copyright 2003-2015 The Boeing Company. All rights reserved.
7//
8// The use, dissemination or disclosure of data in this file is subject to
9// limitation or restriction. See accompanying README and LICENSE for details.
10// ****************************************************************************
11// ****************************************************************************
12// Updated by Infoscitex, a DCS Company.
13// ****************************************************************************
14
15#ifndef WSFP6DOF_FUEL_HPP
16#define WSFP6DOF_FUEL_HPP
17
18#include "wsf_p6dof_export.h"
19
20#include "WsfFuel.hpp"
21#include "WsfP6DOF_Mover.hpp"
22
28// and higher-fidelity P6DOF fuel model simply cannot be simplified.
29
30class WSF_P6DOF_EXPORT WsfP6DOF_Fuel : public WsfFuel
31{
32public:
33 explicit WsfP6DOF_Fuel(WsfScenario& aScenario);
34 ~WsfP6DOF_Fuel() override = default;
35
36 WsfP6DOF_Fuel& operator=(const WsfP6DOF_Fuel& other) = delete;
37
38 WsfFuel* Clone() const override;
39
41
42 // bool Initialize(double aSimTime) override;
43 bool Initialize2(double aSimTime) override;
44 bool ProcessInput(UtInput& aInput) override;
45 void Update(double aSimTime) override;
47
48 // This sets the P6DOF mover for the fuel object
49 void SetMover(WsfP6DOF_Mover* aMover) { mMoverPtr = aMover; }
50
51 // Returns the fuel consumption rate in kg/sec
52 double GetConsumptionRate() override;
53
54 // Returns the fuel consumption rate in kg/sec
55 // For now, this returns the current consumption rate. Later, it will utilize altitude and speed.
56 double GetConsumptionRate(const double aAltitude, const double aSpeed) override;
57
58 // Quantity is in kg
59 void SetMaximumQuantity(double aQuantity) override;
60
61 // Returns current fuel quantity (kg)
62 double GetQuantityRemaining() const override;
63
64 // void SetQuantityRemaining(double aQuantity) override;
65
66 // Instantaneous refueling
67 bool Refuel(double aSimTime) override;
68
69 // Quantity is in kg
70 bool Refuel(double aSimTime, double aQuantity) override;
71
72protected:
73 WsfP6DOF_Fuel(const WsfP6DOF_Fuel& aSrc);
74
75 void SetP6DofMover();
76
77 void UpdateP6DofFuelData(double aSimTime);
78
79 // This calculates the fuel consumption under current conditions
80 double CalcConsumptionRate() override;
81
82 // This calculates the fuel consumption at specified conditions.
83 // Note: At the present time, this calculates the fuel consumption under current conditions.
84 double CalcConsumptionRateAltitudeSpeed(const double aAltitude, const double aSpeed) override;
85
87};
88
89#endif
WsfFuel(WsfScenario &aScenario)
Definition WsfFuel.cpp:30
virtual double GetConsumptionRate()
Definition WsfFuel.hpp:74
bool Initialize2(double aSimTime) override
Definition WsfFuel.cpp:177
void Update(double aSimTime) override
Definition WsfFuel.cpp:308
virtual bool Refuel(double aSimTime)
Instantaneous refueling.
Definition WsfFuel.cpp:583
virtual double GetQuantityRemaining() const
Definition WsfFuel.hpp:96
virtual double CalcConsumptionRateAltitudeSpeed(const double aAltitude, const double aSpeed)
Definition WsfFuel.cpp:597
virtual double CalcConsumptionRate()
Definition WsfFuel.cpp:592
virtual void SetMaximumQuantity(double aQuantity)
Definition WsfFuel.hpp:85
bool ProcessInput(UtInput &aInput) override
Definition WsfFuel.cpp:210
WsfFuel * Clone() const override
Definition WsfFuel.cpp:93
Definition WsfP6DOF_Fuel.hpp:31
WsfP6DOF_Fuel(WsfScenario &aScenario)
Definition WsfP6DOF_Fuel.cpp:29
void SetMover(WsfP6DOF_Mover *aMover)
Definition WsfP6DOF_Fuel.hpp:49
~WsfP6DOF_Fuel() override=default
WsfP6DOF_Fuel & operator=(const WsfP6DOF_Fuel &other)=delete
WsfP6DOF_Mover * mMoverPtr
Definition WsfP6DOF_Fuel.hpp:86
Definition WsfP6DOF_Mover.hpp:51
Contains the data required to create a simulation, and acts as the entry point for input file process...
Definition WsfScenario.hpp:111
Copyrights Multiple, All Rights Reserved