VR-Forces 5.0.3 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 <boost/unordered_map.hpp>
14 #include <matrix/vlVector.h>
15 
17 
18 class DtTaitBryan;
19 
20 namespace makVrv
21 {
22 
28  {
29  public:
30 
33 
36 
39 
42 
44  double convertDistance(
46  double distance ) const;
47 
49  double convertSpeed(
51  double speed ) const;
52 
54  DtVector convertVelocity(
56  const DtVector& velocity ) const;
57 
59  double convertAcceleration(
61  double accel ) const;
62 
64  DtVector convertAcceleration(
66  const DtVector& accel ) const;
67 
69  DtTaitBryan convertOrientation(
71  const DtTaitBryan& orientation ) const;
72 
74  double convertAngle(
76  double angle ) const;
77 
79  DtVector convertRotationalVelocity(
81  const DtVector& rotVel ) const;
82 
84  double convertTemperature(
86  double temperature) const;
87 
89  double convertPressure(
91  double pressure) const;
92 
94 
97 
99  double revertDistance(
101  double distance ) const;
102 
104  double revertSpeed(
106  double speed ) const;
107 
109  DtVector revertVelocity(
111  const DtVector& velocity ) const;
112 
114  DtVector revertAcceleration(
116  const DtVector& accel ) const;
117 
119  double revertAcceleration(
121  double accel ) const;
122 
124  DtTaitBryan revertOrientation(
126  const DtTaitBryan& ori ) const;
127 
129  double revertAngle(
131  double angle ) const;
132 
134  DtVector revertRotationalVelocity(
136  const DtVector& rotVel ) const;
137 
139  double revertTemperature(
141  double temperature) const;
142 
144  double revertPressure(
146  double pressure) const;
147 
149 
154  unsigned int unit, const DtUnitConverter* converter );
155 
156 
159 
161  const DtTimeUnitConverter* timeConverterFor(
163 
165  const DtDistanceUnitConverter* distanceConverterFor(
167 
169  const DtOrientationUnitConverter* orientationConverterFor(
171 
173  const DtTemperatureUnitConverter* temperatureConverterFor(
175 
177  const DtPressureUnitConverter* pressureConverterFor(
179 
181 
182  protected:
183 
185  void addDefaultConverters();
186 
189 
191  double distanceConversionFactor(
193 
195  double velocityConversionFactor(
197 
199  double accelerationConversionFactor(
201 
203  double angleConversionFactor(
205 
207  double rotationalVelocityConversionFactor(
209 
211  double pressureConversionFactor(
213 
215 
216  protected:
217 
218  typedef boost::unordered_map<unsigned int,const DtUnitConverter*>
220  typedef boost::unordered_map<unsigned int,UnitConverterMap>
222 
224 
225  private:
226 
229 
230  };
231 
232 }
VelocityUnits
Enumeration of the different velocity units.
Definition: DtDisplayUnitsSettingsRecord.h:72
Base class for all pressure unit converters.
Definition: DtUnitConverter.h:167
#define DT_DLL_VRVUTIL
Definition: vrvUtil.h:34
boost::unordered_map< unsigned int, const DtUnitConverter * > UnitConverterMap
Definition: DtUnitConverterCollection.h:219
Base class for all temperature unit converters.
Definition: DtUnitConverter.h:141
PressureUnits
Enumeration of the different pressure units.
Definition: DtDisplayUnitsSettingsRecord.h:137
Contains the various unit converters&#39; class declarations.
Contains DLL export macros.
DistanceUnits
Enumeration of the different distance units.
Definition: DtDisplayUnitsSettingsRecord.h:56
Base class for all unit converters.
Definition: DtUnitConverter.h:19
RotVelocityUnits
Enumeration of the different rotational velocity units.
Definition: DtDisplayUnitsSettingsRecord.h:112
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:27
OrientationUnits
Enumeration of the different orientation units.
Definition: DtDisplayUnitsSettingsRecord.h:101
DisplayUnitType
Enumeration of the different display unit types.
Definition: DtDisplayUnitsSettingsRecord.h:161
Base class for all time unit converters.
Definition: DtUnitConverter.h:88
TemperatureUnits
Enumeration of the different temperature units.
Definition: DtDisplayUnitsSettingsRecord.h:126
boost::unordered_map< unsigned int, UnitConverterMap > UnitConverterTypeMap
Definition: DtUnitConverterCollection.h:221
Base class for all distance unit converters.
Definition: DtUnitConverter.h:61
TimeUnits
Enumeration of the different time units.
Definition: DtDisplayUnitsSettingsRecord.h:45
Contains the DtDisplayUnitsSettingsRecord class declaration.
UnitConverterTypeMap myConverters
Definition: DtUnitConverterCollection.h:223
AccelerationUnits
Enumeration of the different acceleration units.
Definition: DtDisplayUnitsSettingsRecord.h:88
Base class for all orientation unit converters.
Definition: DtUnitConverter.h:115

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)