20 #include <boost/unordered_map.hpp>
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;
43 typedef boost::unordered_map<std::string, DtSymbolDecoration*>
59 const std::string& decorationTag);
66 virtual void createModelAgents();
69 virtual void destroyModelAgents();
72 virtual void setModelDefinitionForAgents();
75 virtual void setOrigin(
const DtVector&);
88 virtual void setSelected(
bool isSelected);
97 virtual void setHasMouseCursor(
bool hasMouseCursor);
100 virtual DtAttributeGroupWidgetAgent* widget();
103 virtual DtSymbolDecorationUpdaterAgent* widgetUpdater();
110 virtual unsigned int nextLabelIndex();
113 virtual void setLabelIndexForDecorationByName(
unsigned int index,
const std::string& name);
117 virtual bool labelIndexForDecorationByName(
unsigned int& index,
const std::string& name)
const;
124 myDecorationIndexMap[0] =
"Name";
125 myDecorationIndexMap[1] =
"Heading";
126 myDecorationIndexMap[2] =
"Speed";
127 myDecorationIndexMap[3] =
"Location";
128 myDecorationIndexMap[4] =
"Altitude Above Ground Level (AGL)";
129 myDecorationIndexMap[5] =
"Altitude Above Mean Sea Level (MSL)";
130 myDecorationIndexMap[6] =
"Orientation";
131 myDecorationIndexMap[7] =
"Acceleration";
133 myNextLabelIndex = 8;
137 virtual DtSceneObjectAgent* sceneObject();
142 virtual void setDecorationsVisible(
bool);
148 virtual void setForceColor(
float r,
float g,
float b,
float a);
151 virtual void slot_decorationEnabled(
const std::string& decoration);
154 virtual void slot_decorationDisabled(
const std::string& decoration);
157 virtual void slot_foregroundColorChanged(
float r,
float g,
float b);
160 virtual void slot_backgroundColorChanged(
float r,
float g,
float b);
163 virtual void slot_backgroundOpacityChanged(
float a);
166 virtual void slot_shadowTextChanged(
bool enabled);
170 virtual void slot_symbolDecorationSetChanged(
const std::string& setId);
173 virtual void slot_setScale(
float scale);
176 virtual void slot_setEnabled(
bool enabled);
179 virtual void slot_colorByForceChanged(
bool enabled);
182 virtual void setScale(
float scale);
185 virtual void setShowBorder(
bool b);
188 virtual bool useHighestTerrainLod()
const;
191 virtual void setUseHighestTerrainLod(
bool trueOrFalse);
196 const std::string& decorationId);
199 virtual void setOffset(
double x,
double y);
204 virtual void setPinned(
bool myPinned);
210 virtual void updateBackgroundState();
213 virtual void setBorderState();
217 virtual void updateColor();
247 float myForegroundColor[3];
250 float myBackgroundColor[4];
253 float myBorderColor[4];
260 float myForceColor[3];
bool myEnabled
Whether or not the decoration visualizer is enabled.
Definition: DtSymbolDecorationVisualizer.h:308
float myTextA
Text color alpha value.
Definition: DtSymbolDecorationVisualizer.h:302
unsigned int mySymbolDecorationTextGroupId
Overlay group id for the symbol decoration text (foreground) when not selected.
Definition: DtSymbolDecorationVisualizer.h:335
unsigned int mySelectedTextGroupId
Overlay group id for the symbol decoration text (foreground) when selected.
Definition: DtSymbolDecorationVisualizer.h:329
DecorationIndexMap myDecorationIndexMap
Map from a symbol decorations visualization index and the name of the symbol decoration.
Definition: DtSymbolDecorationVisualizer.h:227
bool myShowBorder
Whether or not borders are shown.
Definition: DtSymbolDecorationVisualizer.h:314
DtSignalConnectionManager myModelAgentConns
Manager for boost connections specific to the model agent Both this class and it's parent need their ...
Definition: DtSymbolDecorationVisualizer.h:223
Base class for symbol decorations.
Definition: DtSymbolDecoration.h:19
unsigned int myNextLabelIndex
Next free index for a label.
Definition: DtSymbolDecorationVisualizer.h:305
DtVector myWidgetOffsetUnscaled
Unscaled 2d offset of decorations from scene object origin z value is ignored.
Definition: DtSymbolDecorationVisualizer.h:267
float myWidgetColumnPadding
Padding between label columns, in pixels.
Definition: DtSymbolDecorationVisualizer.h:276
DtSymbolDecorationUpdaterAgent * myWidgetUpdater
Updater to keep the labels and heading indicator updated with distributed side state.
Definition: DtSymbolDecorationVisualizer.h:244
float myTextR
Text color red value.
Definition: DtSymbolDecorationVisualizer.h:293
bool myVerticalCenter
whether or not to center the attribute group vertically around its origin
Definition: DtSymbolDecorationVisualizer.h:350
The DtBaseConnection is an abstract class.
Definition: DtBaseConnection.h:34
std::string myDecorationTag
Tag used when finding decoration creators specific to a subclass of this visualizer; this variable sh...
Definition: DtSymbolDecorationVisualizer.h:290
bool myColorByForce
Color by force instead of foreground color.
Definition: DtSymbolDecorationVisualizer.h:338
Contains makVrv:DtEntityStateListener class.
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
Contains makVrv:DtStateVisualizer class.
boost::unordered_map< unsigned int, std::string > DecorationIndexMap
Map from a symbol decorations visualization index and the name of the symbol decoration.
Definition: DtSymbolDecorationVisualizer.h:48
Contains the DtSymbolDecorationSettings class declaration.
DtAttributeGroupWidgetAgent * myWidget
Widget to show a layout of labels.
Definition: DtSymbolDecorationVisualizer.h:236
unsigned int myHoverGroupId
Overlay group id for the symbol decoration shadow/background when hovered over with mouse cursor...
Definition: DtSymbolDecorationVisualizer.h:320
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
boost::unordered_map< std::string, DtSymbolDecoration * > DecorationIdMap
Map type from symbol decoration name to symbol decoration.
Definition: DtSymbolDecorationVisualizer.h:44
DtPinnableProjectedWidgetModelAgent * myWidgetModel
Projecting widget to place the label widget at the 2d projection of the scene object's location...
Definition: DtSymbolDecorationVisualizer.h:240
std::string myDecorationSetName
Name of decoration set to use.
Definition: DtSymbolDecorationVisualizer.h:285
float myHeadingLineLengthUnscaled
Length of heading line in pixels.
Definition: DtSymbolDecorationVisualizer.h:273
std::string myFontFile
Font file for creating labels.
Definition: DtSymbolDecorationVisualizer.h:282
The DtStateVisualizer is an abstract class.
Definition: DtStateVisualizer.h:32
virtual void initialize()
Set default symbol decorations indices.
Definition: DtSymbolDecorationVisualizer.h:120
bool myUseHighestTerrainLod
Tell the updater whether use the height map when calculating altitudes on streamed terrains (slower) ...
Definition: DtSymbolDecorationVisualizer.h:342
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:332
Base class to provide boost signal/slot management.
bool myBackgroundHidden
Whether the background is hidden - see updateBackgroundState().
Definition: DtSymbolDecorationVisualizer.h:256
A definition of a visualizer.
Definition: DtVisualizerDefinition.h:22
DecorationIdMap myDecorationIdMap
Map from creator names to decoration instances.
Definition: DtSymbolDecorationVisualizer.h:230
float myScale
Scale as a percentage of initial size.
Definition: DtSymbolDecorationVisualizer.h:263
unsigned int mySelectedGroupId
Overlay group id for the symbol decoration shadow/background when selected.
Definition: DtSymbolDecorationVisualizer.h:326
float myBorderWidth
The line width of the border - if shown.
Definition: DtSymbolDecorationVisualizer.h:311
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:279
unsigned int myHoverTextGroupId
Overlay group id for the symbol decoration text (foreground) when hovered over with mouse cursor...
Definition: DtSymbolDecorationVisualizer.h:323
virtual void initialize()
Initialize the visualizer.
DtSymbolDecorationSettings::DecorationSet myDecorationSet
Decoration set used to create decorations.
Definition: DtSymbolDecorationVisualizer.h:233
float myTextG
Text color green value.
Definition: DtSymbolDecorationVisualizer.h:296
Symbol decoration visualizer.
Definition: DtSymbolDecorationVisualizer.h:38
bool myHorizontalCenter
whether or not to center the attribute group horizontally around its origin
Definition: DtSymbolDecorationVisualizer.h:346
float myTextB
Text color blue value.
Definition: DtSymbolDecorationVisualizer.h:299
bool myPinnedFlag
whether or not the widget this visualizer controls is pinned
Definition: DtSymbolDecorationVisualizer.h:353
bool myShadowText
Whether or not text is shadowed.
Definition: DtSymbolDecorationVisualizer.h:317
float myFontSizeUnscaled
Font size in points.
Definition: DtSymbolDecorationVisualizer.h:270
Contains DLL export macros.