VR-Forces 4.8 Class Documentation
 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) 2020 MAK Technologies, Inc.
3  * All rights reserved.
4  **************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvCore/vrvCore.h>
17 
19 
20 #include <boost/unordered_map.hpp>
21 
22 namespace makVrv
23 {
24 
25  class DtAttributeGroupWidgetAgent;
26  class DtPinnableProjectedWidgetModelAgent;
27  class DtSymbolDecorationUpdaterAgent;
28  class DtOverlayDirectionLineModelAgent;
29  class DtHeadingLineUpdaterAgent;
30  class DtSignalConnectionManager;
31  class DtLocationSymbolDecoration;
32  class DtAccelerationSymbolDecoration;
33  class DtVelocitySymbolDecoration;
34  class DtOrientationSymbolDecoration;
35 
39  : public DtStateVisualizer
40  {
41  public:
42 
49  DtStateListener& listener, int modelSet,
50  const std::string& decorationTag);
51 
55 
57  virtual void createModelAgents();
58 
60  virtual void destroyModelAgents();
61 
63  virtual void setModelDefinitionForAgents();
64 
66  virtual void setOrigin(const DtVector&);
67 
70  virtual void setVisualizerDefinition(const DtVisualizerDefinition& visDef);
71 
74  virtual void setSelected(bool isSelected);
75 
77  virtual DtAttributeGroupWidgetAgent* widget();
78 
80  virtual DtSymbolDecorationUpdaterAgent* widgetUpdater();
81 
83  virtual unsigned int nextLabelIndex();
84 
86  virtual DtSceneObjectAgent* sceneObject();
87 
91  virtual void setDecorationsVisible(bool);
92 
97  virtual void setForceColor(float r, float g, float b, float a);
98 
100  virtual void slot_decorationEnabled(const std::string& decoration);
101 
103  virtual void slot_decorationDisabled(const std::string& decoration);
104 
106  virtual void slot_foregroundColorChanged(float r, float g, float b);
107 
109  virtual void slot_backgroundColorChanged(float r, float g, float b);
110 
112  virtual void slot_backgroundOpacityChanged(float a);
113 
115  virtual void slot_shadowTextChanged(bool enabled);
116 
119  virtual void slot_symbolDecorationSetChanged(const std::string& setId);
120 
122  virtual void slot_setScale(float scale);
123 
125  virtual void slot_setEnabled(bool enabled);
126 
128  virtual void slot_colorByForceChanged(bool enabled);
129 
131  virtual void setScale(float scale);
132 
134  virtual void setShowBorder(bool b);
135 
137  virtual bool useHighestTerrainLod() const;
140  virtual void setUseHighestTerrainLod(bool trueOrFalse);
142 
144  virtual DtSymbolDecoration* findSymbolDecoration(
145  const std::string& decorationId);
146 
148  virtual void setOffset(double x, double y);
149 
151  const DtVector& offset() const;
152 
153  virtual void setPinned(bool myPinned);
154 
155  protected:
156 
158  virtual void setBorderState();
159 
161  virtual void updateColor();
162 
163  protected:
164 
166  typedef boost::unordered_map<std::string, DtSymbolDecoration*>
168 
172 
175 
178 
180  DtAttributeGroupWidgetAgent* myWidget;
181 
184  DtPinnableProjectedWidgetModelAgent* myWidgetModel;
185 
188  DtSymbolDecorationUpdaterAgent* myWidgetUpdater;
189 
191  float myForegroundColor[3];
192 
194  float myBackgroundColor[4];
195 
198  float myForceColor[3];
199 
201  float myScale;
202 
206 
209 
212 
215 
218 
220  std::string myFontFile;
221 
223  std::string myDecorationSetName;
224 
228  std::string myDecorationTag;
229 
231  float myTextR;
232 
234  float myTextG;
235 
237  float myTextB;
238 
240  float myTextA;
241 
243  unsigned int myNextLabelIndex;
244 
246  bool myEnabled;
247 
250 
253 
255  unsigned int mySelectedGroupId;
256 
258  unsigned int mySelectedTextGroupId;
259 
262 
265 
268 
272 
276 
279 
280  private:
281 
282  void cleanup();
283 
284  };
285 
286 }
bool myEnabled
Whether or not the decoration visualizer is enabled.
Definition: DtSymbolDecorationVisualizer.h:246
float myTextA
Text color alpha value.
Definition: DtSymbolDecorationVisualizer.h:240
unsigned int mySymbolDecorationTextGroupId
Overlay group id for the symbol decoration text (foreground) when not selected.
Definition: DtSymbolDecorationVisualizer.h:264
unsigned int mySelectedTextGroupId
Overlay group id for the symbol decoration text (foreground) when selected.
Definition: DtSymbolDecorationVisualizer.h:258
bool myShowBorder
Whether or not borders are shown.
Definition: DtSymbolDecorationVisualizer.h:249
DtSignalConnectionManager myModelAgentConns
Manager for boost connections specific to the model agent Both this class and it&#39;s parent need their ...
Definition: DtSymbolDecorationVisualizer.h:171
Base class for symbol decorations.
Definition: DtSymbolDecoration.h:19
unsigned int myNextLabelIndex
Next free index for a label.
Definition: DtSymbolDecorationVisualizer.h:243
DtVector myWidgetOffsetUnscaled
Unscaled 2d offset of decorations from scene object origin z value is ignored.
Definition: DtSymbolDecorationVisualizer.h:205
float myWidgetColumnPadding
Padding between label columns, in pixels.
Definition: DtSymbolDecorationVisualizer.h:214
DtSymbolDecorationUpdaterAgent * myWidgetUpdater
Updater to keep the labels and heading indicator updated with distributed side state.
Definition: DtSymbolDecorationVisualizer.h:188
float myTextR
Text color red value.
Definition: DtSymbolDecorationVisualizer.h:231
The DtBaseConnection is an abstract class.
Definition: DtBaseConnection.h:37
std::string myDecorationTag
Tag used when finding decoration creators specific to a subclass of this visualizer; this variable sh...
Definition: DtSymbolDecorationVisualizer.h:228
bool myColorByForce
Color by force instead of foreground color.
Definition: DtSymbolDecorationVisualizer.h:267
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:180
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:24
boost::unordered_map< std::string, DtSymbolDecoration * > DecorationIdMap
Map type from symbol decoration name to symbol decoration.
Definition: DtSymbolDecorationVisualizer.h:167
DtPinnableProjectedWidgetModelAgent * myWidgetModel
Projecting widget to place the label widget at the 2d projection of the scene object&#39;s location...
Definition: DtSymbolDecorationVisualizer.h:184
std::string myDecorationSetName
Name of decoration set to use.
Definition: DtSymbolDecorationVisualizer.h:223
float myHeadingLineLengthUnscaled
Length of heading line in pixels.
Definition: DtSymbolDecorationVisualizer.h:211
std::string myFontFile
Font file for creating labels.
Definition: DtSymbolDecorationVisualizer.h:220
The DtStateVisualizer is an abstract class.
Definition: DtStateVisualizer.h:30
bool myUseHighestTerrainLod
Tell the updater whether use the height map when calculating altitudes on streamed terrains (slower) ...
Definition: DtSymbolDecorationVisualizer.h:271
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:261
Base class to provide boost signal/slot management.
A definition of a visualizer.
Definition: DtVisualizerDefinition.h:22
DecorationIdMap myDecorationIdMap
Map from creator names to decoration instances.
Definition: DtSymbolDecorationVisualizer.h:174
float myScale
Scale as a percentage of initial size.
Definition: DtSymbolDecorationVisualizer.h:201
unsigned int mySelectedGroupId
Overlay group id for the symbol decoration shadow/background when selected.
Definition: DtSymbolDecorationVisualizer.h:255
voidpf uLong offset
Definition: ioapi.h:42
The DtStateListener is an abstract class.
Definition: DtStateListener.h:21
float myWidgetRowPadding
Padding between label rows, in pixels.
Definition: DtSymbolDecorationVisualizer.h:217
DtSymbolDecorationSettings::DecorationSet myDecorationSet
Decoration set used to create decorations.
Definition: DtSymbolDecorationVisualizer.h:177
float myTextG
Text color green value.
Definition: DtSymbolDecorationVisualizer.h:234
Symbol decoration visualizer.
Definition: DtSymbolDecorationVisualizer.h:38
bool myHorizontalCenter
whether or not to center the attribute group horizontally around its origin
Definition: DtSymbolDecorationVisualizer.h:275
float myTextB
Text color blue value.
Definition: DtSymbolDecorationVisualizer.h:237
bool myPinnedFlag
whether or not the widget this visualizer controls is pinned
Definition: DtSymbolDecorationVisualizer.h:278
bool myShadowText
Whether or not text is shadowed.
Definition: DtSymbolDecorationVisualizer.h:252
float myFontSizeUnscaled
Font size in points.
Definition: DtSymbolDecorationVisualizer.h:208
Contains DLL export macros.

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)