VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtUnitConverterCollection.h
Go to the documentation of this file.
1 /********************************************************************
2  * Copyright (c) 2020 MaK Technologies, Inc.
3  * All rights reserved.
4  ********************************************************************/
5 
9 
10 #pragma once
11 #include <vrvUtil/vrvUtil.h>
13 #include <matrix/vlVector.h>
14 
16 
17 #include <unordered_map>
18 
19 class DtTaitBryan;
20 
21 namespace makVrv
22 {
23 
29  {
30  public:
31 
34 
37 
40 
43 
45  double convertDistance(
47  double distance ) const;
48 
50  double convertSpeed(
52  double speed ) const;
53 
55  DtVector convertVelocity(
57  const DtVector& velocity ) const;
58 
60  double convertAcceleration(
62  double accel ) const;
63 
65  DtVector convertAcceleration(
67  const DtVector& accel ) const;
68 
70  DtTaitBryan convertOrientation(
72  const DtTaitBryan& orientation ) const;
73 
75  double convertAngle(
77  double angle ) const;
78 
80  DtVector convertRotationalVelocity(
82  const DtVector& rotVel ) const;
83 
85  double convertTemperature(
87  double temperature) const;
88 
90  double convertPressure(
92  double pressure) const;
93 
95 
98 
100  double revertDistance(
102  double distance ) const;
103 
105  double revertSpeed(
107  double speed ) const;
108 
110  DtVector revertVelocity(
112  const DtVector& velocity ) const;
113 
115  DtVector revertAcceleration(
117  const DtVector& accel ) const;
118 
120  double revertAcceleration(
122  double accel ) const;
123 
125  DtTaitBryan revertOrientation(
127  const DtTaitBryan& ori ) const;
128 
130  double revertAngle(
132  double angle ) const;
133 
135  DtVector revertRotationalVelocity(
137  const DtVector& rotVel ) const;
138 
140  double revertTemperature(
142  double temperature) const;
143 
145  double revertPressure(
147  double pressure) const;
148 
150 
155  unsigned int unit, const DtUnitConverter* converter );
156 
157 
160 
163  unsigned int unit) const;
164 
166  const DtTimeUnitConverter* timeConverterFor(
168 
170  const DtDistanceUnitConverter* distanceConverterFor(
172 
174  const DtOrientationUnitConverter* orientationConverterFor(
176 
178  const DtTemperatureUnitConverter* temperatureConverterFor(
180 
182  const DtPressureUnitConverter* pressureConverterFor(
184 
186 
187  protected:
188 
190  void addDefaultConverters();
191 
194 
196  double distanceConversionFactor(
198 
200  double velocityConversionFactor(
202 
204  double accelerationConversionFactor(
206 
208  double angleConversionFactor(
210 
212  double rotationalVelocityConversionFactor(
214 
216  double pressureConversionFactor(
218 
220 
221  protected:
222 
223  typedef std::unordered_map<unsigned int,const DtUnitConverter*>
225  typedef std::unordered_map<unsigned int,UnitConverterMap>
227 
229 
230  private:
231 
234 
235  };
236 
237 }
VelocityUnits
Enumeration of the different velocity units.
Definition: DtDisplayUnitsSettingsRecord.h:73
Base class for all pressure unit converters.
Definition: DtUnitConverter.h:210
#define DT_DLL_VRVUTIL
Definition: vrvUtil.h:34
std::unordered_map< unsigned int, UnitConverterMap > UnitConverterTypeMap
Definition: DtUnitConverterCollection.h:226
Base class for all temperature unit converters.
Definition: DtUnitConverter.h:184
PressureUnits
Enumeration of the different pressure units.
Definition: DtDisplayUnitsSettingsRecord.h:138
Contains the various unit converters&#39; class declarations.
Contains DLL export macros.
DistanceUnits
Enumeration of the different distance units.
Definition: DtDisplayUnitsSettingsRecord.h:57
Base class for all unit converters.
Definition: DtUnitConverter.h:19
RotVelocityUnits
Enumeration of the different rotational velocity units.
Definition: DtDisplayUnitsSettingsRecord.h:113
DT_DLL_VRVCORE double distance(const makVrv::DtCoordinateSystem &, const DtVector &from, const DtVector &to)
Returns the distance from the two points. Coordinates are in local database coordinates The coordinat...
DT_DLL_vrfutil double angle(double vec1[3], double vec2[3])
Repository for all unit converters. Provides utility functions for converting value units without hav...
Definition: DtUnitConverterCollection.h:28
std::unordered_map< unsigned int, const DtUnitConverter * > UnitConverterMap
Definition: DtUnitConverterCollection.h:224
OrientationUnits
Enumeration of the different orientation units.
Definition: DtDisplayUnitsSettingsRecord.h:102
DisplayUnitType
Enumeration of the different display unit types.
Definition: DtDisplayUnitsSettingsRecord.h:162
Base class for all time unit converters.
Definition: DtUnitConverter.h:131
TemperatureUnits
Enumeration of the different temperature units.
Definition: DtDisplayUnitsSettingsRecord.h:127
Base class for all distance unit converters.
Definition: DtUnitConverter.h:61
TimeUnits
Enumeration of the different time units.
Definition: DtDisplayUnitsSettingsRecord.h:46
Contains the DtDisplayUnitsSettingsRecord class declaration.
UnitConverterTypeMap myConverters
Definition: DtUnitConverterCollection.h:228
AccelerationUnits
Enumeration of the different acceleration units.
Definition: DtDisplayUnitsSettingsRecord.h:89
Base class for all orientation unit converters.
Definition: DtUnitConverter.h:158

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)