VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
vrfDisplayUnitsSettingsManager.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2016 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
8 
9 #pragma once
10 
11 #include <vrfGuiCore/vrfGuiCore.h>
15 #include <vrvCore/DtUniqueID.h>
17 
19 
20 class DtEntityType;
21 
22 namespace makVrv
23 {
24  class DtDe;
25  class DtUnitConverter;
26 }
27 
28 namespace makVrf
29 {
35  class DtWeightUnitConverter;
36  class DtVolumeUnitConverter;
37 
39  {
40  public:
42  {
48  UserWeightEnd = UserWeightStart + 128,
49  End_WeightUnits
50  };
51 
53  {
59  UserVolumeEnd = UserVolumeStart + 128,
60  End_VolumeUnits
61  };
62 
65 
67  virtual ~DtVrfDisplayUnitsSettingsManager() override;
68 
69  virtual std::string valueToText( double value, int decimals ) const;
70 
72  static void registerInstance(makVrv::DtDe&, DtVrfDisplayUnitsSettingsManager*);
73 
74  public:
76  virtual makVrv::DtUnicode getElementDisplayUnitCollectionName(const std::set<makVrv::DtUniqueID>& selection,
78 
81  virtual makArchives::DtDisplayUnitsSettingsRecord::DisplayUnitType resourceUnitOfMeasurementFor(int) const;
82  virtual makArchives::DtDisplayUnitsSettingsRecord::DisplayUnitType resourceUnitOfMeasurementFor(const DtEntityType& et) const;
83  virtual WeightUnitTypes currentWeightUnits() const;
84  virtual VolumeUnitTypes currentVolumeUnits() const;
85  virtual const DtWeightUnitConverter* weightUnitConverter(WeightUnitTypes) const;
86  virtual const DtVolumeUnitConverter* volumeUnitConverter(VolumeUnitTypes) const;
87 
89  virtual int resourceUnitDecimals(makArchives::DtDisplayUnitsSettingsRecord::DisplayUnitType) const;
90  virtual std::string convertResourceUnitNativeToDisplayString(const DtEntityType&, double value) const;
91  virtual double revertWeight(double value, WeightUnitTypes unitsResourceIsIn) const;
92  virtual double revertVolume(double value, VolumeUnitTypes unitsResourceIsIn) const;
93  virtual double convertVolume(double value, VolumeUnitTypes resourceToConvertTo) const;
94  virtual double convertWeight(double value, WeightUnitTypes resourceToConvertTo) const;
95  virtual double convertResourceUnitNativeToDisplay(const DtEntityType&, double temp) const;
96  virtual double convertResourceUnitDisplayToNative(const DtEntityType&, double temp) const;
97 
98  virtual makVrv::DtUnicode resourceUnitNotation(const DtEntityType&) const;
99  virtual int resourceUnitDecimals(const DtEntityType&) const;
100 
102  virtual makArchives::DtDisplayUnitsSettingsRecord::DistanceUnits currentAltitudeUnits(const std::set<makVrv::DtUniqueID>& selection = std::set<makVrv::DtUniqueID>()) const;
103  virtual int currentAltitudeUnitDecimals(const std::set<makVrv::DtUniqueID>& selection = std::set<makVrv::DtUniqueID>()) const;
104  virtual makVrv::DtUnicode currentAltitudeUnitNotation(const std::set<makVrv::DtUniqueID>& selection = std::set<makVrv::DtUniqueID>()) const;
105  virtual std::string convertAltitudeUnitNativeToDisplayString(double altitude, const std::set<makVrv::DtUniqueID>& selection = std::set<makVrv::DtUniqueID>()) const;
106  virtual double revertAltitude(double altitude, makArchives::DtDisplayUnitsSettingsRecord::DistanceUnits unitsAltitudeIsIn) const;
107  virtual double convertAltitude(double altitude, makArchives::DtDisplayUnitsSettingsRecord::DistanceUnits altitudeToConvertTo) const;
108  virtual double convertAltitudeUnitNativeToDisplay(double altitude, const std::set<makVrv::DtUniqueID>& selection = std::set<makVrv::DtUniqueID>()) const;
109  virtual double convertAltitudeUnitDisplayToNative(double altitude, const std::set<makVrv::DtUniqueID>& selection = std::set<makVrv::DtUniqueID>()) const;
110 
111  virtual makArchives::DtDisplayUnitsSettingsRecord::DistanceUnits currentDistanceUnits(const std::set<makVrv::DtUniqueID>& selection = std::set<makVrv::DtUniqueID>()) const;
112  virtual int currentDistanceUnitDecimals(const std::set<makVrv::DtUniqueID>& selection = std::set<makVrv::DtUniqueID>()) const;
113  virtual makVrv::DtUnicode currentDistanceUnitNotation(const std::set<makVrv::DtUniqueID>& selection = std::set<makVrv::DtUniqueID>()) const;
114  virtual std::string convertDistanceUnitNativeToDisplayString(double altitude, const std::set<makVrv::DtUniqueID>& selection = std::set<makVrv::DtUniqueID>()) const;
115  virtual double revertDistance(double dist, makArchives::DtDisplayUnitsSettingsRecord::DistanceUnits unitsDistanceIsIn) const;
116  virtual double convertDistance(double dist, makArchives::DtDisplayUnitsSettingsRecord::DistanceUnits distanceToConvertTo) const;
117  virtual double convertDistanceUnitNativeToDisplay(double dist, const std::set<makVrv::DtUniqueID>& selection = std::set<makVrv::DtUniqueID>()) const;
118  virtual double convertDistanceUnitDisplayToNative(double dist, const std::set<makVrv::DtUniqueID>& selection = std::set<makVrv::DtUniqueID>()) const;
119 
120  virtual makArchives::DtDisplayUnitsSettingsRecord::DistanceUnits currentSmallDistanceUnits() const;
121  virtual int currentSmallDistanceUnitDecimals() const;
122  virtual makVrv::DtUnicode currentSmallDistanceUnitNotation() const;
123  virtual std::string convertSmallDistanceUnitNativeToDisplayString(double altitude) const;
124  virtual double convertSmallDistanceUnitNativeToDisplay(double dist) const;
125  virtual double convertSmallDistanceUnitDisplayToNative(double dist) const;
126 
127  virtual makArchives::DtDisplayUnitsSettingsRecord::VelocityUnits currentSpeedUnits(const std::set<makVrv::DtUniqueID>& selection = std::set<makVrv::DtUniqueID>()) const;
128  virtual int currentSpeedUnitDecimals(const std::set<makVrv::DtUniqueID>& selection = std::set<makVrv::DtUniqueID>()) const;
129  virtual makVrv::DtUnicode currentSpeedUnitNotation(const std::set<makVrv::DtUniqueID>& selection = std::set<makVrv::DtUniqueID>()) const;
130  virtual std::string convertSpeedUnitNativeToDisplayString(const DtVector& speed, const std::set<makVrv::DtUniqueID>& selection = std::set<makVrv::DtUniqueID>()) const;
131  virtual std::string convertSpeedUnitNativeToDisplayString(double speed, const std::set<makVrv::DtUniqueID>& selection = std::set<makVrv::DtUniqueID>()) const;
132  virtual double revertSpeed(double speed, makArchives::DtDisplayUnitsSettingsRecord::VelocityUnits unitsSpeedIsIn) const;
133  virtual double convertSpeed(double speed, makArchives::DtDisplayUnitsSettingsRecord::VelocityUnits speedToConvertTo) const;
134  virtual double convertSpeedUnitNativeToDisplay(double speed, const std::set<makVrv::DtUniqueID>& selection = std::set<makVrv::DtUniqueID>()) const;
135  virtual double convertSpeedUnitDisplayToNative(double speed, const std::set<makVrv::DtUniqueID>& selection = std::set<makVrv::DtUniqueID>()) const;
136  virtual DtVector convertVelocityUnitNativeToDisplay(const DtVector& velocity, const std::set<makVrv::DtUniqueID>& selection = std::set<makVrv::DtUniqueID>()) const;
137  virtual DtVector convertVelocityUnitDisplayToNative(const DtVector& velocity, const std::set<makVrv::DtUniqueID>& selection = std::set<makVrv::DtUniqueID>()) const;
138  virtual std::string convertVelocityUnitNativeToDisplayString(const DtVector& velocity, const std::set<makVrv::DtUniqueID>& selection = std::set<makVrv::DtUniqueID>()) const;
139  virtual std::string convertVelocitySystemAndUnitGeocentricToDisplayString(const DtVector& geocLoc, const DtVector& geocVel,
140  const std::set<makVrv::DtUniqueID>& selection = std::set<makVrv::DtUniqueID>()) const;
141 
142  virtual makArchives::DtDisplayUnitsSettingsRecord::AccelerationUnits currentAccelerationUnits() const;
143  virtual int currentAccelerationUnitDecimals() const;
144  virtual makVrv::DtUnicode currentAccelerationUnitNotation() const;
145  virtual std::string convertAccelerationUnitNativeToDisplayString(double speed) const;
146  virtual std::string convertAccelerationUnitNativeToDisplayString(const DtVector& speed) const;
147  virtual double revertAcceleration(double speed, makArchives::DtDisplayUnitsSettingsRecord::AccelerationUnits unitsSpeedIsIn) const;
148  virtual double convertAcceleration(double speed, makArchives::DtDisplayUnitsSettingsRecord::AccelerationUnits speedToConvertTo) const;
149  virtual double convertAccelerationUnitNativeToDisplay(double speed) const;
150  virtual double convertAccelerationUnitDisplayToNative(double speed) const;
151  virtual std::string convertAccelerationSystemAndUnitGeocentricToDisplayString(const DtVector& geocLoc, const DtVector& geocAccel) const;
152 
153  virtual makArchives::DtDisplayUnitsSettingsRecord::RotVelocityUnits currentRotationalVelocityUnits() const;
154  virtual int currentRotationalVelocityUnitDecimals() const;
155  virtual makVrv::DtUnicode currentRotationalVelocityUnitNotation() const;
156  virtual std::string convertRotationalVelocityUnitNativeToDisplayString(const DtVector& speed) const;
157  virtual DtVector revertRotationalVelocity(const DtVector&, makArchives::DtDisplayUnitsSettingsRecord::RotVelocityUnits unitsSpeedIsIn) const;
158  virtual DtVector convertRotationalVelocity(const DtVector&, makArchives::DtDisplayUnitsSettingsRecord::RotVelocityUnits speedToConvertTo) const;
159  virtual DtVector convertRotationalVelocityUnitNativeToDisplay(const DtVector& velocity) const;
160  virtual DtVector convertRotationalVelocityUnitDisplayToNative(const DtVector& velocity) const;
161 
162  virtual makArchives::DtDisplayUnitsSettingsRecord::OrientationUnits currentOrientationUnits() const;
163  virtual int currentOrientationUnitDecimals() const;
164  virtual makVrv::DtUnicode currentOrientationUnitNotation() const;
165  virtual std::string convertOrientationUnitNativeToDisplayString(const DtTaitBryan&) const;
166  virtual double revertAngle(double angle, makArchives::DtDisplayUnitsSettingsRecord::OrientationUnits unitsAngleIsIn) const;
167  virtual double convertAngle(double angle, makArchives::DtDisplayUnitsSettingsRecord::OrientationUnits angleToConvertTo) const;
168  virtual double convertAngleUnitNativeToDisplay(double angle) const;
169  virtual double convertAngleUnitDisplayToNative(double angle) const;
170 
172  virtual std::string convertAngleUnitNativeToDisplayString(double angle, bool useCompassFormatting = false) const;
173  virtual std::vector<std::string> convertOrientationUnitNativeToDisplayStrings(const DtTaitBryan&) const;
174 
175  virtual makArchives::DtDisplayUnitsSettingsRecord::TemperatureUnits currentTemperatureUnits() const;
176  virtual int currentTemperatureUnitDecimals() const;
177  virtual makVrv::DtUnicode currentTemperatureUnitNotation() const;
178  virtual std::string convertTemperatureUnitNativeToDisplayString(double temperature) const;
179  virtual double revertTemperature(double temp, makArchives::DtDisplayUnitsSettingsRecord::TemperatureUnits unitsTempIsIn) const;
180  virtual double convertTemperature(double temp, makArchives::DtDisplayUnitsSettingsRecord::TemperatureUnits tempToConvertTo) const;
181  virtual double convertTemperatureUnitNativeToDisplay(double temp) const;
182  virtual double convertTemperatureUnitDisplayToNative(double temp) const;
183 
184  virtual makArchives::DtDisplayUnitsSettingsRecord::NorthUnits currentHeadingUnits() const;
185  virtual makVrv::DtUnicode currentHeadingUnitNotation() const;
186  virtual int currentHeadingUnitDecimals() const;
187  virtual std::string convertHeadingUnitNativeToDisplayString(const DtVector& geocentricLocation, double) const;
188  virtual double revertHeading(const DtVector& geocentricLocation, double angle, makArchives::DtDisplayUnitsSettingsRecord::NorthUnits unitsAngleIsIn) const;
189  virtual double convertHeading(const DtVector& geocentricLocation, double angle, makArchives::DtDisplayUnitsSettingsRecord::NorthUnits angleToConvertTo) const;
190  virtual double convertHeadingUnitNativeToDisplay(const DtVector& geocentricLocation, double angle) const;
191  virtual double convertHeadingUnitDisplayToNative(const DtVector& geocentricLocation, double angle) const;
192 
193  virtual std::vector<std::string> convertHeadingPitchRollSystemAndUnitGeocentricToDisplayStrings(const DtVector& geocentricLocation, const DtTaitBryan& orientation,
194  bool formatHeading = true, bool formatPitch = false, bool formatRool = false) const;
195  virtual std::vector<makVrv::DtUnicode> convertHeadingPitchRollSystemAndUnitGeocentricToNotatedDisplayStrings(const DtVector& geocentricLocation, const DtTaitBryan& orientation,
196  bool formatHeading = true, bool formatPitch = false, bool formatRool = false) const;
197 
198  virtual std::vector<std::string> convertPositionToStringList(makArchives::DtDisplayUnitsSettingsRecord::CoordSys,
199  const DtVector& geocentricLocation, const std::set<makVrv::DtUniqueID>& selection = std::set<makVrv::DtUniqueID>()) const;
200  virtual std::vector<std::string> convertPositionToStringList(const DtVector& geocentricLocation, const std::set<makVrv::DtUniqueID>& selection = std::set<makVrv::DtUniqueID>()) const;
201  virtual std::vector<makVrv::DtUnicode> convertPositionToNotatedStringList(const DtVector& geocentricLocation, const std::set<makVrv::DtUniqueID>& selection = std::set<makVrv::DtUniqueID>()) const;
202 
203  virtual int currentCoordinateSystemDecimals() const;
204  virtual makArchives::DtDisplayUnitsSettingsRecord::CoordSys currentCoordinateDisplaySystem() const;
205 
210  virtual double smartRange(double range, makArchives::DtDisplayUnitsSettingsRecord::DistanceUnits& displayUnits, bool round = false,
211  bool roundToHigherUnit = true) const;
212 
214  virtual bool compareWeatherDistance(double distance1, double distance2) const;
215  virtual bool compareWeatherVisibilityDistance(double distance1, double distance2) const;
216  virtual bool compareWeatherPrecipitationDepth(double distance1, double distance2) const;
217  virtual bool compareWeatherDirection(double distance1, double distance2) const;
218  virtual bool compareWeatherAltitude(double altitude1, double altitude2) const;
219  virtual bool compareWeatherSpeed(double altitude1, double altitude2) const;
220  virtual bool compareTemperature(double distance1, double distance2) const;
221 
222  virtual bool isGeocentric() const;
223 
224  public:
232 
233  protected:
235  virtual double roundToMeter(double metersDistance, makArchives::DtDisplayUnitsSettingsRecord::DistanceUnits& displayUnits,
236  bool round = true, bool convertToKm = true) const;
237 
240  virtual double roundToFeet(double metersDistance, makArchives::DtDisplayUnitsSettingsRecord::DistanceUnits& displayUnits, bool round,
241  bool roundToHigherUnit = true) const;
242 
245  virtual double roundToNauticalMiles(double metersDistance, makArchives::DtDisplayUnitsSettingsRecord::DistanceUnits& displayUnits, bool round,
246  bool roundToHigherUnit = true) const;
247 
248  protected:
250  };
251 }
VelocityUnits
Enumeration of the different velocity units.
Definition: DtDisplayUnitsSettingsRecord.h:73
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
A unicode string. DtUnicode stores a UTF-16 encoded unicode string. Code Point, a Unicode character...
Definition: DtUnicode.h:33
static const DtUnicode theDefaultDisplayUnitCollectionName
Definition: DtSharedDisplayUnitsSettings.h:216
static const makArchives::DtDisplayUnitsSettingsRecord::DisplayUnitType VolumeUnits
Definition: vrfDisplayUnitsSettingsManager.h:230
NorthUnits
Enumeration of the different north units.
Definition: DtDisplayUnitsSettingsRecord.h:151
Definition: vrfDisplayUnitsSettingsManager.h:54
The DtUnitConverter and its subclasses are used to conver meters to other systems of mesurement...
Definition: unitConversions.h:51
VolumeUnitTypes
Definition: vrfDisplayUnitsSettingsManager.h:52
Contains the DtUnitConverterCollection class declaration.
static const makVrv::DtUnicode theResourceUnitCollectionName
Definition: vrfDisplayUnitsSettingsManager.h:225
makVrv::DtDe & myDe
Definition: vrfDisplayUnitsSettingsManager.h:249
CoordSys
Enumeration of the different coordinate system types.
Definition: DtDisplayUnitsSettingsRecord.h:30
static const makVrv::DtUnicode theCountDisplayUnitName
Definition: vrfDisplayUnitsSettingsManager.h:228
Definition: vrfDisplayUnitsSettingsManager.h:38
Definition: vrfDisplayUnitsSettingsManager.h:43
#define DT_DLL_VRFGUICORE
Contains DLL export macros.
Definition: vrfGuiCore.h:25
static const makArchives::DtDisplayUnitsSettingsRecord::DisplayUnitType WeightUnits
Definition: vrfDisplayUnitsSettingsManager.h:229
Definition: vrfDisplayUnitsSettingsManager.h:57
Contains the DtDisplayUnitsSettingsManager class declaration.
DistanceUnits
Enumeration of the different distance units.
Definition: DtDisplayUnitsSettingsRecord.h:57
Contains the DtSharedDisplayUnitsSettings class declaration.
Definition: vrfDisplayUnitsSettingsManager.h:58
Definition: vrfDisplayUnitsSettingsManager.h:46
RotVelocityUnits
Enumeration of the different rotational velocity units.
Definition: DtDisplayUnitsSettingsRecord.h:113
WeightUnitTypes
Definition: vrfDisplayUnitsSettingsManager.h:41
static const makArchives::DtDisplayUnitsSettingsRecord::DisplayUnitType CountUnits
Definition: vrfDisplayUnitsSettingsManager.h:231
Contains makVrv::DtVirtualBaseClass class.
Definition: vrfUnitConverters.h:108
DT_DLL_vrfutil double angle(double vec1[3], double vec2[3])
Definition: vrfDisplayUnitsSettingsManager.h:45
Definition: vrfDisplayUnitsSettingsManager.h:47
Definition: vrfDisplayUnitsSettingsManager.h:56
OrientationUnits
Enumeration of the different orientation units.
Definition: DtDisplayUnitsSettingsRecord.h:102
DisplayUnitType
Enumeration of the different display unit types.
Definition: DtDisplayUnitsSettingsRecord.h:162
TemperatureUnits
Enumeration of the different temperature units.
Definition: DtDisplayUnitsSettingsRecord.h:127
Definition: vrfDisplayUnitsSettingsManager.h:44
Definition: vrfDisplayUnitsSettingsManager.h:55
Definition: vrfUnitConverters.h:14
static const makVrv::DtUnicode theWeightDisplayUnitName
Definition: vrfDisplayUnitsSettingsManager.h:226
Contains makVrv::DtUniqueID type.
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:76
Contains the DtDisplayUnitsSettingsRecord class declaration.
static const makVrv::DtUnicode theVolumeDisplayUnitName
Definition: vrfDisplayUnitsSettingsManager.h:227
AccelerationUnits
Enumeration of the different acceleration units.
Definition: DtDisplayUnitsSettingsRecord.h:89

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)