VR-Forces 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 
64  virtual double iasFromTas(
65  const double trueAirspeed,
66  const double altitude) const;
67 
72  virtual double machFromTas(
73  const double trueAirspeed,
74  const double temperature,
75  const double pressure) const;
76 
80  virtual double groundSpeedFromTas(
81  const double tas,
82  const double heading,
83  const double windSpeed,
84  const double windDirection) //dir blowing from, radians
85  const;
86 
90  virtual double tasFromIas(
91  const double indicatedAirspeed,
92  const double altitude) const;
93 
98  virtual double tasFromMach(
99  const double trueAirspeed,
100  const double temperature,
101  const double pressure) const;
102 
103 private:
104 
105 };
106 
108 {
110 private:
113 
114 public:
115 
116  typedef DtAirspeedCalculator* (*CalculatorCreatorFcn)();
117  typedef std::map<std::string, CalculatorCreatorFcn> CreatorMap;
118 
121 
123  virtual ~DtAirspeedCalculatorFactory();
124 
126  virtual DtAirspeedCalculator* createCalculator(const std::string& sTag);
127 
130  static DtAirspeedCalculatorFactory& instance();
132 
134  virtual void registerAirSpeedCalculatorCreator(const std::string& sTag, CalculatorCreatorFcn fcn);
135 
136 protected:
137 
140 
143 
144 };
#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:117
DtAirSpeedType
Air Speed Type PDU enums.
Definition: rwAirSpeedType.h:23
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:80
static DtAirspeedCalculatorFactory * pTheInstance
Factory instance.
Definition: airSpeedCalculator.h:142
Definition: airSpeedCalculator.h:107
CreatorMap myCreatorMap
creator map
Definition: airSpeedCalculator.h:139

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)