VR-Forces 5.0.3 Developer's Guide
 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) 2022 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 <matrix/vlTaitBryan.h>
20 
21 #include <string>
22 #include <map>
24 
25 namespace makVrv
26 {
27  class DtAttributeGroupWidget;
28  class DtSceneObject;
29  class DtCachedIntersectorsContainer;
30  class DtCoordinateSystem;
31  class DtDisplayUnitsConverter;
32  class DtSymbolDecorationUpdateCallbackFactory;
33 
39  : public DtTickable
40  {
41  public:
42 
51 
53  virtual ~DtSymbolDecorationUpdater();
54 
57  virtual bool needsUpdate( DtTime tNow );
58 
65  virtual void update( DtTime tNow );
66 
68  virtual void setSceneObject( DtSceneObject* sceneObjectId );
69 
72  virtual void attachAttributeGroupWidget( DtUniqueID id );
73 
76  virtual void setUseHighestTerrainLod( bool useHighest );
77 
80  virtual bool useHighestTerrainLod() const;
81 
84  virtual void associateIdWithIndex(
85  DtUnicode idString,
86  unsigned int index );
87 
89  virtual void unAssociateId( const DtUnicode& idString );
90 
93  virtual int lookupDecorationIndex( const DtUnicode& idString ) const;
94 
97  virtual DtAttributeGroupWidget* attributeGroupWidget();
98 
99  protected:
100 
106  virtual void updateObjectTypeSpecificDisplayUnits();
107 
111  virtual void slot_sceneObjectToBeDeleted( const DtUniqueID& id );
112 
113  virtual void slot_suppressMagneticNorthNotationEnabledChanged( bool isEnabled );
114 
116  virtual void slot_displayUnitChanged(
117  const DtUnicode& displayUnitCollectionName,
118  const DtUnicode& displayUnitName,
119  unsigned int newUnit,
120  unsigned int oldUnit );
121 
124  virtual void slot_displayUnitDecimalsChanged(
125  const DtUnicode& displayUnitCollectionName,
126  const DtUnicode& displayUnitName,
127  unsigned int newDecimals,
128  unsigned int oldDecimals );
129 
131  virtual void slot_onCoordinateSystemChanged();
132 
133  protected:
136 
138 
141 
144 
147 
151 
154 
170  std::vector<DtUnicode> myOrientationStrs;
172  DtTaitBryan myLastLocalOri;
173 
175  /* Cached Display Unit Information */
177 
179 
181 
184  unsigned int myDistanceDecimals;
185 
188  unsigned int myAltitudeDecimals;
190 
195 
198  unsigned int mySpeedDecimals;
200 
203  unsigned int myOrientationDecimals;
205 
210 
214 
216  typedef std::map<DtUnicode, unsigned int> DecorationIdMap;
217 
220 
223 
224  // When the class is destructed, the scene object may or may not
225  // exist. Using a separate connection variable makes it possible to
226  // 'disconnect' even if the scene object has been deleted.
227  boost::signalslib::connection mySceneObjectConnection;
228 
229  DtCachedIntersectorsContainer* myCachedIntersectorsContainer = nullptr;
230 
231  };
232 }
VelocityUnits
Enumeration of the different velocity units.
Definition: DtDisplayUnitsSettingsRecord.h:72
unsigned int myDistanceDecimals
Used for the Location symbol decoration.
Definition: DtSymbolDecorationUpdater.h:184
A unicode string. DtUnicode stores a UTF-16 encoded unicode string. Code Point, a Unicode character...
Definition: DtUnicode.h:33
bool mySurpressMagneticNorthNotationEnabled
Used for the Location symbol decoration.
Definition: DtSymbolDecorationUpdater.h:176
DtDisplayUnitsConverter::AccelerationUnits myAccelerationUnit
Used for the Acceleration symbol decorations.
Definition: DtSymbolDecorationUpdater.h:192
DtUnicode myNorthNotation
Used for the Location symbol decoration.
Definition: DtSymbolDecorationUpdater.h:208
DtUnicode myAltitudeNotation
Used for the Location symbol decoration.
Definition: DtSymbolDecorationUpdater.h:189
NorthUnits
Enumeration of the different north units.
Definition: DtDisplayUnitsSettingsRecord.h:150
DtUnicode myObjectTypeSpecificDisplayUnitCollectionName
Used for the Location symbol decoration.
Definition: DtSymbolDecorationUpdater.h:178
DecorationIdMap myDecorationIdMap
Map of decoration id string -&gt; label index.
Definition: DtSymbolDecorationUpdater.h:219
DtUnicode myLastLocationText
Definition: DtSymbolDecorationUpdater.h:167
Contains makVrv::DtDe class.
An abstract base class for objects that require updates. This object automatically adds itself to a D...
Definition: DtTickable.h:26
DtDisplayUnitsConverter::VelocityUnits mySpeedUnit
Used for the Velocity symbol decoration.
Definition: DtSymbolDecorationUpdater.h:197
CoordSys
Enumeration of the different coordinate system types.
Definition: DtDisplayUnitsSettingsRecord.h:30
boost::signalslib::connection mySceneObjectConnection
Definition: DtSymbolDecorationUpdater.h:227
std::vector< DtUnicode > myOrientationStrs
Definition: DtSymbolDecorationUpdater.h:170
const DtDisplayUnitsConverter & myDisplayUnitsConverter
Definition: DtSymbolDecorationUpdater.h:140
DtAttributeGroupWidget * myAttributeGroupWidget
The attribute group widget to update.
Definition: DtSymbolDecorationUpdater.h:153
DtUniqueID myUniqueId
The updater&#39;s unique id.
Definition: DtSymbolDecorationUpdater.h:143
Contains the DtDisplayUnitsSettingsManager class declaration.
DtDisplayUnitsConverter::DistanceUnits myDistanceUnit
Used for the Location symbol decoration.
Definition: DtSymbolDecorationUpdater.h:183
DistanceUnits
Enumeration of the different distance units.
Definition: DtDisplayUnitsSettingsRecord.h:56
DtUnicode myLastHatAGLText
Definition: DtSymbolDecorationUpdater.h:168
DtTaitBryan myLastLocalOri
Definition: DtSymbolDecorationUpdater.h:172
DtCoordinateSystem * myCoordinateSystem
Definition: DtSymbolDecorationUpdater.h:139
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:207
Contains makVrv:DtIntersector class.
std::map< DtUnicode, unsigned int > DecorationIdMap
Map of decoration id string -&gt; label index.
Definition: DtSymbolDecorationUpdater.h:216
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
The DtSymbolDecorationUpdateCallbackFactory will create DtSymbolDecorationUpdateCallbacks that plug i...
Definition: DtSymbolDecorationUpdateCallbackFactory.h:27
DtDisplayUnitsConverter::OrientationUnits myOrientationUnit
Used for the Heading and Orientation symbol decorations.
Definition: DtSymbolDecorationUpdater.h:202
DtUnicode myAccelerationNotation
Used for the Location symbol decoration.
Definition: DtSymbolDecorationUpdater.h:194
Utility class for doing global unit conversion. All conversions functions use the following naming co...
Definition: DtDisplayUnitsSettingsManager.h:61
int myModelSet
This updater is registered as a modelset-specific tickable; this is the modelset it&#39;s registered with...
Definition: DtSymbolDecorationUpdater.h:150
makArchives::DtDisplayUnitsSettingsRecord::CoordSys myCoordinateSystemType
Used for the Location symbol decoration.
Definition: DtSymbolDecorationUpdater.h:180
unsigned int myAltitudeDecimals
Used for the Location symbol decoration.
Definition: DtSymbolDecorationUpdater.h:188
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:101
The DtCachedIntersectorsContainer class contains instances of cached intersectors of different model ...
Definition: DtCachedIntersectorsContainer.h:43
Contains the declaration for makVrv::DtTickable.
DtDisplayUnitsConverter::DistanceUnits myAltitudeUnit
Used for the Location and Altitude (MSL and AGL) symbol decorations.
Definition: DtSymbolDecorationUpdater.h:187
const DtSymbolDecorationUpdateCallbackFactory & mySymbolDecorationUpdaterFactory
Definition: DtSymbolDecorationUpdater.h:137
DtVector myLastLocalPos
Definition: DtSymbolDecorationUpdater.h:171
A DtSceneObject represents an object that can be positioned in the scene by (possibly) attaching it t...
Definition: DtSceneObject.h:42
bool myUseHighestTerrainLod
Use whatever&#39;s paged in or use the height map (slow)
Definition: DtSymbolDecorationUpdater.h:222
DtUnicode myLastOrientationText
Definition: DtSymbolDecorationUpdater.h:163
unsigned int mySpeedDecimals
Used for the Location symbol decoration.
Definition: DtSymbolDecorationUpdater.h:198
double myLastSymbolUpdateTime
The last time the symbols were updated; used to slow down updating if once per frame is undesirable...
Definition: DtSymbolDecorationUpdater.h:213
DtSceneObject * mySceneObject
Pointer to the scene object being updated.
Definition: DtSymbolDecorationUpdater.h:146
DtUnicode myLastVelocityText
Definition: DtSymbolDecorationUpdater.h:166
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:70
Contains the DtDisplayUnitsSettingsRecord class declaration.
unsigned int myAccelerationDecimals
Used for the Location symbol decoration.
Definition: DtSymbolDecorationUpdater.h:193
bool myCoordinateChanged
Definition: DtSymbolDecorationUpdater.h:162
DtUnicode myLastAccelerationText
Definition: DtSymbolDecorationUpdater.h:165
DtDe & myDe
Pointer to the display engine.
Definition: DtSymbolDecorationUpdater.h:135
DtUnicode myLastHatMSLText
Definition: DtSymbolDecorationUpdater.h:169
DtUnicode myLastHeadingText
Definition: DtSymbolDecorationUpdater.h:164
DtUnicode mySpeedNotation
Used for the Location symbol decoration.
Definition: DtSymbolDecorationUpdater.h:199
DtUnicode myOrientationNotation
Used for the Location symbol decoration.
Definition: DtSymbolDecorationUpdater.h:204
DtSymbolDecorationUpdater updates symbol decorations while considering the object-type, e.g. Fixed Wing, of the entity the updater is associated with and the display unit settings for that object-type.
Definition: DtSymbolDecorationUpdater.h:38
bool myOrientationChanged
Definition: DtSymbolDecorationUpdater.h:161
AccelerationUnits
Enumeration of the different acceleration units.
Definition: DtDisplayUnitsSettingsRecord.h:88
unsigned int myOrientationDecimals
Used for the Location symbol decoration.
Definition: DtSymbolDecorationUpdater.h:203
bool myDecorationIndexChanged
The computed data that was used the last time for changing a setting. For example: a call to myAttrib...
Definition: DtSymbolDecorationUpdater.h:160
Contains DLL export macros.

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)