VR-Forces 4.7 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtDisplayUnitsSettingsManager.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * Copyright (c) 2012 MAK Technologies, Inc.
3  * All rights reserved.
4  *****************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvCore/vrvCore.h>
13 
15 
18 
19 namespace makVrv
20 {
21 
22  class DtDe;
23  class DtCoordinateDisplay;
24  class DtDisplayUnitsSettingsSynchronizerAgent;
25 
60  {
61  public:
62 
69 
72 
74  DtCoordinateDisplay* currentCoordinateDisplay();
75 
77  const DtCoordinateDisplay* currentCoordinateDisplay() const;
78 
81 
82  CoordSys currentCoordinateDisplaySystem() const;
83  DistanceUnits currentDistanceUnits() const;
84  DistanceUnits currentAltitudeUnits() const;
85  VelocityUnits currentVelocityUnits() const;
86  OrientationUnits currentOrientationUnits() const;
87  AccelerationUnits currentAccelerationUnits() const;
88  RotVelocityUnits currentRotationalVelocityUnits() const;
89 
90  int currentCoordinateSystemDecimals() const;
91  int currentDistanceUnitDecimals() const;
92  int currentAltitudeUnitDecimals() const;
93  int currentVelocityUnitDecimals() const;
94  int currentOrientationUnitDecimals() const;
95  int currentAccelerationUnitDecimals() const;
96  int currentRotationalVelocityUnitDecimals() const;
97 
98  DtUnicode currentDistanceUnitNotation() const;
99  DtUnicode currentAltitudeUnitNotation() const;
100  DtUnicode currentVelocityUnitNotation() const;
101  DtUnicode currentOrientationUnitNotation() const;
102  DtUnicode currentAccelerationUnitNotation() const;
103  DtUnicode currentRotationalVelocityUnitNotation() const;
104 
106 
109 
110  int coordinateSystemDecimals( CoordSys cs ) const;
111  int distanceUnitDecimals( DistanceUnits distUnit ) const;
112  int altitudeUnitDecimals( DistanceUnits altUnit ) const;
113  int velocityUnitDecimals( VelocityUnits velocityUnit ) const;
114  int orientationUnitDecimals( OrientationUnits oriUnit ) const;
115  int accelerationUnitDecimals( AccelerationUnits accelUnit ) const;
116  int rotationalVelocityUnitDecimals( RotVelocityUnits wUnit ) const;
117 
118  DtUnicode coordinateSystemNotation( CoordSys cs ) const;
119  DtUnicode distanceUnitNotation( DistanceUnits distUnit ) const;
120  DtUnicode altitudeUnitNotation( DistanceUnits altUnit ) const;
121  DtUnicode velocityUnitNotation( VelocityUnits velocityUnit ) const;
122  DtUnicode orientationUnitNotation( OrientationUnits oriUnit ) const;
123  DtUnicode accelerationUnitNotation( AccelerationUnits accelUnit ) const;
124  DtUnicode rotationalVelocityUnitNotation( RotVelocityUnits wUnit ) const;
125 
127 
130 
132  void coordinateSystemLabels(DtUnicode& x, DtUnicode& y, DtUnicode& z );
133 
135  void coordinateSystemLabels(
136  CoordSys coordSystem,
137  DtUnicode& x, DtUnicode& y, DtUnicode& z );
138 
140  void regularExpressionValidators( std::string& x,
141  std::string& y, std::string& z );
142 
144  void regularExpressionValidators(
145  CoordSys cs,
146  std::string& x, std::string& y, std::string& z );
147 
151  std::vector<std::string> convertPositionToStringList( CoordSys coordSys,
152  const DtVector& pos );
153 
157  std::vector<std::string> convertPositionToStringList(
158  const DtVector& pos ) const;
159 
161 
164 
166  double convertAngleUnitNativeToDisplay( double angle ) const;
167 
169  double convertAngleUnitDisplayToNative( double angle ) const;
170 
173  std::string convertAngleUnitNativeToDisplayString( double angle ) const;
174 
176 
179 
181  double convertDistanceUnitNativeToDisplay( double distance ) const;
182 
184  double convertDistanceUnitDisplayToNative( double distance ) const;
185 
188  std::string convertDistanceUnitNativeToDisplayString( double dist ) const;
189 
191 
194 
195 
197  double convertAltitudeUnitNativeToDisplay( double altitude ) const;
198 
200  double convertAltitudeUnitDisplayToNative( double altitude ) const;
201 
204  std::string convertAltitudeUnitNativeToDisplayString( double altitude ) const;
205 
207 
210 
212  DtVector convertVelocityUnitNativeToDisplay( const DtVector& vel ) const;
213 
216  std::string convertVelocityUnitNativeToDisplayString(
217  const DtVector& vel ) const;
218 
221  DtVector convertVelocityUnitDisplayToNative( const DtVector& vel ) const;
222 
225  DtVector convertVelocitySystemAndUnitGeocentricToDisplay(
226  const DtVector& geocLoc, const DtVector& geocVel ) const;
227 
231  std::string convertVelocitySystemAndUnitGeocentricToDisplayString(
232  const DtVector& geocLoc, const DtVector& geocVel ) const;
233 
235 
238 
240  DtVector convertAccelerationUnitNativeToDisplay(
241  const DtVector& accel ) const;
242 
245  std::string convertAccelerationUnitNativeToDisplayString(
246  const DtVector& accel ) const;
247 
250  DtVector convertAccelerationUnitDisplayToNative(
251  const DtVector& accel ) const;
252 
254  DtVector convertAccelerationSystemAndUnitGeocentricToDisplay(
255  const DtVector& geocLoc, const DtVector& accel ) const;
256 
259  std::string convertAccelerationSystemAndUnitGeocentricToDisplayString(
260  const DtVector& geocLoc, const DtVector& accel ) const;
261 
263 
266 
268  DtTaitBryan convertOrientationUnitNativeToDisplay(
269  const DtTaitBryan& ori ) const;
270 
273  std::vector<std::string> convertOrientationUnitNativeToDisplayStrings(
274  const DtTaitBryan& ori ) const;
275 
277  DtTaitBryan convertOrientationUnitDisplayToNative(
278  const DtTaitBryan& ori ) const;
279 
281 
284 
286  DtVector convertRotationalVelocityUnitNativeToDisplay(
287  const DtVector& rotVel ) const;
288 
290  std::string convertRotationalVelocityUnitNativeToDisplayString(
291  const DtVector& rotVel ) const;
292 
294  DtVector convertRotationalVelocityUnitDisplayToNative(
295  const DtVector& rotVel ) const;
296 
298  DtVector convertRotationalVelocitySystemAndUnitGeocentricToDisplay(
299  const DtVector& rotVel ) const;
300 
303  std::string
304  convertRotationalVelocitySystemAndUnitGeocentricToDisplayString(
305  const DtVector& rotVel ) const;
306 
308 
309 
312 
314  double convertSpeedUnitNativeToDisplay( const DtVector& velocity ) const;
315 
317  double convertSpeedUnitNativeToDisplay( double speed) const;
318 
321  std::string convertSpeedUnitNativeToDisplayString(
322  const DtVector& velocity) const;
323 
326  std::string convertSpeedUnitNativeToDisplayString(double speed) const;
327 
329  double convertSpeedUnitDisplayToNative( double speed) const;
330 
332  double convertSpeedSystemAndUnitGeocentricToDisplay(
333  const DtVector& geocLoc, const DtVector& velocity ) const;
334 
337  std::string convertSpeedSystemAndUnitGeocentricToDisplayString(
338  const DtVector& geocLoc, const DtVector& velocity ) const;
339 
341 
344 
347  double convertAccelerationMagnitudeUnitNativeToDisplay(
348  const DtVector& accel ) const;
349 
352  double convertAccelerationMagnitudeUnitNativeToDisplay(
353  double accel ) const;
354 
357  std::string convertAccelerationMagnitudeUnitNativeToDisplayString(
358  const DtVector& accel ) const;
359 
362  std::string convertAccelerationMagnitudeUnitNativeToDisplayString(
363  double accel ) const;
364 
366  double convertAccelerationMagnitudeUnitDisplayToNative( double acc) const;
367 
370  double convertAccelerationMagnitudeSystemAndUnitGeocentricToDisplay(
371  const DtVector& geocLoc, const DtVector& accel ) const;
372 
375  std::string
376  convertAccelerationMagnitudeSystemAndUnitGeocentricToDisplayString(
377  const DtVector& geocLoc, const DtVector& accel ) const;
379 
380 
382 
385 
387  DtTaitBryan convertHeadingPitchRollSystemAndUnitGeocentricToDisplay(
388  const DtVector& geocLoc, const DtTaitBryan& geocOri ) const;
389 
392  std::vector<std::string>
393  convertHeadingPitchRollSystemAndUnitGeocentricToDisplayStrings(
394  const DtVector& geocLoc, const DtTaitBryan& geocOri ) const;
395 
397 
398  protected:
399 
401  static std::string valueToText( double value, int decimals );
402 
405  static std::string valuesToText( const DtVector& localVelocity, int decimals );
406 
407  protected:
408 
411 
412  };
413 
414 
418  : public DtBaseSharedSettingsManager<makArchives::DtDisplayUnitsSettingsRecord,
419  DtSharedDisplayUnitsSettings>
420  {
421  public:
422 
424  static DtDisplayUnitsSettingsManager& instance( DtDe& de );
425 
428 
430  void connectInputSignals();
431 
434 
435  void setCoordinateSystem( DtDisplayUnitsConverter::CoordSys cs );
436  void setDistanceUnits( DtDisplayUnitsConverter::DistanceUnits distUnits );
437  void setAltitudeUnits( DtDisplayUnitsConverter::DistanceUnits altUnits );
438  void setVelocityUnits( DtDisplayUnitsConverter::VelocityUnits velocityUnits );
439  void setOrientationUnits( DtDisplayUnitsConverter::OrientationUnits oriUnits );
440  void setAccelerationUnits( DtDisplayUnitsConverter::AccelerationUnits accelUnits );
441  void setRotationalVelocityUnits( DtDisplayUnitsConverter::RotVelocityUnits wUnits );
442 
443  void setCoordinateSystemDecimals( DtDisplayUnitsConverter::CoordSys cs, int decimals );
444  void setDistanceUnitDecimals( DtDisplayUnitsConverter::DistanceUnits distUnit, int decimals );
445  void setAltitudeUnitDecimals( DtDisplayUnitsConverter::DistanceUnits altUnit, int decimals );
446  void setVelocityUnitDecimals( DtDisplayUnitsConverter::VelocityUnits velocityUnit, int decimals );
447  void setOrientationUnitDecimals( DtDisplayUnitsConverter::OrientationUnits oriUnit, int decimals );
448  void setAccelerationUnitDecimals( DtDisplayUnitsConverter::AccelerationUnits accelUnit, int decimals );
449  void setRotationalVelocityUnitDecimals( DtDisplayUnitsConverter::RotVelocityUnits wUnit, int decimals );
450 
452 
455 
458  virtual void setFromRecord( const makArchives::DtDisplayUnitsSettingsRecord& rec );
459 
461 
463  DtDisplayUnitsConverter& converter();
464 
465  protected:
466 
468  template <typename ManagerClass>
469  friend ManagerClass& defaultManagerInstanceFunction( DtDe&, bool );
470 
472  template <typename ManagerClass>
473  friend void defaultManagerRegisterInstanceFunction( DtDe&, ManagerClass* );
474 
477 
484  virtual void slot_initializeSynchronizer();
485 
490  virtual void slot_displayEngineAdded( const DtDeRecord& deRec );
491 
493  virtual void slot_backupRestored(const DtSettingsBackup* s);
494 
495  protected:
496 
498 
499  DtDisplayUnitsSettingsSynchronizerAgent* mySettingsSynchronizer;
500 
501  };
502 
503 }

Document ID: Generated on Fri Apr 26 21:53:14 EDT 2019 from SVN revision 197883
Copyright © 2005-2019 VT MAK. All Rights Reserved (www.mak.com)