VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtLaserDesignatorVisualizer.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 
14 
15 #include <matrix/vlVector.h>
16 
17 namespace makVrv
18 {
19  class DtProjectedWidgetModelAgent;
20  class DtWidgetLabelAgent;
21  class DtLaserDesignatorUpdaterAgent;
22  class DtLaserDesignatorStateListener;
23  class DtSegmentedLineModelAgent;
24  class DtAttachableUpdaterAgent;
25 
33  public DtStateVisualizer
34  {
35  public:
39  DtStateListener& listener, DtModelSetId modelSet );
40 
44  DtSceneObjectAgent* sceneObject, DtModelSetId modelSet );
45 
47  virtual ~DtLaserDesignatorVisualizer();
48 
50  virtual void setParent(DtStateVisualizer*);
51 
53  virtual void createModelAgents();
54 
56  virtual void destroyModelAgents();
57 
60  virtual void setInitialValuesFromVisualizerDefinition() override;
61 
63  virtual void setModelDefinitionForAgents();
64 
66  virtual void setDesignatorElementId( const DtElementID& );
68  virtual DtElementID designatorElementId() const;
70 
72  virtual void setDesignatorLocation(const DtVector& loc);
74  virtual const DtVector& designatorLocation() const;
76 
78  virtual void setDesignatorCode(int code);
80  virtual int designatorCode() const;
82 
84  virtual void setPower(DtFloat32 power);
87  virtual float power() const;
89 
91  virtual void setDesignatedElementId( const DtElementID& );
94  virtual DtElementID designatedElementId() const;
96 
98  virtual void setFont( const std::string& font );
100  virtual const std::string& font() const;
102 
104  virtual void setFontSize( float fontSize );
106  virtual float fontSize() const;
108 
110  virtual void setFontColor( float r, float g, float b, float a );
112  virtual void getFontColor( float& r, float& g, float& b, float& a ) const;
114 
115  protected:
116 
118  virtual void createDesignatorSpot() = 0;
119 
121  virtual void createSegmentedLineModelForLaserLine() = 0;
122 
124  virtual void createDesignatorText();
125 
127  virtual void createLaserLine();
128 
130  virtual void createUpdater();
131 
133  virtual void updateLaserOriginationLocation();
134 
136  virtual void updateLaserSpotLocation();
137 
138  virtual void connectToListenerSignals() override;
139 
140  virtual void initialize() override;
141 
142  protected:
147  float myPower;
148  //DtUniqueID myDesignatedObject;
149 
152  DtAttachableUpdaterAgent* myLaserLineUpdater;
153  DtSegmentedLineModelAgent* myLineModel;
154 
155  std::string myFont;
156  float myFontSize;
157  float myFontColor[4];
158 
159  float myLaserLineColor[4];
160 
162 
164  DtProjectedWidgetModelAgent* myTextModelAgent;
165  DtWidgetLabelAgent* myTextAgent;
166  // DtSceneObjectAgent* myTextSceneObjectAgent;
167  DtLaserDesignatorUpdaterAgent* myUpdater;
168  };
169 }
bool myIsLaserLineVisualized
Definition: DtLaserDesignatorVisualizer.h:150
DtAttachableUpdaterAgent * myLaserLineUpdater
Definition: DtLaserDesignatorVisualizer.h:152
DtSegmentedLineModelAgent * myLineModel
Definition: DtLaserDesignatorVisualizer.h:153
DtWidgetLabelAgent * myTextAgent
Definition: DtLaserDesignatorVisualizer.h:165
Laser Designator State Listener.
Definition: DtLaserDesignatorStateListener.h:24
double myLaserCodeLodOutAltitude
Definition: DtLaserDesignatorVisualizer.h:161
DtProjectedWidgetModelAgent * myTextModelAgent
Definition: DtLaserDesignatorVisualizer.h:164
DtLaserDesignatorVisualizer is the base class shared by Dt2DLaserDesignatorVisualizer and Dt3DLaserDe...
Definition: DtLaserDesignatorVisualizer.h:32
DtUniqueID DtElementID
The ElementID is a specific type of unique ID used to represent VR-Vantage uniquely defined elements...
Definition: DtUniqueID.h:23
DtElementID myDesignatedElementId
Definition: DtLaserDesignatorVisualizer.h:144
The DtBaseConnection is an abstract class.
Definition: DtBaseConnection.h:35
unsigned short myLaserLineStipplePattern
Definition: DtLaserDesignatorVisualizer.h:151
float DtFloat32
Definition: vrvControlStructTypes.h:35
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
DtElementID myDesignatorElementId
Definition: DtLaserDesignatorVisualizer.h:143
Contains makVrv:DtStateVisualizer class.
float myPower
Definition: DtLaserDesignatorVisualizer.h:147
DtLaserDesignatorUpdaterAgent * myUpdater
Definition: DtLaserDesignatorVisualizer.h:167
DtLaserDesignatorStateListener * myLaserDesignatorListener
Definition: DtLaserDesignatorVisualizer.h:163
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 myFontSize
Definition: DtLaserDesignatorVisualizer.h:156
std::string myFont
Definition: DtLaserDesignatorVisualizer.h:155
DtVector myDesignatorSpotLocation
Definition: DtLaserDesignatorVisualizer.h:146
DtModelSetId
Definition: DtModelSetEnums.h:19
int myDesignatorCode
Definition: DtLaserDesignatorVisualizer.h:145
The DtStateListener is an abstract class. Subclasses implement functionality that will allow data to ...
Definition: DtStateListener.h:26

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)