VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtSymbolDecorationUpdater.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 
12 #include <vrvCore/vrvCore.h>
13 #include <vrvCore/DtDe.h>
14 #include <vrvCore/DtIntersector.h>
15 #include <vrvUtil/DtUnicode.h>
16 #include <vrvCore/DtTickable.h>
18 
19 #include <string>
20 #include <map>
21 
22 namespace makVrv
23 {
24  class DtAttributeGroupWidget;
25  class DtSceneObject;
26 
32  : public DtTickable
33  {
34  public:
35 
44 
46  virtual ~DtSymbolDecorationUpdater();
47 
50  virtual bool needsUpdate( DtTime tNow );
51 
58  virtual void update( DtTime tNow );
59 
61  virtual void setSceneObject( DtSceneObject* sceneObjectId );
62 
65  virtual void attachAttributeGroupWidget( DtUniqueID id );
66 
69  virtual void setUseHighestTerrainLod( bool useHighest );
70 
73  virtual bool useHighestTerrainLod() const;
74 
77  virtual void associateIdWithIndex(
78  DtUnicode idString,
79  unsigned int index );
80 
82  virtual void unAssociateId( const DtUnicode& idString );
83 
86  virtual int lookupDecorationIndex( const DtUnicode& idString );
87 
90  virtual DtAttributeGroupWidget* attributeGroupWidget();
91 
92  protected:
93 
99  virtual void updateObjectTypeSpecificDisplayUnits();
100 
104  virtual void slot_sceneObjectToBeDeleted( const DtUniqueID& id );
105 
107  virtual void slot_displayUnitChanged(
108  const DtUnicode& displayUnitCollectionName,
109  const DtUnicode& displayUnitName,
110  unsigned int newUnit,
111  unsigned int oldUnit );
112 
115  virtual void slot_displayUnitDecimalsChanged(
116  const DtUnicode& displayUnitCollectionName,
117  const DtUnicode& displayUnitName,
118  unsigned int newDecimals,
119  unsigned int oldDecimals );
120 
121  protected:
124 
127 
130 
134 
137 
139  /* Symbol Decoration Names */
141  DtUnicode myOrientationName; // Heading, Pitch, and Roll
148 
150  /* Cached Display Unit Information */
152 
155  unsigned int myDistanceDecimals;
156 
159  unsigned int myAltitudeDecimals;
161 
166 
169  unsigned int mySpeedDecimals;
171 
174  unsigned int myOrientationDecimals;
175 
179 
183 
185  typedef std::map<DtUnicode, unsigned int> DecorationIdMap;
186 
189 
192 
193  // When the class is destructed, the scene object may or may not
194  // exist. Using a separate connection variable makes it possible to
195  // 'disconnect' even if the scene object has been deleted.
196  boost::signalslib::connection mySceneObjectConnection;
197 
198  };
199 }
VelocityUnits
Enumeration of the different velocity units.
Definition: DtDisplayUnitsSettingsRecord.h:72
unsigned int myDistanceDecimals
Definition: DtSymbolDecorationUpdater.h:155
A unicode string.
Definition: DtUnicode.h:33
DtDisplayUnitsConverter::AccelerationUnits myAccelerationUnit
Used for the Acceleration symbol decorations.
Definition: DtSymbolDecorationUpdater.h:163
DtUnicode myAltitudeNotation
Definition: DtSymbolDecorationUpdater.h:160
DtUnicode myHatMSLName
Definition: DtSymbolDecorationUpdater.h:146
NorthUnits
Enumeration of the different north units.
Definition: DtDisplayUnitsSettingsRecord.h:149
DtUnicode myObjectTypeSpecificDisplayUnitCollectionName
Definition: DtSymbolDecorationUpdater.h:151
DecorationIdMap myDecorationIdMap
Map of decoration id string -&gt; label index.
Definition: DtSymbolDecorationUpdater.h:188
Contains makVrv::DtDe class.
An abstract base class for objects that require updates.
Definition: DtTickable.h:26
DtDisplayUnitsConverter::VelocityUnits mySpeedUnit
Used for the Velocity symbol decoration.
Definition: DtSymbolDecorationUpdater.h:168
DtUnicode myVelocityName
Definition: DtSymbolDecorationUpdater.h:143
boost::signalslib::connection mySceneObjectConnection
Definition: DtSymbolDecorationUpdater.h:196
DtUnicode myHeadingName
Definition: DtSymbolDecorationUpdater.h:140
DtAttributeGroupWidget * myAttributeGroupWidget
The attribute group widget to update.
Definition: DtSymbolDecorationUpdater.h:136
DtUniqueID myUniqueId
The updater&#39;s unique id.
Definition: DtSymbolDecorationUpdater.h:126
Contains the DtDisplayUnitsSettingsManager class declaration.
DtDisplayUnitsConverter::DistanceUnits myDistanceUnit
Used for the Location symbol decoration.
Definition: DtSymbolDecorationUpdater.h:154
DistanceUnits
Enumeration of the different distance units.
Definition: DtDisplayUnitsSettingsRecord.h:56
DtUnicode myOrientationName
Definition: DtSymbolDecorationUpdater.h:141
Class for a widget that displays remote graphics attribute groups.
Definition: DtAttributeGroupWidget.h:20
DtDisplayUnitsConverter::NorthUnits myNorthUnit
Used for the Heading and Orientation symbol decorations.
Definition: DtSymbolDecorationUpdater.h:177
Contains makVrv:DtIntersector, makVrv:DtIntersectorLineSegment, and makVrv:DtIntersectorResult classe...
DtUnicode myAccelerationName
Definition: DtSymbolDecorationUpdater.h:142
std::map< DtUnicode, unsigned int > DecorationIdMap
Map of decoration id string -&gt; label index.
Definition: DtSymbolDecorationUpdater.h:185
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
DtDisplayUnitsConverter::OrientationUnits myOrientationUnit
Used for the Heading and Orientation symbol decorations.
Definition: DtSymbolDecorationUpdater.h:173
DtUnicode myAccelerationNotation
Definition: DtSymbolDecorationUpdater.h:165
int myModelSet
This updater is registered as a modelset-specific tickable; this is the modelset it&#39;s registered with...
Definition: DtSymbolDecorationUpdater.h:133
unsigned int myAltitudeDecimals
Definition: DtSymbolDecorationUpdater.h:159
DtUnicode myHatAGLName
Definition: DtSymbolDecorationUpdater.h:145
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
DtUnicode myLocationName
Definition: DtSymbolDecorationUpdater.h:144
OrientationUnits
Enumeration of the different orientation units.
Definition: DtDisplayUnitsSettingsRecord.h:101
Contains the declaration for makVrv::DtTickable.
DtDisplayUnitsConverter::DistanceUnits myAltitudeUnit
Used for the Location and Altitude (MSL and AGL) symbol decorations.
Definition: DtSymbolDecorationUpdater.h:158
A DtSceneObject represents an object that can be positioned in the scene by (possibly) attaching it t...
Definition: DtSceneObject.h:41
bool myUseHighestTerrainLod
Use whatever&#39;s paged in or use the height map (slow)
Definition: DtSymbolDecorationUpdater.h:191
unsigned int mySpeedDecimals
Definition: DtSymbolDecorationUpdater.h:169
double myLastSymbolUpdateTime
The last time the symbols were updated; used to slow down updating if once per frame is undesirable...
Definition: DtSymbolDecorationUpdater.h:182
DtSceneObject * mySceneObject
Pointer to the scene object being updated.
Definition: DtSymbolDecorationUpdater.h:129
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
unsigned int myAccelerationDecimals
Definition: DtSymbolDecorationUpdater.h:164
DtDe & myDe
Pointer to the display engine.
Definition: DtSymbolDecorationUpdater.h:123
DtUnicode mySpeedNotation
Definition: DtSymbolDecorationUpdater.h:170
DtSymbolDecorationUpdater updates symbol decorations while considering the object-type, e.g.
Definition: DtSymbolDecorationUpdater.h:31
AccelerationUnits
Enumeration of the different acceleration units.
Definition: DtDisplayUnitsSettingsRecord.h:88
unsigned int myOrientationDecimals
Definition: DtSymbolDecorationUpdater.h:174
Contains DLL export macros.

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)