VR-Forces 5.0.3 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
airSpeedCalculator.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 1999-2020 MaK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 #pragma once
6 
9 
10 #include <string>
11 #include <map>
12 #include <vrfutil/rwAirSpeedType.h>
13 
14 class DtSimObject;
15 
24 {
25 
26 public:
29 
32 
33  static DtAirspeedCalculator* creator();
34 
36  virtual ~DtAirspeedCalculator();
37 
39  const DtAirspeedCalculator& operator=(const DtAirspeedCalculator& orig);
40 
42  virtual void convertSpeedtoAllAirSpeeds(
43  const DtSimObject* stateRep,
44  double &groundSpeed,
45  double &trueAirSpeed,
46  double &indicatedAirSpeed,
47  double &machSpeed,
48  double currentAlt,
49  DtAirSpeedType currentSpeedType);
50 
54  virtual double tasFromGroundSpeed(
55  const double groundSpeed,
56  const double heading,
57  const double windSpeed,
58  const double windDirection) //dir blowing from, radians
59  const;
60 
66  virtual double iasFromTas(
67  const double trueAirspeed,
68  const double altitude) const;
69 
74  virtual double machFromTas(
75  const double trueAirspeed,
76  const double temperature,
77  const double pressure) const;
78 
79  virtual double machFromTas(
80  const double trueAirspeed,
81  const double temperature,
82  const double pressure,
83  const double altitude) const;
84 
88  virtual double groundSpeedFromTas(
89  const double tas,
90  const double heading,
91  const double windSpeed,
92  const double windDirection) //dir blowing from, radians
93  const;
94 
100  virtual double tasFromIas(
101  const double indicatedAirspeed,
102  const double altitude) const;
103 
108  virtual double tasFromMach(
109  const double trueAirspeed,
110  const double temperature,
111  const double pressure) const;
112 
113  virtual double tasFromMach(
114  const double trueAirspeed,
115  const double temperature,
116  const double pressure,
117  const double altitude) const;
118 private:
119 
120 };
121 
123 {
125 protected:
128 
129 public:
130 
131  typedef DtAirspeedCalculator* (*CalculatorCreatorFcn)();
132  typedef std::map<std::string, CalculatorCreatorFcn> CreatorMap;
133 
136 
138  virtual ~DtAirspeedCalculatorFactory();
139 
141  virtual DtAirspeedCalculator* createCalculator(const std::string& sTag);
142 
145  static DtAirspeedCalculatorFactory& instance();
147 
149  virtual void registerAirSpeedCalculatorCreator(const std::string& sTag, CalculatorCreatorFcn fcn);
150 
151 protected:
152 
155 
158 
159 };
#define DT_DLL_vrfmodel
This file is used to determine how to build.
Definition: vrfmodelDefines.h:24
std::map< std::string, CalculatorCreatorFcn > CreatorMap
Definition: airSpeedCalculator.h:132
DtAirSpeedType
Air Speed Type PDU enums.
Definition: rwAirSpeedType.h:24
class DtAirspeedCalculator:
Definition: airSpeedCalculator.h:23
Represents a single simulation object in the exercise. Object may be VRF simulation, or non-VRF simulated, and may be simulated by the local sim engine, or by a remote sim engine. Only public (external) state of the object is available. All data is read-only. All access to data of the object is thread safe within the simulation frame.
Definition: simObject.h:79
static DtAirspeedCalculatorFactory * pTheInstance
Factory instance.
Definition: airSpeedCalculator.h:157
Definition: airSpeedCalculator.h:122
CreatorMap myCreatorMap
creator map
Definition: airSpeedCalculator.h:154

Document ID: Generated on Thu Jun 1 17:58:13 EDT 2023 from SVN revision 255404
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)