VR-Forces 4.7 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
aircraftFuelConsumptionModel.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2018 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
9 #pragma once
10 
11 #include "vrfutil/vrfutilDefines.h"
13 
14 #include <vector>
15 
16 
29 {
30 public:
32  static DtAircraftFuelConsumptionModel* Create(
34 
36 
39 
41  virtual bool isValid() const;
42 
53  virtual bool addDataPoints(
55  double startMass, double endMass,
56  std::ostream* errorStream = 0) = 0;
57 
60  virtual double calculateEfficiency(
61  double range, double speed, double startMass, double endMass) const;
62 
64  virtual double calculateRange(
65  double speed, double altitude, double startMass, double endMass) const;
66 
68  virtual double interpolateEfficiency(double speed, double altitude) const = 0;
69 
74  virtual double fuelConsumed(
75  double range, double speed, double altitude, double mass) const;
76 
78  virtual bool shouldConsumeFuel() const;
79 
81  virtual void setShouldConsumeFuel(bool shouldConsume);
82 
83 protected:
84 
86 };
87 
91 {
92 public:
93  virtual bool addDataPoints(const DtRwAircraftEngineEfficiencyDataPointList& datapoints,
94  double startWeight, double endWeight,
95  std::ostream* errorStream = 0);
96 
97  virtual double interpolateEfficiency(double speed, double altitude) const;
98 
99  virtual double fuelConsumed(double range, double speed, double altitude, double mass) const;
100 
101  virtual double calculateRange(
102  double speed, double altitude, double startMass, double endMass) const;
103 
105  virtual bool shouldConsumeFuel() const;
106 };
107 
110 {
111 public:
113 
114  bool isValid() const;
115 
117  virtual bool addDataPoints(const DtRwAircraftEngineEfficiencyDataPointList& datapoints,
118  double startWeight, double endWeight,
119  std::ostream* errorStream = 0);
120 
121  virtual double interpolateEfficiency(double speed, double altitude) const;
122 
123 protected:
124  double myEfficiency;
125 };
126 
131 {
132 public:
134 
135  virtual bool isValid() const;
136 
138  virtual bool addDataPoints(const DtRwAircraftEngineEfficiencyDataPointList& datapoints,
139  double startWeight, double endWeight,
140  std::ostream* errorStream = 0);
141 
142  virtual double interpolateEfficiency(double speed, double altitude) const;
143 
144 protected:
146  double myGridPoints[2][2];
147 
148  double myMinAltitude, myMaxAltitude;
149  double myMinSpeed, myMaxSpeed;
150  double myXDYD;
151 
153 };

Document ID: Generated on Fri Apr 26 21:53:14 EDT 2019 from SVN revision 197883
Copyright © 2005-2019 VT MAK. All Rights Reserved (www.mak.com)