VR-Forces 4.3.1 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator 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 
17 
19 
22 
23 #include <matrix/vlTaitBryan.h>
24 #include <matrix/vlVector.h>
25 
26 #include <boost/signals.hpp>
27 
28 namespace makVrv
29 {
30 
31  class DtDe;
32  class DtCoordinateDisplay;
33  class DtDisplayUnitsSettingsSynchronizerAgent;
34 
69  {
70  public:
71 
78 
81 
83  DtCoordinateDisplay* currentCoordinateDisplay();
84 
86  const DtCoordinateDisplay* currentCoordinateDisplay() const;
87 
90 
91  CoordSys currentCoordinateDisplaySystem() const;
92  DistanceUnits currentDistanceUnits() const;
93  DistanceUnits currentAltitudeUnits() const;
94  VelocityUnits currentVelocityUnits() const;
95  OrientationUnits currentOrientationUnits() const;
96  AccelerationUnits currentAccelerationUnits() const;
97  RotVelocityUnits currentRotationalVelocityUnits() const;
98 
99  int currentCoordinateSystemDecimals() const;
100  int currentDistanceUnitDecimals() const;
101  int currentAltitudeUnitDecimals() const;
102  int currentVelocityUnitDecimals() const;
103  int currentOrientationUnitDecimals() const;
104  int currentAccelerationUnitDecimals() const;
105  int currentRotationalVelocityUnitDecimals() const;
106 
107  DtUnicode currentDistanceUnitNotation() const;
108  DtUnicode currentAltitudeUnitNotation() const;
109  DtUnicode currentVelocityUnitNotation() const;
110  DtUnicode currentOrientationUnitNotation() const;
111  DtUnicode currentAccelerationUnitNotation() const;
112  DtUnicode currentRotationalVelocityUnitNotation() const;
113 
115 
118 
119  int coordinateSystemDecimals( CoordSys cs ) const;
120  int distanceUnitDecimals( DistanceUnits distUnit ) const;
121  int altitudeUnitDecimals( DistanceUnits altUnit ) const;
122  int velocityUnitDecimals( VelocityUnits velocityUnit ) const;
123  int orientationUnitDecimals( OrientationUnits oriUnit ) const;
124  int accelerationUnitDecimals( AccelerationUnits accelUnit ) const;
125  int rotationalVelocityUnitDecimals( RotVelocityUnits wUnit ) const;
126 
127  DtUnicode coordinateSystemNotation( CoordSys cs ) const;
128  DtUnicode distanceUnitNotation( DistanceUnits distUnit ) const;
129  DtUnicode altitudeUnitNotation( DistanceUnits altUnit ) const;
130  DtUnicode velocityUnitNotation( VelocityUnits velocityUnit ) const;
131  DtUnicode orientationUnitNotation( OrientationUnits oriUnit ) const;
132  DtUnicode accelerationUnitNotation( AccelerationUnits accelUnit ) const;
133  DtUnicode rotationalVelocityUnitNotation( RotVelocityUnits wUnit ) const;
134 
136 
139 
141  void coordinateSystemLabels(DtUnicode& x, DtUnicode& y, DtUnicode& z );
142 
144  void coordinateSystemLabels(
145  CoordSys coordSystem,
146  DtUnicode& x, DtUnicode& y, DtUnicode& z );
147 
149  void regularExpressionValidators( std::string& x,
150  std::string& y, std::string& z );
151 
153  void regularExpressionValidators(
154  CoordSys cs,
155  std::string& x, std::string& y, std::string& z );
156 
160  std::vector<std::string> convertPositionToStringList( CoordSys coordSys,
161  const DtVector& pos );
162 
166  std::vector<std::string> convertPositionToStringList(
167  const DtVector& pos ) const;
168 
170 
173 
175  double convertAngleUnitNativeToDisplay( double angle ) const;
176 
178  double convertAngleUnitDisplayToNative( double angle ) const;
179 
182  std::string convertAngleUnitNativeToDisplayString( double angle ) const;
183 
185 
188 
190  double convertDistanceUnitNativeToDisplay( double distance ) const;
191 
193  double convertDistanceUnitDisplayToNative( double distance ) const;
194 
197  std::string convertDistanceUnitNativeToDisplayString( double dist ) const;
198 
200 
203 
204 
206  double convertAltitudeUnitNativeToDisplay( double altitude ) const;
207 
209  double convertAltitudeUnitDisplayToNative( double altitude ) const;
210 
213  std::string convertAltitudeUnitNativeToDisplayString( double altitude ) const;
214 
216 
219 
221  DtVector convertVelocityUnitNativeToDisplay( const DtVector& vel ) const;
222 
225  std::string convertVelocityUnitNativeToDisplayString(
226  const DtVector& vel ) const;
227 
230  DtVector convertVelocityUnitDisplayToNative( const DtVector& vel ) const;
231 
234  DtVector convertVelocitySystemAndUnitGeocentricToDisplay(
235  const DtVector& geocLoc, const DtVector& geocVel ) const;
236 
240  std::string convertVelocitySystemAndUnitGeocentricToDisplayString(
241  const DtVector& geocLoc, const DtVector& geocVel ) const;
242 
244 
247 
249  DtVector convertAccelerationUnitNativeToDisplay(
250  const DtVector& accel ) const;
251 
254  std::string convertAccelerationUnitNativeToDisplayString(
255  const DtVector& accel ) const;
256 
259  DtVector convertAccelerationUnitDisplayToNative(
260  const DtVector& accel ) const;
261 
263  DtVector convertAccelerationSystemAndUnitGeocentricToDisplay(
264  const DtVector& geocLoc, const DtVector& accel ) const;
265 
268  std::string convertAccelerationSystemAndUnitGeocentricToDisplayString(
269  const DtVector& geocLoc, const DtVector& accel ) const;
270 
272 
275 
277  DtTaitBryan convertOrientationUnitNativeToDisplay(
278  const DtTaitBryan& ori ) const;
279 
282  std::vector<std::string> convertOrientationUnitNativeToDisplayStrings(
283  const DtTaitBryan& ori ) const;
284 
286  DtTaitBryan convertOrientationUnitDisplayToNative(
287  const DtTaitBryan& ori ) const;
288 
290 
293 
295  DtVector convertRotationalVelocityUnitNativeToDisplay(
296  const DtVector& rotVel ) const;
297 
299  std::string convertRotationalVelocityUnitNativeToDisplayString(
300  const DtVector& rotVel ) const;
301 
303  DtVector convertRotationalVelocityUnitDisplayToNative(
304  const DtVector& rotVel ) const;
305 
307  DtVector convertRotationalVelocitySystemAndUnitGeocentricToDisplay(
308  const DtVector& rotVel ) const;
309 
312  std::string
313  convertRotationalVelocitySystemAndUnitGeocentricToDisplayString(
314  const DtVector& rotVel ) const;
315 
317 
318 
321 
323  double convertSpeedUnitNativeToDisplay( const DtVector& velocity ) const;
324 
326  double convertSpeedUnitNativeToDisplay( double speed) const;
327 
330  std::string convertSpeedUnitNativeToDisplayString(
331  const DtVector& velocity) const;
332 
335  std::string convertSpeedUnitNativeToDisplayString(double speed) const;
336 
338  double convertSpeedUnitDisplayToNative( double speed) const;
339 
341  double convertSpeedSystemAndUnitGeocentricToDisplay(
342  const DtVector& geocLoc, const DtVector& velocity ) const;
343 
346  std::string convertSpeedSystemAndUnitGeocentricToDisplayString(
347  const DtVector& geocLoc, const DtVector& velocity ) const;
348 
350 
353 
356  double convertAccelerationMagnitudeUnitNativeToDisplay(
357  const DtVector& accel ) const;
358 
361  double convertAccelerationMagnitudeUnitNativeToDisplay(
362  double accel ) const;
363 
366  std::string convertAccelerationMagnitudeUnitNativeToDisplayString(
367  const DtVector& accel ) const;
368 
371  std::string convertAccelerationMagnitudeUnitNativeToDisplayString(
372  double accel ) const;
373 
375  double convertAccelerationMagnitudeUnitDisplayToNative( double acc) const;
376 
379  double convertAccelerationMagnitudeSystemAndUnitGeocentricToDisplay(
380  const DtVector& geocLoc, const DtVector& accel ) const;
381 
384  std::string
385  convertAccelerationMagnitudeSystemAndUnitGeocentricToDisplayString(
386  const DtVector& geocLoc, const DtVector& accel ) const;
388 
389 
391 
394 
396  DtTaitBryan convertHeadingPitchRollSystemAndUnitGeocentricToDisplay(
397  const DtVector& geocLoc, const DtTaitBryan& geocOri ) const;
398 
401  std::vector<std::string>
402  convertHeadingPitchRollSystemAndUnitGeocentricToDisplayStrings(
403  const DtVector& geocLoc, const DtTaitBryan& geocOri ) const;
404 
406 
407  protected:
408 
410  static std::string valueToText( double value, int decimals );
411 
414  static std::string valuesToText( const DtVector& localVelocity, int decimals );
415 
416  protected:
417 
420 
421  };
422 
423 
427  : public DtBaseSharedSettingsManager<makArchives::DtDisplayUnitsSettingsRecord,
428  DtSharedDisplayUnitsSettings>
429  {
430  public:
431 
433  static DtDisplayUnitsSettingsManager& instance( DtDe& de );
434 
437 
440 
441  void setCoordinateSystem( DtDisplayUnitsConverter::CoordSys cs );
442  void setDistanceUnits( DtDisplayUnitsConverter::DistanceUnits distUnits );
443  void setAltitudeUnits( DtDisplayUnitsConverter::DistanceUnits altUnits );
444  void setVelocityUnits( DtDisplayUnitsConverter::VelocityUnits velocityUnits );
445  void setOrientationUnits( DtDisplayUnitsConverter::OrientationUnits oriUnits );
446  void setAccelerationUnits( DtDisplayUnitsConverter::AccelerationUnits accelUnits );
447  void setRotationalVelocityUnits( DtDisplayUnitsConverter::RotVelocityUnits wUnits );
448 
449  void setCoordinateSystemDecimals( DtDisplayUnitsConverter::CoordSys cs, int decimals );
450  void setDistanceUnitDecimals( DtDisplayUnitsConverter::DistanceUnits distUnit, int decimals );
451  void setAltitudeUnitDecimals( DtDisplayUnitsConverter::DistanceUnits altUnit, int decimals );
452  void setVelocityUnitDecimals( DtDisplayUnitsConverter::VelocityUnits velocityUnit, int decimals );
453  void setOrientationUnitDecimals( DtDisplayUnitsConverter::OrientationUnits oriUnit, int decimals );
454  void setAccelerationUnitDecimals( DtDisplayUnitsConverter::AccelerationUnits accelUnit, int decimals );
455  void setRotationalVelocityUnitDecimals( DtDisplayUnitsConverter::RotVelocityUnits wUnit, int decimals );
456 
458 
461 
464  virtual void setFromRecord( const makArchives::DtDisplayUnitsSettingsRecord& rec );
465 
467 
469  DtDisplayUnitsConverter& converter();
470 
471  protected:
472 
474  template <typename ManagerClass>
475  friend ManagerClass& defaultManagerInstanceFunction( DtDe&, bool );
476 
478  template <typename ManagerClass>
479  friend void defaultManagerRegisterInstanceFunction( DtDe&, ManagerClass* );
480 
483 
490  virtual void slot_initializeSynchronizer();
491 
496  virtual void slot_displayEngineAdded( const DtDeRecord& deRec );
497 
498  protected:
499 
501 
502  DtDisplayUnitsSettingsSynchronizerAgent* mySettingsSynchronizer;
503 
504  };
505 
506 }

Document ID: Generated on Wed Jul 29 00:55:00 EDT 2015 from SVN revision 155257
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)