24 #include <vlutil/vlExceptions.h>
26 #include <matrix/vlVector.h>
30 #include <unordered_map>
35 class DtAttributeGroupWidgetAgent;
36 class DtPinnableProjectedWidgetModelAgent;
37 class DtSymbolDecorationUpdaterAgent;
38 class DtOverlayDirectionLineModelAgent;
39 class DtLineIndicatorSymbolDecorationUpdaterAgent;
40 class DtLocationSymbolDecoration;
41 class DtAccelerationSymbolDecoration;
42 class DtVelocitySymbolDecoration;
43 class DtOrientationSymbolDecoration;
44 class DtObjectTypeStateListener;
45 class DtSymbolDecoration;
119 virtual void createModelAgents()
override;
122 virtual void destroyModelAgents()
override;
125 virtual void setModelDefinitionForAgents()
override;
128 virtual void setOrigin(
const DtVector&);
132 virtual void connectToListenerSignals()
override;
136 virtual void setInitialValuesFromVisualizerDefinition()
override;
146 virtual void slot_setSelected(
bool)
override;
149 virtual DtAttributeGroupWidgetAgent* widget();
152 virtual DtSymbolDecorationUpdaterAgent* widgetUpdater();
160 virtual unsigned int nextLabelIndex();
166 virtual void setLabelIndexForDecorationByName(
unsigned int index,
const std::string& name);
170 virtual bool labelIndexForDecorationByName(
unsigned int& index,
const std::string& name)
const;
173 virtual void initialize()
override;
176 virtual DtSceneObjectAgent* sceneObject();
182 virtual void setForceColor(
float r,
float g,
float b,
float a);
189 virtual void setScale(
float scale);
196 virtual void setLineIndicatorScale(
float scale);
200 virtual int lineIndicatorWidth();
205 virtual void setLineIndicatorWidth(
int lineWidth);
214 virtual void setHeadingLineIndicatorColor(
const DtVector4<float>& lineColor);
223 virtual void setVelocityLineIndicatorColor(
const DtVector4<float>& lineColor);
226 virtual void setShowBorder(
bool b);
229 virtual bool useHighestTerrainLod()
const;
232 virtual void setUseHighestTerrainLod(
bool trueOrFalse);
237 const std::string& decorationId);
245 virtual void setOffset(
double x,
double y);
254 virtual void setIsPinned(
bool myPinned);
260 virtual bool isPinned()
const;
264 virtual void setLodOutAltitude(
double lodOutAltitude);
268 virtual double lodOutAltitude()
const;
274 virtual void setFixedScalingEnabled(
bool fixedScalingEnabled);
280 virtual void setAltitudeBasedConfigurations(
284 virtual void setHasMouseCursor(
bool);
285 virtual bool hasMouseCursor()
const;
288 virtual DtLineIndicatorSymbolDecorationUpdaterAgent* findOrCreateLineIndicatorSymbolDecorationUpdaterAgent();
291 virtual void slot_decorationEnabled(
DtModelSetId modelSet,
const std::string& type,
const std::string& decoration);
294 virtual void slot_decorationDisabled(
DtModelSetId modelSet,
const std::string& type,
const std::string& decoration);
298 virtual void slot_mouseOverDecorationEnabled(
DtModelSetId modelSet,
const std::string& type,
const std::string& decoration );
299 virtual void slot_mouseOverDecorationDisabled(
DtModelSetId modelSet,
const std::string& type,
const std::string& decoration );
303 virtual void slot_foregroundColorChanged(
float r,
float g,
float b);
306 virtual void slot_backgroundColorChanged(
float r,
float g,
float b);
309 virtual void slot_backgroundOpacityChanged(
float a);
312 virtual void slot_lodOutAltitudeChanged(
double a);
315 virtual void slot_shadowTextChanged(
bool enabled);
319 virtual void slot_symbolDecorationSetChanged(
const std::string& setId);
322 virtual void slot_setScale(
float scale);
325 virtual void slot_setEnabled(
bool enabled,
bool instanceOnly =
false);
328 virtual void slot_colorByForceChanged(
bool enabled);
331 virtual void slot_displayUnitCollectionChanged(
const std::string& displayUnitCollection );
338 virtual void updateAltitudeBasedHeadingIndicatorProperties();
342 virtual void updateForcedAltitudeBasedConfigurationEnabledState();
345 virtual void updateLodOutAltitudeProperties();
350 virtual void updateLodOutAltitudeState();
354 virtual void updateBackgroundState();
357 virtual void setBorderState();
361 virtual void updateColor();
365 virtual void implementVisibility(
bool visible)
override;
403 float myForegroundColor[3];
406 float myBackgroundColor[4];
409 float myBorderColor[4];
416 float myForceColor[3];
bool myEnabled
Whether or not decoration visualizers are enabled.
Definition: DtSymbolDecorationVisualizer.h:461
Contains the DtAltitudeBasedScaleConfigurationRecord class declaration.
float myTextA
Text color alpha value.
Definition: DtSymbolDecorationVisualizer.h:458
unsigned int mySymbolDecorationTextGroupId
Overlay group id for the symbol decoration text (foreground) when not selected.
Definition: DtSymbolDecorationVisualizer.h:491
bool myIndicatorOffsetSet
Set if decorationOffset is specificed Means Quadrant cannot override the offset.
Definition: DtSymbolDecorationVisualizer.h:536
unsigned int mySelectedTextGroupId
Overlay group id for the symbol decoration text (foreground) when selected.
Definition: DtSymbolDecorationVisualizer.h:485
bool myShowBorder
Whether or not borders are shown.
Definition: DtSymbolDecorationVisualizer.h:470
DtVector4< float > myVelocityLineIndicatorColor
Definition: DtSymbolDecorationVisualizer.h:530
DtSignalConnectionManager myModelAgentConns
Manager for connections specific to the model agent Both this class and it's parent need their own co...
Definition: DtSymbolDecorationVisualizer.h:374
Base class for symbol decorations.
Definition: DtSymbolDecoration.h:19
DtAttributeGroupWidget::DtOriginPlacementPolicy myOriginPlacementPolicy
Definition: DtSymbolDecorationVisualizer.h:421
makArchives::DtSymbolDecorationSettingsRecord::DecorationSet DecorationSet
a decoration set is a set of creator names for the enabled decorations
Definition: DtSymbolDecorationSettings.h:41
DtObjectTypeStateListener * myObjectTypeStateListener
Definition: DtSymbolDecorationVisualizer.h:544
double myLodOutAltitude
The altitude at which all symbol decorations will no longer appear The default value is 100000 meters...
Definition: DtSymbolDecorationVisualizer.h:517
DtVector myWidgetOffsetUnscaled
Unscaled 2d offset of decorations from scene object origin z value is ignored.
Definition: DtSymbolDecorationVisualizer.h:425
bool myApplyLodOutAltitudeToHeadingIndicatorEnabled
whether or not to apply the lod out altitude property to the heading indicator symbol decoration as w...
Definition: DtSymbolDecorationVisualizer.h:513
float myWidgetColumnPadding
Padding between label columns, in pixels.
Definition: DtSymbolDecorationVisualizer.h:434
DtSymbolDecorationUpdaterAgent * myWidgetUpdater
Updater to keep the labels and heading indicator updated with distributed side state.
Definition: DtSymbolDecorationVisualizer.h:396
float myTextR
Text color red value.
Definition: DtSymbolDecorationVisualizer.h:449
bool myHasMouseCursor
Definition: DtSymbolDecorationVisualizer.h:538
DecorationProperties myDecorationProperties
Map from a symbol decorations visualization index and the name of the symbol decoration.
Definition: DtSymbolDecorationVisualizer.h:378
bool myVerticalCenter
whether or not to center the attribute group vertically around its origin
Definition: DtSymbolDecorationVisualizer.h:506
The DtBaseConnection is an abstract class.
Definition: DtBaseConnection.h:35
bool myFixedScalingEnabled
Definition: DtSymbolDecorationVisualizer.h:532
bool myColorByForce
Color by force instead of foreground color.
Definition: DtSymbolDecorationVisualizer.h:494
bool myInstanceEnabled
Whether or not this decoration visualizer is independently enabled.
Definition: DtSymbolDecorationVisualizer.h:464
makArchives::DtAltitudeBasedScaleConfigurationRecordCollection myHeadingIndicatorScalesByMinimumAltitude
Definition: DtSymbolDecorationVisualizer.h:543
#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:388
unsigned int myHoverGroupId
Overlay group id for the symbol decoration shadow/background when hovered over with mouse cursor...
Definition: DtSymbolDecorationVisualizer.h:476
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
DtSymbolDecorationQuadrant
Defines the possible quadrant locations where symbol decorations can be rendered. ...
Definition: DtSymbolDecorationVisualizer.h:48
double myVelocityIndicatorMinimumSpeed
Definition: DtSymbolDecorationVisualizer.h:541
double myVelocityBasedScaleComputationFactor
Definition: DtSymbolDecorationVisualizer.h:540
DtVector4< float > myHeadingLineIndicatorColor
Definition: DtSymbolDecorationVisualizer.h:527
DtPinnableProjectedWidgetModelAgent * myWidgetModel
Projecting widget to place the label widget at the 2d projection of the scene object's location...
Definition: DtSymbolDecorationVisualizer.h:392
std::string myDecorationSetName
Name of decoration set to use.
Definition: DtSymbolDecorationVisualizer.h:443
float myHeadingLineLengthUnscaled
Length of heading line in pixels.
Definition: DtSymbolDecorationVisualizer.h:431
std::string myFontFile
Font file for creating labels.
Definition: DtSymbolDecorationVisualizer.h:440
DecorationIdMap myMouseOverDecorationIdMap
Definition: DtSymbolDecorationVisualizer.h:382
DtLineIndicatorSymbolDecorationUpdaterAgent * myLineIndicatorUpdater
Updater to keep the labels and heading indicator updated with distributed side state.
Definition: DtSymbolDecorationVisualizer.h:400
The DtStateVisualizer is an abstract class. Developers derive from this to create logic that "directs...
Definition: DtStateVisualizer.h:30
bool myUseHighestTerrainLod
Tell the updater whether use the height map when calculating altitudes on streamed terrains (slower) ...
Definition: DtSymbolDecorationVisualizer.h:498
bool myHeadingLineIndicatorColorOverridden
Definition: DtSymbolDecorationVisualizer.h:526
bool myLodOutAltitudeOverridden
Whether or not the lod out altitude is overridden. If overridden, the lod out altitude from the visua...
Definition: DtSymbolDecorationVisualizer.h:522
unsigned int mySymbolDecorationGroupId
Overlay group id for the symbol decoration shadow/background when not selected.
Definition: DtSymbolDecorationVisualizer.h:488
Base class to provide boost signal/slot management.
bool myBackgroundHidden
Whether the background is hidden - see updateBackgroundState().
Definition: DtSymbolDecorationVisualizer.h:412
The DtObjectTypeStateListener is a base class used by elements that have object types ( including ent...
Definition: DtObjectTypeStateListener.h:31
DecorationIdMap myDecorationIdMap
Map from creator names to decoration instances.
Definition: DtSymbolDecorationVisualizer.h:381
float myScale
Scale as a percentage of initial size.
Definition: DtSymbolDecorationVisualizer.h:419
bool myVelocityLineIndicatorColorOverridden
Definition: DtSymbolDecorationVisualizer.h:529
std::unordered_map< std::string, DtSymbolDecoration * > DecorationIdMap
Map type from symbol decoration name to symbol decoration.
Definition: DtSymbolDecorationVisualizer.h:85
unsigned int mySelectedGroupId
Overlay group id for the symbol decoration shadow/background when selected.
Definition: DtSymbolDecorationVisualizer.h:482
DtModelSetId
Definition: DtModelSetEnums.h:19
float myBorderWidth
The line width of the border - if shown.
Definition: DtSymbolDecorationVisualizer.h:467
voidpf uLong offset
Definition: ioapi.h:42
std::vector< DtAltitudeBasedScaleConfigurationRecord > DtAltitudeBasedScaleConfigurationRecordCollection
Definition: DtAltitudeBasedScaleConfigurationRecord.h:45
The DtStateListener is an abstract class. Subclasses implement functionality that will allow data to ...
Definition: DtStateListener.h:26
float myWidgetRowPadding
Padding between label rows, in pixels.
Definition: DtSymbolDecorationVisualizer.h:437
unsigned int myHoverTextGroupId
Overlay group id for the symbol decoration text (foreground) when hovered over with mouse cursor...
Definition: DtSymbolDecorationVisualizer.h:479
std::vector< std::string > DecorationProperties
Properties for symbol decorations.
Definition: DtSymbolDecorationVisualizer.h:91
DtSymbolDecorationSettings::DecorationSet myDecorationSet
Decoration set used to create decorations.
Definition: DtSymbolDecorationVisualizer.h:385
float myTextG
Text color green value.
Definition: DtSymbolDecorationVisualizer.h:452
int myLineIndicatorWidth
Definition: DtSymbolDecorationVisualizer.h:524
A visualizer for symbol decorations. Symbol decorations are visuals, usually text labels...
Definition: DtSymbolDecorationVisualizer.h:80
bool myHorizontalCenter
whether or not to center the attribute group horizontally around its origin
Definition: DtSymbolDecorationVisualizer.h:502
float myTextB
Text color blue value.
Definition: DtSymbolDecorationVisualizer.h:455
bool myPinnedFlag
whether or not the widget this visualizer controls is pinned
Definition: DtSymbolDecorationVisualizer.h:509
std::string myDisplayUnitCollectionName
Name of the Display Unit Collection to use, pulled from the visualizer definition.
Definition: DtSymbolDecorationVisualizer.h:446
bool myShadowText
Whether or not text is shadowed.
Definition: DtSymbolDecorationVisualizer.h:473
float myFontSizeUnscaled
Font size in points.
Definition: DtSymbolDecorationVisualizer.h:428
Contains DLL export macros.