VR-Forces 4.7 Class Documentation
Home
Modules
Namespaces
Classes
Files
Examples
Behavior Models
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Groups
Pages
include
vrfutil
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
"
12
#include "
vrfutil/rwAircraftEngineEfficiency.h
"
13
14
#include <vector>
15
16
28
class
DT_DLL_vrfutil
DtAircraftFuelConsumptionModel
29
{
30
public
:
32
static
DtAircraftFuelConsumptionModel
* Create(
33
const
DtRwAircraftEngineEfficiencyDataPointList
& datapoints);
34
35
DtAircraftFuelConsumptionModel
();
36
38
virtual
~
DtAircraftFuelConsumptionModel
();
39
41
virtual
bool
isValid()
const
;
42
53
virtual
bool
addDataPoints(
54
const
DtRwAircraftEngineEfficiencyDataPointList
& datapoints,
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
85
bool
myShouldConsumeFuel
;
86
};
87
89
class
DT_DLL_vrfutil
DtNoFuelUsageAircraftFuelConsumptionModel
90
:
public
DtAircraftFuelConsumptionModel
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
109
class
DT_DLL_vrfutil
DtConstantAircraftFuelConsumptionModel
:
public
DtAircraftFuelConsumptionModel
110
{
111
public
:
112
DtConstantAircraftFuelConsumptionModel
();
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
129
class
DT_DLL_vrfutil
DtBilinearInterpolationAircraftFuelConsumptionModel
130
:
public
DtAircraftFuelConsumptionModel
131
{
132
public
:
133
DtBilinearInterpolationAircraftFuelConsumptionModel
();
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
152
bool
myValidFlag
;
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
)