VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtMilStdIconVisualizer.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 
13 #include <vrvCore/DtWidgetLabel.h>
14 
15 #include <vrvUtil/DtUnicode.h>
16 
18 
19 #include <vlutil/vlExceptions.h>
20 
21 namespace makVrv
22 {
23 
24  class DtProjectedWidgetModelAgent;
25  class DtWidgetAgent;
26  class DtWidgetLabelAgent;
27  class DtObjectTypeStateListener;
28 
34  {
35  public:
38  DtSceneObjectAgent* sceneObject, DtModelSetId modelSet );
39 
41  virtual ~DtMilStdIconVisualizer();
42 
44  DtMilStdIconVisualizer() = delete;
45 
48 
50  DtMilStdIconVisualizer& operator=( const DtMilStdIconVisualizer& ) = delete;
51 
52  public:
53 
55  virtual void initialize() override;
56 
58  virtual void setModelDefinitionForAgents();
59 
69  virtual void slot_setSelected( bool selected ) override;
70 
72  virtual void setOutlineEnabled( bool enabled );
74  virtual bool outlineEnabled() const;
75 
77  virtual void setFillEnabled( bool enabled );
79  virtual bool fillEnabled() const;
80 
82  virtual void setDamageEnabled( bool enabled );
84  virtual bool damageEnabled() const;
85 
92  virtual void setIsPinned(bool myPinned);
93 
100  virtual bool isPinned() const;
101 
106  virtual void setBaseAltitudeToUseWhilePinned(double baseAltitude);
107 
112  virtual double baseAltitudeToUseWhilePinned();
113 
118  virtual void setFixedIconScalingEnabled(bool fixedScalingEnabled );
119 
122  virtual void setIconScale( float scale );
123 
125  virtual void setAltitudeSpecificConfigurations(
127 
129  virtual void setColorByAffiliationEnabled( bool enabled );
131  virtual bool colorByAffiliationEnabled() const;
132 
135  virtual void setForceId( int );
136 
137  virtual int forceId() const
138  {
139  return myForceId;
140  }
141 
144  virtual void setDamaged( bool );
145  virtual bool damaged() const
146  {
147  return myDamaged;
148  }
149 
151  virtual void setForceColor( float r, float g, float b, float a );
152  virtual void getForceColor( double& r, double& g, double& b, double& a );
153 
158 
159  virtual unsigned short outlineCharacterForUnitSymbolFont(
160  unsigned short outlineBase, int force ) const;
161 
162  virtual unsigned short fillCharacterForUnitSymbolFont(
163  unsigned short outlineBase, int force ) const;
164 
166  virtual DtUnicode generateSymbolString( float fillColor[4],
167  float outlineColor[4], unsigned int fillGlyph,
168  unsigned int outlineGlyph, bool damaged ) const;
169 
171  virtual unsigned short outlineGlyph() const;
172  virtual unsigned short fillGlyph() const;
173  virtual unsigned short damageGlyph() const;
174 
175  virtual void setPickable( bool b );
176 
178  virtual void rotateSymbolToHeading(double);
179 
181  virtual void setHasMouseCursor(bool);
182  virtual bool hasMouseCursor() const;
183 
184  protected:
185 
186  virtual DtObjectTypeStateListener& objectTypeStateListener();
187  virtual const DtObjectTypeStateListener& objectTypeStateListener() const;
188 
189  virtual bool fillCharacterByOutline( unsigned short outline,
190  unsigned short lower, unsigned short upper, unsigned short start,
191  bool equipment, unsigned short& fill ) const;
192 
193  virtual unsigned short forceOffset( int force ) const;
194 
199  virtual void displayChanged();
200 
201  virtual void createModelAgents();
202  virtual void destroyModelAgents();
203 
207  virtual void update();
208 
211  virtual void updateLabel();
212 
215  virtual void connectToListenerSignals() override;
216 
219  virtual void setInitialValuesFromVisualizerDefinition() override;
220 
221  protected:
222  DtProjectedWidgetModelAgent* myProjectIconPosition;
223  DtWidgetLabelAgent* myLabel;
232 
236 
239 
241  bool myDamaged;
244 
249 
251  unsigned int myHoveredGroupId; // hoverGroupSet
252  unsigned int mySelectedGroupId; // selectedGroupSet
253  unsigned int myGroupId; // iconsGroupSet
256  float myForceColor[4];
257  float myScale;
260  };
261 
262 }
Contains the DtAltitudeBasedScaleConfigurationRecord class declaration.
bool myFixedScalingEnabled
Definition: DtMilStdIconVisualizer.h:240
bool myDamageEnabledFlag
False
Definition: DtMilStdIconVisualizer.h:229
A unicode string. DtUnicode stores a UTF-16 encoded unicode string. Code Point, a Unicode character...
Definition: DtUnicode.h:33
bool myOutlineFlag
True
Definition: DtMilStdIconVisualizer.h:225
unsigned int mySelectedGroupId
Definition: DtMilStdIconVisualizer.h:252
double myBaseAltitudeToUseWhilePinned
The base altitude to use when determining the scale to use while pinned std::numeric_limits&lt;double&gt;:...
Definition: DtMilStdIconVisualizer.h:235
bool myDamaged
Definition: DtMilStdIconVisualizer.h:241
unsigned int myGroupId
Definition: DtMilStdIconVisualizer.h:253
DtUnicodeChar myDamageGlyph
Definition: DtMilStdIconVisualizer.h:247
DtWidgetLabelAgent * myLabel
Definition: DtMilStdIconVisualizer.h:223
OriginPlacementPolicy
Policy that determines where the origin of the label is.
Definition: DtWidgetLabel.h:40
DtUnicodeChar myFillGlyph
Definition: DtMilStdIconVisualizer.h:246
bool myColorByAffiliationFlag
True
Definition: DtMilStdIconVisualizer.h:231
DtProjectedWidgetModelAgent * myProjectIconPosition
Definition: DtMilStdIconVisualizer.h:222
bool myHasMouseCursor
Definition: DtMilStdIconVisualizer.h:243
unsigned int myHoveredGroupId
Definition: DtMilStdIconVisualizer.h:251
The DtBaseConnection is an abstract class.
Definition: DtBaseConnection.h:35
virtual int forceId() const
Definition: DtMilStdIconVisualizer.h:137
A single unicode character.
Definition: DtUnicodeChar.h:17
bool myPinnedFlag
whether or not the widget this visualizer controls is pinned
Definition: DtMilStdIconVisualizer.h:238
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
Contains makVrv:DtStateVisualizer class.
Contains the makVrv::DtWidgetLabel class declaration.
makArchives::DtAltitudeBasedScaleConfigurationRecordCollection myLabelScalesByMinimumAltitude
Definition: DtMilStdIconVisualizer.h:258
bool myForceEffectsGlyphs
Definition: DtMilStdIconVisualizer.h:242
DtWidgetLabel::OriginPlacementPolicy myGlyphCenterPolicy
Definition: DtMilStdIconVisualizer.h:254
float myScale
Definition: DtMilStdIconVisualizer.h:257
The DtStateVisualizer is an abstract class. Developers derive from this to create logic that &quot;directs...
Definition: DtStateVisualizer.h:30
DtUnicode mySymbolString
Definition: DtMilStdIconVisualizer.h:248
The DtObjectTypeStateListener is a base class used by elements that have object types ( including ent...
Definition: DtObjectTypeStateListener.h:31
A visualizer for displaying a Military Standard Symbology Icon. A symbology icon is made up of severa...
Definition: DtMilStdIconVisualizer.h:33
bool myFillEnabledFlag
True
Definition: DtMilStdIconVisualizer.h:227
virtual bool damaged() const
Definition: DtMilStdIconVisualizer.h:145
DtObjectTypeStateListener * myObjectTypeStateListener
Definition: DtMilStdIconVisualizer.h:259
DtModelSetId
Definition: DtModelSetEnums.h:19
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
int myForceId
Definition: DtMilStdIconVisualizer.h:255
DtUnicodeChar myOutlineGlyph
Definition: DtMilStdIconVisualizer.h:245

Document ID: Generated on Tue Sep 24 19:28:17 EDT 2024 from SVN revision 269799
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)