VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtSpiderWebVisualizer.h
Go to the documentation of this file.
1 /******************************************************************************
2 * Copyright (c) 2023 MAK Technologies, Inc.
3 * All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvCore/vrvCore.h>
18 
20 
21 namespace makVrv
22 {
23  class DtOverlaySpiderWebModelAgent;
24 
36  {
37  public:
38 
40 
41  public:
44  DtSceneObjectAgent* sceneObject, DtModelSetId modelSet );
45 
47  virtual ~DtSpiderWebVisualizer();
48 
50  DtSpiderWebVisualizer() = delete;
51 
54 
56  DtSpiderWebVisualizer &operator=( const DtSpiderWebVisualizer& ) = delete;
57  public:
59  virtual void initialize() override;
60 
67  virtual void setColor(float r, float g, float b, float a);
68 
70  virtual void getColor(float& r, float& g, float& b, float& a) const;
71 
75  virtual void useDefaultColor();
76 
80  virtual void setSelectedColor( float r, float g, float b, float a );
81  virtual void getSelectedColor( float& r, float& g, float& b, float& a ) const;
83 
87  virtual void setPenStyle(vrvTacticalGraphicUtilities::PenStyle);
88 
90  virtual unsigned short stipplePattern() const;
91 
93  virtual void setStipplePattern(unsigned short);
94 
97  virtual void slot_setSelected(bool) override;
98 
103  virtual void setPixelLineWidth(int);
104 
108  //virtual void setAttached(DtUniqueID);
109 
112  // @{
113  virtual void setNumberOfSpokes(int);
114  virtual int numberOfSpokes() const;
115  // @}
116 
121  // @{
122  virtual void setNumberOfRings( int numRings );
123  virtual int numberOfRings() const;
124  // @}
125 
128  // @{
129  virtual void setMaxAngleSegment( double angleSegmentMax );
130  virtual double maxAngleSegment() const;
131  // @}
132 
135  // @{
136  virtual void setRadius( double x );
137  virtual double radius() const;
138  // @}
139 
142  // @{
143  virtual void setScale( float scale );
144  virtual float scale() const;
145  // @}
146 
149  // @{
150  virtual void setIsInnerRingFilled( bool filled );
151  virtual bool isInnerRingFilled() const;
152  // @}
153 
158  // @{
159  virtual void setRingIntervalDistance( double interval );
160  virtual double ringIntervalDistance() const;
161  // @}
162 
165  // @{
166  virtual void setListenToNorthDisplayUnitSettings( bool listenToNorthUnitToUse);
167  virtual bool listenToNorthDisplayUnitSettings() const;
168  // @}
169 
172  // @{
173  virtual void setListenToOrientationDisplayUnitSettings( bool listenToOrientationUnitToUse);
174  virtual bool listenToOrientationDisplayUnitSettings() const;
175  // @}
176 
179  // @{
180  virtual void setListenToDistanceDisplayUnitSettings( bool listenToDistanceUnitToUse );
181  virtual bool listenToDistanceDisplayUnitSettings() const;
182  // @}
183 
189  // @{
190  virtual void setGroup( int groupNum );
191  virtual int group() const;
192  // @}
193 
199  // @{
200  virtual void setIsDecorated( bool isDecorated );
201  virtual bool isDecorated() const;
202  // @}
203 
206  // @{
207  virtual void setFontFile( const std::string& fontFile );
208  virtual std::string fontFile() const;
209  // @}
210 
213  // @{
214  virtual void setFontPointSize( float pointSize );
215  virtual float fontPointSize() const;
216  // @}
217 
220  // @{
221  virtual void setFontColor( float r, float g, float b, float a );
222  virtual void getFontColor( float& r, float& g, float& b, float& a ) const;
223  // @}
224 
228  // @{
229  virtual void setDistanceUnit( DtSharedDisplayUnitsSettings::DistanceUnits unit );
230  virtual DtSharedDisplayUnitsSettings::DistanceUnits distanceUnit() const;
231  // @}
232 
236  // @{
237  virtual void setDistanceDecimals( unsigned int decimals );
238  virtual unsigned int distanceDecimals() const;
239  // @}
240 
244  // @{
245  virtual void setOrientationUnit( DtSharedDisplayUnitsSettings::OrientationUnits unit );
246  virtual DtSharedDisplayUnitsSettings::OrientationUnits orientationUnit() const;
247  // @}
248 
252  // @{
253  virtual void setOrientationDecimals( unsigned int decimals );
254  virtual unsigned int orientationDecimals() const;
255  // @}
256 
260  // @{
261  virtual void setNorthUnit( DtSharedDisplayUnitsSettings::NorthUnits unit );
262  virtual DtSharedDisplayUnitsSettings::NorthUnits northUnit() const;
263  // @}
264 
267  virtual void setIsFriendlyForceColorOverrideEnabled(bool enabled);
268 
271  virtual bool isFriendlyForceColorOverrideEnabled() const;
272 
273  protected:
275  virtual void connectToListenerSignals() override;
276 
278  virtual void updateColors() = 0;
279 
282  virtual void setInitialValuesFromVisualizerDefinition() override;
283 
285  virtual void createModelAgents() override;
287  virtual void destroyModelAgents() override;
289  virtual void setModelDefinitionForAgents() override;
290 
293  void setFriendlyForceColorStyle(vrvTacticalGraphicUtilities::FriendlyForceColorStyle style);
294 
295  protected:
297  DtOverlaySpiderWebModelAgent* mySpiderWebModelAgent;
298  float myDefaultColor[4];
299  float myColor[4];
300  float mySelectedColor[4];
301  float myFontColor[4];
303  std::string myFontFile;
304 
307 
310 
312  float myHeading;
313 
315  float myScale;
316  double myRadius;
322  int myGroup;
323  unsigned short myLineStipple;
324 
326 
328 
329  std::map<DtListenToDisplayUnitSettingIndex, bool> myListenToDisplayUnitSettings;
330 
333 
336  };
337 }
vrvTacticalGraphicUtilities::FriendlyForceColorStyle myFriendlyForceColorStyle
Definition: DtSpiderWebVisualizer.h:334
DtSharedDisplayUnitsSettings::OrientationUnits myOrientationUnitToUse
Definition: DtSpiderWebVisualizer.h:305
unsigned int myDistanceDecimalsToUse
Definition: DtSpiderWebVisualizer.h:309
double myRingIntervalDistance
Definition: DtSpiderWebVisualizer.h:317
NorthUnits
Enumeration of the different north units.
Definition: DtDisplayUnitsSettingsRecord.h:151
std::map< DtListenToDisplayUnitSettingIndex, bool > myListenToDisplayUnitSettings
Definition: DtSpiderWebVisualizer.h:329
float myHeading
Definition: DtSpiderWebVisualizer.h:312
The DtTacticalGraphicStateListener is a class that deals with basic TacticalGraphic process code (suc...
Definition: DtTacticalGraphicStateListener.h:27
float myScale
Definition: DtSpiderWebVisualizer.h:315
unsigned int myOrientationDecimalsToUse
Definition: DtSpiderWebVisualizer.h:306
int myGroup
Definition: DtSpiderWebVisualizer.h:322
std::string myFontFile
Definition: DtSpiderWebVisualizer.h:303
Interface for a Spider Web Tactical Graphic Visualizer.
Definition: DtSpiderWebVisualizer.h:35
bool myIsDecorated
Definition: DtSpiderWebVisualizer.h:327
int myNumberOfSpokes
Definition: DtSpiderWebVisualizer.h:319
DistanceUnits
Enumeration of the different distance units.
Definition: DtDisplayUnitsSettingsRecord.h:57
Contains the DtSharedDisplayUnitsSettings class declaration.
DtTacticalGraphicStateListener & mySpiderWebListener
Definition: DtSpiderWebVisualizer.h:296
double myMaxAngleSegment
Definition: DtSpiderWebVisualizer.h:318
The DtBaseConnection is an abstract class.
Definition: DtBaseConnection.h:35
DtSharedDisplayUnitsSettings::DistanceUnits myDistanceUnitToUse
Definition: DtSpiderWebVisualizer.h:308
float myDefaultLineWidth
Definition: DtSpiderWebVisualizer.h:314
Contains makVrv:DtTacticalGraphicStateListener class.
PenStyle
Definition: DtTacticalGraphicUtilities.h:71
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
Contains makVrv:DtStateVisualizer class.
DtListenToDisplayUnitSettingIndex
Definition: DtOverlaySpiderWebModel.h:77
int myNumberOfRings
Definition: DtSpiderWebVisualizer.h:320
DtOverlaySpiderWebModelAgent * mySpiderWebModelAgent
Definition: DtSpiderWebVisualizer.h:297
double myRadius
Definition: DtSpiderWebVisualizer.h:316
OrientationUnits
Enumeration of the different orientation units.
Definition: DtDisplayUnitsSettingsRecord.h:102
bool myDefaultColorSet
Definition: DtSpiderWebVisualizer.h:331
Contains makVrv:DtBaseConnection class.
bool myIsInnerRingFilled
Definition: DtSpiderWebVisualizer.h:325
int myLineWidth
Definition: DtSpiderWebVisualizer.h:321
The DtStateVisualizer is an abstract class. Developers derive from this to create logic that &quot;directs...
Definition: DtStateVisualizer.h:30
Base class to provide boost signal/slot management.
unsigned short myLineStipple
Definition: DtSpiderWebVisualizer.h:323
bool myIsFriendlyForceColorOverrideEnabled
Definition: DtSpiderWebVisualizer.h:335
float myFontPointSize
Definition: DtSpiderWebVisualizer.h:302
FriendlyForceColorStyle
Enumeration used to specify the current friendly force color style By default, the friendly force col...
Definition: DtTacticalGraphicUtilities.h:107
Contains the makVrv::DtOverlaySpiderWebModel class declaration.
DtModelSetId
Definition: DtModelSetEnums.h:19
bool myDefaultFontColorSet
Definition: DtSpiderWebVisualizer.h:332
The DtStateListener is an abstract class. Subclasses implement functionality that will allow data to ...
Definition: DtStateListener.h:26
DtSharedDisplayUnitsSettings::NorthUnits myNorthToUse
Definition: DtSpiderWebVisualizer.h:311
Contains DLL export macros.

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)