VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtArcVisualizer.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>
15 
18 
19 
20 namespace makVrv
21 {
22  class DtModelAgent;
23 
36  {
37  public:
39  DtArcVisualizer( DtBaseConnection& simulation, DtStateListener& listener,
40  DtSceneObjectAgent* sceneObject, DtModelSetId modelSet );
41 
43  DtArcVisualizer() = delete;
44 
46  DtArcVisualizer( const DtArcVisualizer& ) = delete;
47 
49  DtArcVisualizer &operator=( const DtArcVisualizer& ) = delete;
50 
52  virtual ~DtArcVisualizer();
53 
54  public:
56  virtual void initialize() override;
57 
64  virtual void setColor(float r, float g, float b, float a);
65  virtual void getColor(float& r, float& g, float& b, float& a) const;
66 
70  virtual void useDefaultColor();
71 
74  virtual void setSelectedColor( float r, float g, float b, float a );
75  virtual void getSelectedColor( float& r, float& g, float& b, float& a ) const;
76 
78  virtual void updateColors() = 0;
80 
84  virtual void setPenStyle(vrvTacticalGraphicUtilities::PenStyle);
85 
89  virtual void setStipplePattern( unsigned short stipplePattern );
90  virtual unsigned short stipplePattern() const;
92 
97  virtual void setPixelLineWidth(int);
98  virtual float pixelLineWidth() const;
99 
103  virtual void setDimensions( double x, double y );
104  virtual void getDimensions( double& x, double& y ) const;
106 
110  virtual void setScale( float scale );
111  virtual float scale() const;
113 
117  virtual void setMaxAngleSegment( double angleSegmentMax );
118  virtual double maxAngleSegment() const;
120 
124  virtual void setStartAngle( double startAngle );
125  virtual double startAngle() const;
127 
131  virtual void setEndAngle( double endAngle );
132  virtual double endAngle() const;
134 
136  virtual void slot_setSelected(bool);
137 
139  virtual void setModelDefinitionForAgents() override;
140 
143  DtModelAgent* findModelAgent();
144 
147  virtual void setIsFriendlyForceColorOverrideEnabled(bool enabled);
148 
151  virtual bool isFriendlyForceColorOverrideEnabled() const;
152  protected:
154  virtual void destroyModelAgents();
155 
158  virtual void connectToListenerSignals() override;
159 
162  virtual void setInitialValuesFromVisualizerDefinition() override;
163 
165  virtual void createModelAgents() override;
166 
169  void setFriendlyForceColorStyle(vrvTacticalGraphicUtilities::FriendlyForceColorStyle style);
170  protected:
171  DtModelAgent* myModelAgent;
172 
174  float myDefaultColor[4];
175  float myColor[4];
176  float mySelectedColor[4];
177  float myScale;
178 
180  double myStartAngle;
181  double myEndAngle;
183  double myDimensions[2];
184  unsigned short myLineStipple;
185 
187 
190  };
191 }
vrvTacticalGraphicUtilities::FriendlyForceColorStyle myFriendlyForceColorStyle
Definition: DtArcVisualizer.h:188
int myLineWidth
Definition: DtArcVisualizer.h:186
DtModelAgent * myModelAgent
Definition: DtArcVisualizer.h:171
Interface for an Arc Tactical Graphic Visualizer.
Definition: DtArcVisualizer.h:35
The DtTacticalGraphicStateListener is a class that deals with basic TacticalGraphic process code (suc...
Definition: DtTacticalGraphicStateListener.h:27
double myEndAngle
Definition: DtArcVisualizer.h:181
double myMaxAngleSegment
Definition: DtArcVisualizer.h:182
The DtBaseConnection is an abstract class.
Definition: DtBaseConnection.h:35
double myDefaultLineWidth
Definition: DtArcVisualizer.h:179
Contains makVrv:DtTacticalGraphicStateListener class.
PenStyle
Definition: DtTacticalGraphicUtilities.h:71
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
Contains makVrv:DtStateVisualizer class.
bool myIsFriendlyForceColorOverrideEnabled
Definition: DtArcVisualizer.h:189
double myStartAngle
Definition: DtArcVisualizer.h:180
Contains makVrv:DtBaseConnection class.
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.
float myScale
Definition: DtArcVisualizer.h:177
FriendlyForceColorStyle
Enumeration used to specify the current friendly force color style By default, the friendly force col...
Definition: DtTacticalGraphicUtilities.h:107
DtModelSetId
Definition: DtModelSetEnums.h:19
unsigned short myLineStipple
Definition: DtArcVisualizer.h:184
The DtStateListener is an abstract class. Subclasses implement functionality that will allow data to ...
Definition: DtStateListener.h:26
DtTacticalGraphicStateListener & myArcListener
Definition: DtArcVisualizer.h:173
Contains DLL export macros.

Document ID: Generated on Wed Mar 27 22:49:11 EDT 2024 from SVN revision 264633
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)