VR-Forces 4.10 Class Documentation
 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 
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 DtVrfObjectStateRepository* 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
Description: This repository holds all information that is common to all the forms of all entity/aggr...
Definition: vrfObjectStateRepository.h:87
DtAirSpeedType
Air Speed Type PDU enums.
Definition: rwAirSpeedType.h:24
class DtAirspeedCalculator:
Definition: airSpeedCalculator.h:23
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 Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)