VR-Forces 5.0.3 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtSymbolDecorationVisualizer.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>
17 
19 
21 
22 #include <vlutil/vlExceptions.h>
23 
24 #include <vector>
25 #include <string>
26 
27 namespace makVrv
28 {
29 
30  class DtAttributeGroupWidgetAgent;
31  class DtPinnableProjectedWidgetModelAgent;
32  class DtSymbolDecorationUpdaterAgent;
33  class DtOverlayDirectionLineModelAgent;
34  class DtHeadingLineUpdaterAgent;
35  class DtSignalConnectionManager;
36  class DtLocationSymbolDecoration;
37  class DtAccelerationSymbolDecoration;
38  class DtVelocitySymbolDecoration;
39  class DtOrientationSymbolDecoration;
40  class DtObjectTypeStateListener;
41 
67  : public DtStateVisualizer
68  {
69  public:
71  typedef boost::unordered_map<std::string, DtSymbolDecoration*>
73 
78  typedef std::vector<std::string> DecorationProperties;
79 
80  public:
81 
88  DtStateListener& listener, int modelSet);
89 
97  DtStateListener& listener, DtSceneObjectAgent* sceneObject, int modelSet );
98 
101  virtual ~DtSymbolDecorationVisualizer();
102 
104  virtual void createModelAgents();
105 
107  virtual void destroyModelAgents();
108 
110  virtual void setModelDefinitionForAgents();
111 
113  virtual void setOrigin(const DtVector&);
114 
117  virtual void connectToListenerSignals() override;
118 
121  virtual void setInitialValuesFromVisualizerDefinition() override;
122 
131  virtual void slot_setSelected(bool) override;
132 
134  virtual DtAttributeGroupWidgetAgent* widget();
135 
137  virtual DtSymbolDecorationUpdaterAgent* widgetUpdater();
138 
145  virtual unsigned int nextLabelIndex();
146 
151  virtual void setLabelIndexForDecorationByName(unsigned int index, const std::string& name);
152 
155  virtual bool labelIndexForDecorationByName(unsigned int& index, const std::string& name) const;
156 
158  virtual void initialize() override;
159 
161  virtual DtSceneObjectAgent* sceneObject();
162 
167  virtual void setForceColor(float r, float g, float b, float a);
168 
170  virtual void slot_decorationEnabled(const std::string& decoration);
171 
173  virtual void slot_decorationDisabled(const std::string& decoration);
174 
176  virtual void slot_foregroundColorChanged(float r, float g, float b);
177 
179  virtual void slot_backgroundColorChanged(float r, float g, float b);
180 
182  virtual void slot_backgroundOpacityChanged(float a);
183 
185  virtual void slot_lodOutAltitudeChanged(double a);
186 
188  virtual void slot_shadowTextChanged(bool enabled);
189 
192  virtual void slot_symbolDecorationSetChanged(const std::string& setId);
193 
195  virtual void slot_setScale(float scale);
196 
198  virtual void slot_setEnabled(bool enabled, bool instanceOnly = false);
199 
201  virtual void slot_colorByForceChanged(bool enabled);
202 
204  virtual void setScale(float scale);
205 
208  virtual void setHeadingIndicatorScale(float scale);
209 
211  virtual void setShowBorder(bool b);
212 
214  virtual bool useHighestTerrainLod() const;
217  virtual void setUseHighestTerrainLod(bool trueOrFalse);
219 
221  virtual DtSymbolDecoration* findSymbolDecoration(
222  const std::string& decorationId);
223 
225  virtual void setOffset(double x, double y);
226 
228  const DtVector& offset() const;
229 
234  virtual void setIsPinned(bool myPinned);
235 
240  virtual bool isPinned() const;
241 
244  virtual void setLodOutAltitude(double lodOutAltitude);
245 
248  virtual double lodOutAltitude() const;
249 
254  virtual void setFixedScalingEnabled(bool fixedScalingEnabled);
255 
260  virtual void setAltitudeBasedConfigurations(
262 
264  virtual void setHasMouseCursor(bool);
265  virtual bool hasMouseCursor() const;
266 
267  protected:
268 
269  virtual DtObjectTypeStateListener& objectTypeStateListener();
270 
273  virtual void updateAltitudeBasedHeadingIndicatorProperties();
274 
277  virtual void updateForcedAltitudeBasedConfigurationEnabledState();
278 
280  virtual void updateLodOutAltitudeProperties();
281 
285  virtual void updateLodOutAltitudeState();
286 
289  virtual void updateBackgroundState();
290 
292  virtual void setBorderState();
293 
296  virtual void updateColor();
297 
298  virtual void implementVisibility(bool visible) override;
299 
300  protected:
301 
305 
309 
312 
315 
317  DtAttributeGroupWidgetAgent* myWidget;
318 
321  DtPinnableProjectedWidgetModelAgent* myWidgetModel;
322 
325  DtSymbolDecorationUpdaterAgent* myWidgetUpdater;
326 
328  float myForegroundColor[3];
329 
331  float myBackgroundColor[4];
332 
334  float myBorderColor[4];
335 
338 
341  float myForceColor[3];
342 
344  float myScale;
345 
349 
352 
355 
358 
361 
363  std::string myFontFile;
364 
366  std::string myDecorationSetName;
367 
370 
372  float myTextR;
373 
375  float myTextG;
376 
378  float myTextB;
379 
381  float myTextA;
382 
384  bool myEnabled;
385 
388 
391 
394 
397 
399  unsigned int myHoverGroupId;
400 
402  unsigned int myHoverTextGroupId;
403 
405  unsigned int mySelectedGroupId;
406 
408  unsigned int mySelectedTextGroupId;
409 
412 
415 
418 
422 
426 
430 
433 
437 
441 
446 
448 
450 
453  private:
454 
455  void cleanup();
456 
457  };
458 
459 }
bool myEnabled
Whether or not decoration visualizers are enabled.
Definition: DtSymbolDecorationVisualizer.h:384
float myTextA
Text color alpha value.
Definition: DtSymbolDecorationVisualizer.h:381
unsigned int mySymbolDecorationTextGroupId
Overlay group id for the symbol decoration text (foreground) when not selected.
Definition: DtSymbolDecorationVisualizer.h:414
unsigned int mySelectedTextGroupId
Overlay group id for the symbol decoration text (foreground) when selected.
Definition: DtSymbolDecorationVisualizer.h:408
bool myShowBorder
Whether or not borders are shown.
Definition: DtSymbolDecorationVisualizer.h:393
DtSignalConnectionManager myModelAgentConns
Manager for boost connections specific to the model agent Both this class and it&#39;s parent need their ...
Definition: DtSymbolDecorationVisualizer.h:304
Base class for symbol decorations.
Definition: DtSymbolDecoration.h:19
DtObjectTypeStateListener * myObjectTypeStateListener
Definition: DtSymbolDecorationVisualizer.h:452
double myLodOutAltitude
The altitude at which all symbol decorations will no longer appear The default value is 100000 meters...
Definition: DtSymbolDecorationVisualizer.h:440
DtVector myWidgetOffsetUnscaled
Unscaled 2d offset of decorations from scene object origin z value is ignored.
Definition: DtSymbolDecorationVisualizer.h:348
bool myApplyLodOutAltitudeToHeadingIndicatorEnabled
whether or not to apply the lod out altitude property to the heading indicator symbol decoration as w...
Definition: DtSymbolDecorationVisualizer.h:436
float myWidgetColumnPadding
Padding between label columns, in pixels.
Definition: DtSymbolDecorationVisualizer.h:357
DtSymbolDecorationUpdaterAgent * myWidgetUpdater
Updater to keep the labels and heading indicator updated with distributed side state.
Definition: DtSymbolDecorationVisualizer.h:325
float myTextR
Text color red value.
Definition: DtSymbolDecorationVisualizer.h:372
bool myHasMouseCursor
Definition: DtSymbolDecorationVisualizer.h:449
DecorationProperties myDecorationProperties
Map from a symbol decorations visualization index and the name of the symbol decoration.
Definition: DtSymbolDecorationVisualizer.h:308
bool myVerticalCenter
whether or not to center the attribute group vertically around its origin
Definition: DtSymbolDecorationVisualizer.h:429
The DtBaseConnection is an abstract class.
Definition: DtBaseConnection.h:38
bool myFixedScalingEnabled
Definition: DtSymbolDecorationVisualizer.h:447
bool myColorByForce
Color by force instead of foreground color.
Definition: DtSymbolDecorationVisualizer.h:417
bool myInstanceEnabled
Whether or not this decoration visualizer is independently enabled.
Definition: DtSymbolDecorationVisualizer.h:387
Contains makVrv:DtEntityStateListener class.
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
Contains makVrv:DtStateVisualizer class.
Contains the DtSymbolDecorationSettings class declaration.
DtAttributeGroupWidgetAgent * myWidget
Widget to show a layout of labels.
Definition: DtSymbolDecorationVisualizer.h:317
unsigned int myHoverGroupId
Overlay group id for the symbol decoration shadow/background when hovered over with mouse cursor...
Definition: DtSymbolDecorationVisualizer.h:399
std::vector< DtDynamicScaleConfiguration > DtDynamicScaleConfigurationCollection
Definition: DtEntitySettingsRecord.h:54
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
makArchives::DtDynamicScaleConfigurationCollection myHeadingIndicatorScalesByMinimumAltitude
Definition: DtSymbolDecorationVisualizer.h:451
boost::unordered_map< std::string, DtSymbolDecoration * > DecorationIdMap
Map type from symbol decoration name to symbol decoration.
Definition: DtSymbolDecorationVisualizer.h:72
DtPinnableProjectedWidgetModelAgent * myWidgetModel
Projecting widget to place the label widget at the 2d projection of the scene object&#39;s location...
Definition: DtSymbolDecorationVisualizer.h:321
std::string myDecorationSetName
Name of decoration set to use.
Definition: DtSymbolDecorationVisualizer.h:366
float myHeadingLineLengthUnscaled
Length of heading line in pixels.
Definition: DtSymbolDecorationVisualizer.h:354
std::string myFontFile
Font file for creating labels.
Definition: DtSymbolDecorationVisualizer.h:363
The DtStateVisualizer is an abstract class. Developers derive from this to create logic that &quot;directs...
Definition: DtStateVisualizer.h:32
bool myUseHighestTerrainLod
Tell the updater whether use the height map when calculating altitudes on streamed terrains (slower) ...
Definition: DtSymbolDecorationVisualizer.h:421
bool myLodOutAltitudeOverridden
Whether or not the lod out altitude is overridden. If overridden, the lod out altitude from the visua...
Definition: DtSymbolDecorationVisualizer.h:445
std::set< std::string > DecorationSet
a decoration set is a set of creator names for the enabled decorations
Definition: DtSymbolDecorationSettings.h:39
unsigned int mySymbolDecorationGroupId
Overlay group id for the symbol decoration shadow/background when not selected.
Definition: DtSymbolDecorationVisualizer.h:411
Base class to provide boost signal/slot management.
bool myBackgroundHidden
Whether the background is hidden - see updateBackgroundState().
Definition: DtSymbolDecorationVisualizer.h:337
The DtObjectTypeStateListener is a base class used by elements that have object types ( including ent...
Definition: DtObjectTypeStateListener.h:30
std::vector< std::string > DecorationProperties
Properties for symbol decorations.
Definition: DtSymbolDecorationVisualizer.h:78
DecorationIdMap myDecorationIdMap
Map from creator names to decoration instances.
Definition: DtSymbolDecorationVisualizer.h:311
float myScale
Scale as a percentage of initial size.
Definition: DtSymbolDecorationVisualizer.h:344
unsigned int mySelectedGroupId
Overlay group id for the symbol decoration shadow/background when selected.
Definition: DtSymbolDecorationVisualizer.h:405
float myBorderWidth
The line width of the border - if shown.
Definition: DtSymbolDecorationVisualizer.h:390
voidpf uLong offset
Definition: ioapi.h:42
The DtStateListener is an abstract class. Subclasses implement functionality that will allow data to ...
Definition: DtStateListener.h:25
float myWidgetRowPadding
Padding between label rows, in pixels.
Definition: DtSymbolDecorationVisualizer.h:360
unsigned int myHoverTextGroupId
Overlay group id for the symbol decoration text (foreground) when hovered over with mouse cursor...
Definition: DtSymbolDecorationVisualizer.h:402
DtSymbolDecorationSettings::DecorationSet myDecorationSet
Decoration set used to create decorations.
Definition: DtSymbolDecorationVisualizer.h:314
float myTextG
Text color green value.
Definition: DtSymbolDecorationVisualizer.h:375
A visualizer for symbol decorations. Symbol decorations are visuals, usually text labels...
Definition: DtSymbolDecorationVisualizer.h:66
bool myHorizontalCenter
whether or not to center the attribute group horizontally around its origin
Definition: DtSymbolDecorationVisualizer.h:425
Contains the DtEntitySettingsRecord class declaration.
float myTextB
Text color blue value.
Definition: DtSymbolDecorationVisualizer.h:378
bool myPinnedFlag
whether or not the widget this visualizer controls is pinned
Definition: DtSymbolDecorationVisualizer.h:432
std::string myDisplayUnitCollectionName
Name of the Display Unit Collection to use, pulled from the visualizer definition.
Definition: DtSymbolDecorationVisualizer.h:369
bool myShadowText
Whether or not text is shadowed.
Definition: DtSymbolDecorationVisualizer.h:396
float myFontSizeUnscaled
Font size in points.
Definition: DtSymbolDecorationVisualizer.h:351
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)