24 class DtCoordinateDisplay;
25 class DtDisplayUnitsSettingsSynchronizerAgent;
26 class DtWorldMagneticModel;
92 CoordSys currentCoordinateDisplaySystem()
const;
100 const DtUnicode& displayUnitCollectionName,
109 const DtUnicode& displayUnitCollectionName,
118 const DtUnicode& displayUnitCollectionName,
127 const DtUnicode& displayUnitCollectionName,
136 const DtUnicode& displayUnitCollectionName,
145 const DtUnicode& displayUnitCollectionName,
154 const DtUnicode& displayUnitCollectionName,
163 const DtUnicode& displayUnitCollectionName,
171 unsigned int displayUnitUnit(
172 const DtUnicode& displayUnitCollectionName,
180 unsigned int displayUnitDecimals(
181 const DtUnicode& displayUnitCollectionName,
190 const DtUnicode& displayUnitCollectionName,
217 void coordinateSystemLabels(
222 void regularExpressionValidators( std::string& x,
223 std::string& y, std::string& z )
const;
226 void regularExpressionValidators(
228 std::string& x, std::string& y, std::string& z )
const;
235 std::vector<DtUnicode> convertPositionToNotatedStringList(
239 unsigned int coordinateSystemDecimals,
241 unsigned int altitudeDecimals,
242 bool minimal =
false)
const;
248 std::vector<DtUnicode> convertPositionToNotatedStringList(
251 unsigned int coordinateSystemDecimals,
253 unsigned int altitudeDecimals,
254 bool minimal =
false )
const;
259 std::vector<std::string> convertPositionToStringList(
CoordSys coordSys,
262 unsigned int coordinateSystemDecimals,
264 unsigned int altitudeDecimals )
const;
269 std::vector<std::string> convertPositionToStringList(
272 unsigned int coordinateSystemDecimals,
274 unsigned int altitudeDecimals )
const;
282 double convertAngleUnitNativeToDisplay(
287 double convertAngleUnitDisplayToNative(
298 std::string convertAngleUnitNativeToDisplayString(
301 unsigned int decimals,
302 bool additionalFormatting =
false )
const;
311 DtUnicode convertAngleUnitNativeToNotatedDisplayString(
314 bool additionalFormatting =
false)
const;
329 double convertHeadingUnitNativeToDisplay(
330 const DtVector& geocLoc,
333 bool convertDisplayToDegrees=
true)
const;
343 double convertHeadingUnitDisplayToNative(
344 const DtVector& geocLoc,
347 bool convertNativeToRadians=
true)
const;
358 DtUnicode convertHeadingUnitNativeToNotatedDisplayString(
const DtVector& geocLoc,
370 DtUnicode convertHeadingUnitNativeToNotatedDisplayString(
const DtVector& geocLoc,
377 double convertLocationToMagneticDeclination(
const DtVector& geocLoc)
const;
383 double convertLocationToGridDeclination(
const DtVector& geocLoc)
const;
389 double convertDistanceUnitNativeToDisplay(
394 double convertDistanceUnitDisplayToNative(
400 std::string convertDistanceUnitNativeToDisplayString(
403 unsigned int decimals )
const;
407 DtUnicode convertDistanceUnitNativeToNotatedDisplayString(
411 DtUnicode smartConvertDistanceUnitNativeToNotatedDisplayString(
412 double distanceInMeters,
421 DtVector convertVelocityUnitNativeToDisplay(
427 DtVector convertVelocityUnitDisplayToNative(
433 DtVector convertVelocitySystemAndUnitGeocentricToDisplay(
434 const DtVector& geocLoc,
435 const DtVector& geocVel,
440 std::string convertVelocityUnitNativeToDisplayString(
443 unsigned int decimals )
const;
448 std::string convertVelocitySystemAndUnitGeocentricToDisplayString(
449 const DtVector& geocLoc,
450 const DtVector& geocVel,
452 unsigned int decimals)
const;
460 DtVector convertAccelerationUnitNativeToDisplay(
461 const DtVector& accel,
466 DtVector convertAccelerationUnitDisplayToNative(
467 const DtVector& accel,
472 std::string convertAccelerationUnitNativeToDisplayString(
473 const DtVector& accel,
475 unsigned int decimals )
const;
478 DtVector convertAccelerationSystemAndUnitGeocentricToDisplay(
479 const DtVector& geocLoc,
480 const DtVector& accel,
485 std::string convertAccelerationSystemAndUnitGeocentricToDisplayString(
486 const DtVector& geocLoc,
const DtVector& accel,
488 unsigned int decimals )
const;
496 DtTaitBryan convertOrientationUnitNativeToDisplay(
497 const DtTaitBryan& ori,
501 DtTaitBryan convertOrientationUnitDisplayToNative(
502 const DtTaitBryan& ori,
516 std::vector<std::string> convertOrientationUnitNativeToDisplayStrings(
517 const DtTaitBryan& ori,
519 unsigned int decimals,
521 bool formatPsi =
false,
522 bool formatTheta =
false,
523 bool formatPhi =
false )
const;
536 std::vector<DtUnicode> convertOrientationUnitNativeToNotatedDisplayStrings(
537 const DtTaitBryan& ori,
540 bool formatPsi =
false,
541 bool formatTheta =
false,
542 bool formatPhi =
false)
const;
550 DtVector convertRotationalVelocityUnitNativeToDisplay(
551 const DtVector& rotVel,
555 DtVector convertRotationalVelocityUnitDisplayToNative(
556 const DtVector& rotVel,
560 std::string convertRotationalVelocityUnitNativeToDisplayString(
561 const DtVector& rotVel,
563 unsigned int decimals )
const;
566 DtVector convertRotationalVelocitySystemAndUnitGeocentricToDisplay(
567 const DtVector& rotVel,
573 convertRotationalVelocitySystemAndUnitGeocentricToDisplayString(
574 const DtVector& rotVel,
576 unsigned int decimals )
const;
585 double convertSpeedUnitNativeToDisplay(
586 const DtVector& velocity,
590 double convertSpeedUnitNativeToDisplay(
595 double convertSpeedUnitDisplayToNative(
600 double convertSpeedSystemAndUnitGeocentricToDisplay(
601 const DtVector& geocLoc,
602 const DtVector& velocity,
607 std::string convertSpeedUnitNativeToDisplayString(
608 const DtVector& velocity,
610 unsigned int decimals )
const;
614 std::string convertSpeedUnitNativeToDisplayString(
617 unsigned int decimals )
const;
621 std::string convertSpeedSystemAndUnitGeocentricToDisplayString(
622 const DtVector& geocLoc,
623 const DtVector& velocity,
625 unsigned int decimals )
const;
634 double convertAccelerationMagnitudeUnitNativeToDisplay(
635 const DtVector& accel,
640 double convertAccelerationMagnitudeUnitNativeToDisplay(
645 double convertAccelerationMagnitudeUnitDisplayToNative(
651 std::string convertAccelerationMagnitudeUnitNativeToDisplayString(
652 const DtVector& accel,
654 unsigned int decimals )
const;
658 std::string convertAccelerationMagnitudeUnitNativeToDisplayString(
661 unsigned int decimals )
const;
665 double convertAccelerationMagnitudeSystemAndUnitGeocentricToDisplay(
666 const DtVector& geocLoc,
667 const DtVector& accel,
673 convertAccelerationMagnitudeSystemAndUnitGeocentricToDisplayString(
674 const DtVector& geocLoc,
675 const DtVector& accel,
677 unsigned int decimals )
const;
687 DtTaitBryan convertHeadingPitchRollSystemAndUnitGeocentricToDisplay(
688 const DtVector& geocLoc,
689 const DtTaitBryan& geocOri,
695 std::vector<DtUnicode>
696 convertHeadingPitchRollSystemAndUnitGeocentricToNotatedDisplayStrings(
697 const DtVector& geocLoc,
698 const DtTaitBryan& geocOri,
700 bool formatHeading =
false,
701 bool formatPitch =
false,
702 bool formatRoll =
false )
const;
715 std::vector<std::string>
716 convertHeadingPitchRollSystemAndUnitGeocentricToDisplayStrings(
717 const DtVector& geocLoc,
718 const DtTaitBryan& geocOri,
720 unsigned int decimals,
722 bool formatHeading =
false,
723 bool formatPitch =
false,
724 bool formatRoll =
false )
const;
733 double convertTemperatureUnitNativeToDisplay(
738 double convertTemperatureUnitDisplayToNative(
744 std::string convertTemperatureUnitNativeToDisplayString(
747 unsigned int decimals)
const;
755 double convertPressureUnitNativeToDisplay(
760 double convertPressureUnitDisplayToNative(
766 std::string convertPressureUnitNativeToDisplayString(
769 unsigned int decimals)
const;
783 static std::string orientationValueToText(
double value,
int decimals,
bool additionalFormatting );
794 static std::string orientationValuesToText(
797 bool formatPsi =
false,
798 bool formatTheta =
false,
799 bool formatPhi =
false );
802 static std::string valueToText(
double value,
int decimals );
806 static std::string valuesToText(
const DtVector& localVelocity,
int decimals );
827 DtSharedDisplayUnitsSettings>
838 void connectInputSignals();
857 void setDisplayUnitUnit(
858 const DtUnicode& displayUnitCollectionName,
860 unsigned int unitEnumValue
867 void setDisplayUnitDecimals(
868 const DtUnicode& displayUnitCollectionName,
870 unsigned int decimals
886 void setSuppressMagneticNorthNotationEnabled(
bool isEnabled);
890 bool isSuppressMagneticNorthNotationEnabled()
const;
902 template <
typename ManagerClass>
906 template <
typename ManagerClass>
918 virtual void slot_initializeSynchronizer();
924 virtual void slot_displayEngineAdded(
const DtDeRecord& deRec );
DtDisplayUnitsConverter * myDisplayUnitsConverter
Definition: DtDisplayUnitsSettingsManager.h:931
Base class for shared settings managers. Extends the functionality provided by the DtCommonBaseSettin...
Definition: DtBaseSettingsManager.h:364
VelocityUnits
Enumeration of the different velocity units.
Definition: DtDisplayUnitsSettingsRecord.h:73
A unicode string. DtUnicode stores a UTF-16 encoded unicode string. Code Point, a Unicode character...
Definition: DtUnicode.h:33
std::unordered_map< makArchives::DtDisplayUnitsSettingsRecord::DistanceUnits, DtUnicode > myOrientationNotationCache
Definition: DtDisplayUnitsSettingsManager.h:818
makArchives::DtDisplayUnitsSettingsRecord::NorthUnits NorthUnits
Definition: DtDisplayUnitsSettingsManager.h:74
Abstract interface class for all coordinate system displays.
Definition: DtCoordinateDisplay.h:24
A Record of an IG instance.
Definition: DtDeRecord.h:24
Contains the interface to the world magnetic model. The class utilizes the WMM c code provided by NOA...
Definition: DtWorldMagneticModel.h:41
makArchives::DtDisplayUnitsSettingsRecord::OrientationUnits OrientationUnits
Definition: DtDisplayUnitsSettingsManager.h:70
DtDisplayUnitsSettingsSynchronizerAgent * mySettingsSynchronizer
Definition: DtDisplayUnitsSettingsManager.h:933
NorthUnits
Enumeration of the different north units.
Definition: DtDisplayUnitsSettingsRecord.h:151
makArchives::DtDisplayUnitsSettingsRecord::PressureUnits PressureUnits
Definition: DtDisplayUnitsSettingsManager.h:73
The shared settings manager, is the global object responsible for managing any shared settings object...
Definition: DtSharedSettingsManager.h:42
CoordSys
Enumeration of the different coordinate system types.
Definition: DtDisplayUnitsSettingsRecord.h:30
std::unordered_map< makArchives::DtDisplayUnitsSettingsRecord::DistanceUnits, DtUnicode > myDistanceNotationCache
Definition: DtDisplayUnitsSettingsManager.h:817
makArchives::DtDisplayUnitsSettingsRecord::RotVelocityUnits RotVelocityUnits
Definition: DtDisplayUnitsSettingsManager.h:71
PressureUnits
Enumeration of the different pressure units.
Definition: DtDisplayUnitsSettingsRecord.h:138
DistanceUnits
Enumeration of the different distance units.
Definition: DtDisplayUnitsSettingsRecord.h:57
Contains the DtSharedDisplayUnitsSettings class declaration.
RotVelocityUnits
Enumeration of the different rotational velocity units.
Definition: DtDisplayUnitsSettingsRecord.h:113
makArchives::DtDisplayUnitsSettingsRecord::AccelerationUnits AccelerationUnits
Definition: DtDisplayUnitsSettingsManager.h:69
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])
makArchives::DtDisplayUnitsSettingsRecord::DistanceUnits DistanceUnits
Definition: DtDisplayUnitsSettingsManager.h:67
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
std::unordered_map< makArchives::DtDisplayUnitsSettingsRecord::DistanceUnits, DtUnicode > myNorthNotationCache
Definition: DtDisplayUnitsSettingsManager.h:819
void defaultManagerRegisterInstanceFunction(DtDe &de, ManagerClass *mgr)
Default implementation of how to register a manager, especially necessary when overriding the manager...
Definition: DtDe.h:887
Provides a method of doign settings backup.
Definition: DtSettingsBackup.h:23
Utility class for doing global unit conversion. All conversions functions use the following naming co...
Definition: DtDisplayUnitsSettingsManager.h:62
std::tuple< DistanceUnits, DtUnicode, unsigned int > DistanceUnitInformation
Definition: DtDisplayUnitsSettingsManager.h:76
The DtCoordinateSystem is used to manage the current coordinate system of the scene.
Definition: DtCoordinateSystem.h:40
OrientationUnits
Enumeration of the different orientation units.
Definition: DtDisplayUnitsSettingsRecord.h:102
Manager for the display units settings.
Definition: DtDisplayUnitsSettingsManager.h:825
TemperatureUnits
Enumeration of the different temperature units.
Definition: DtDisplayUnitsSettingsRecord.h:127
makArchives::DtDisplayUnitsSettingsRecord::TemperatureUnits TemperatureUnits
Definition: DtDisplayUnitsSettingsManager.h:72
ManagerClass & defaultManagerInstanceFunction(DtDe &de, bool allowedInSlave)
default Manager instance function. Manager requirements: 1) Static instance function 2) Protected DtS...
Definition: DtDe.h:849
makArchives::DtDisplayUnitsSettingsRecord::VelocityUnits VelocityUnits
Definition: DtDisplayUnitsSettingsManager.h:68
makArchives::DtDisplayUnitsSettingsRecord::CoordSys CoordSys
Definition: DtDisplayUnitsSettingsManager.h:66
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
const DtCoordinateSystem & myCoordinateSystem
Definition: DtDisplayUnitsSettingsManager.h:811
std::tuple< NorthUnits, DtUnicode, bool > NorthUnitInformation
Definition: DtDisplayUnitsSettingsManager.h:78
DtWorldMagneticModel & myWorldMagneticModel
Definition: DtDisplayUnitsSettingsManager.h:810
The makVrv::DtSettingsBackup is a lightweight class that must be subclassed from if an object wants t...
AccelerationUnits
Enumeration of the different acceleration units.
Definition: DtDisplayUnitsSettingsRecord.h:89
Contains the display units shared settings.
Definition: DtDisplayUnitsSettingsRecord.h:25
Contains the DtBaseSettingsManager class declaration.
std::tuple< OrientationUnits, DtUnicode, unsigned int > OrientationUnitInformation
Definition: DtDisplayUnitsSettingsManager.h:77
Contains DLL export macros.
DtSharedSettingsManager & mySharedSettingsManager
Definition: DtDisplayUnitsSettingsManager.h:812