VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtRadioCommsVisualizationManager.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * Copyright (c) 2020 MAK Technologies, Inc.
3  * All rights reserved.
4  *****************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvCore/vrvCore.h>
13 
14 #include <vrvCore/DtUniqueID.h>
18 
20 
21 #include <boost/unordered_map.hpp>
22 
23 #include <map>
24 
25 namespace makVrv
26 {
27 
32  {
33  public:
34 
36  static DtRadioCommsVisualizationManager& instance( DtDe& de );
37 
40 
44  virtual void findOrCreateAndSelectCommLine( int modelSet,
45  int visualType, const DtCommunicationLine::AttachablePoint& source,
47 
50  virtual void findOrCreateAndSelectSquawkIndicator( int modelSet,
51  int visualType, const DtSquawkIndicator::AttachablePoint& transmitLoc );
52 
54  void setAnimationRate( float rate );
55 
57  void setLifetime( float lifetime );
58 
60  void setStipplePattern( unsigned short stipplePattern );
61 
63  virtual void setStippleRepeatFactor(int repeatFactor);
64 
66  virtual void setColor( float red, float green,
67  float blue, float alpha = 1.0 );
68 
70  virtual void setSenderOffset( const DtVector& offset );
71 
74  virtual void setReceiverOffset( const DtVector& offset );
75 
77 
80 
82  virtual void deleteCommLines();
83 
85  virtual void deleteSquawkIndicators();
86 
88  virtual void deleteCommLinesByModelSet( int modelSet );
89 
91  virtual void deleteSquawkIndicatorsByModelSet( int modelSet );
92 
94 
95  protected:
96 
99 
102 
107  virtual void useCurrentSettings();
108 
111  virtual void slot_displaySettingsChanged();
112 
115  virtual void slot_squawkIndicatorAnimationRateChanged( float rate );
116 
119  virtual void slot_commLineAnimationRateChanged( float rate );
120 
123  virtual void slot_squawkIndicatorLifetimeChanged( float lifetime );
124 
127  virtual void slot_commLineLifetimeChanged( float lifetime );
128 
131  virtual void slot_commLineRenderModeChanged(
133 
136  virtual void slot_greatCircleExaggerationAmountChanged( float amount );
137 
140  virtual void slot_preTick();
141 
142  private:
143 
146 
149 
152 
153  protected:
154 
158  struct CommLineInfo {
159 
161  : myCommunicationLine( line )
162  , myCreationTime( 0 )
163  {}
164 
166 
168 
169  };
170 
175 
177  : mySquawkIndicator( indicator )
178  , myCreationTime( 0 )
179  {}
180 
182 
184 
185  };
186 
192  };
193 
194  protected:
195 
197 
199  typedef boost::unordered_map<DtUniqueID,SquawkIndicatorInfo> SquawkIndicatorsById;
200 
202  typedef std::map<DtSquawkIndicator::AttachablePoint,SquawkIndicatorInfo> SquawkIndicatorsByLocation;
203 
205  typedef boost::unordered_map<int,SquawkIndicatorsByLocation> ModelSetSquawkIndicatorsMap;
206 
209 
211  typedef boost::unordered_map<DtUniqueID,CommLineInfo> CommLinesById;
212 
214  typedef std::pair<DtCommunicationLine::AttachablePoint,DtCommunicationLine::AttachablePoint> CommLineEndpointPair;
215 
217  typedef std::map<CommLineEndpointPair,CommLineInfo> CommLinesByEndpoints;
218 
220  typedef boost::unordered_map<int,CommLinesByEndpoints> ModelSetCommLinesMap;
221 
224 
226  typedef boost::unordered_map<DtUniqueID,float> LifetimesMap;
227 
229 
232 
235 
237 
239 
242 
245 
247 
248  };
249 
250 }
boost::unordered_map< DtUniqueID, float > LifetimesMap
Map type for mapping comm/squawk line ids to custom lifetimes.
Definition: DtRadioCommsVisualizationManager.h:226
Implements sqawk indicators radiating from an entity.
Definition: DtSquawkIndicator.h:32
Common interface for communication lines and squawk indicators.
Definition: DtBaseRadioVisualization.h:23
Encapsulates a communication line between two entities or myFixedFlag points in space.
Definition: DtCommunicationLine.h:30
Defines an attachable point for a squawk indicator or comm line endpoint.
Definition: DtBaseRadioVisualization.h:30
SelectionType mySelectionType
Definition: DtRadioCommsVisualizationManager.h:244
DtSignalConnectionManager myConnections
Definition: DtRadioCommsVisualizationManager.h:196
CommLinesById myCommLinesMap
Definition: DtRadioCommsVisualizationManager.h:223
double myCreationTime
Definition: DtRadioCommsVisualizationManager.h:167
bool mySquawkIndicatorsEnabledFlag
Definition: DtRadioCommsVisualizationManager.h:240
ModelSetCommLinesMap myModelSetCommLinesMap
Definition: DtRadioCommsVisualizationManager.h:222
std::map< CommLineEndpointPair, CommLineInfo > CommLinesByEndpoints
Map type for mapping a CommLineEndpointPair to the comm line between them.
Definition: DtRadioCommsVisualizationManager.h:217
Definition: DtRadioCommsVisualizationManager.h:189
boost::unordered_map< DtUniqueID, SquawkIndicatorInfo > SquawkIndicatorsById
Map type for mapping indicator ids to squawk indicator info.
Definition: DtRadioCommsVisualizationManager.h:199
LifetimesMap myLifetimesMap
Definition: DtRadioCommsVisualizationManager.h:228
DtBaseRadioVisualization * mySelection
Definition: DtRadioCommsVisualizationManager.h:243
std::pair< DtCommunicationLine::AttachablePoint, DtCommunicationLine::AttachablePoint > CommLineEndpointPair
Pair type for storing pairs of attach points as a since endpoint pair.
Definition: DtRadioCommsVisualizationManager.h:214
Contains the DtCommunicationLine class declaration.
float mySquawkIndicatorLifetime
Definition: DtRadioCommsVisualizationManager.h:233
DtCommunicationLine * myCommunicationLine
Definition: DtRadioCommsVisualizationManager.h:165
bool myCurvedEarthModeFlag
Definition: DtRadioCommsVisualizationManager.h:236
DtDe & myDe
Definition: DtRadioCommsVisualizationManager.h:246
SquawkIndicatorsById mySquawkIndicatorsMap
Definition: DtRadioCommsVisualizationManager.h:208
float myCommLineLifetime
Definition: DtRadioCommsVisualizationManager.h:234
float myCommLineAnimationRate
Definition: DtRadioCommsVisualizationManager.h:231
ModelSetSquawkIndicatorsMap myModelSetSquawkIndicatorsMap
Definition: DtRadioCommsVisualizationManager.h:207
CommLineInfo(DtCommunicationLine *line)
Definition: DtRadioCommsVisualizationManager.h:160
Manages the creation, animation, and timeout of comm lines and squawk indicators. ...
Definition: DtRadioCommsVisualizationManager.h:31
Contains the DtRadioCommunicationsSettingsManager class declaration.
Stores information about a single squawk indicator.
Definition: DtRadioCommsVisualizationManager.h:174
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:24
Contains the makVrv::DtSquawkIndicator class declaration.
float mySquawkIndicatorAnimationRate
Definition: DtRadioCommsVisualizationManager.h:230
bool myCommLinesEnabledFlag
Definition: DtRadioCommsVisualizationManager.h:241
double myCreationTime
Definition: DtRadioCommsVisualizationManager.h:183
const char * source
Definition: lz4.h:436
boost::unordered_map< DtUniqueID, CommLineInfo > CommLinesById
Map type for mapping comm line ids to comm line information.
Definition: DtRadioCommsVisualizationManager.h:211
SelectionType
Enumeration for type of visualization currently selected.
Definition: DtRadioCommsVisualizationManager.h:188
std::map< DtSquawkIndicator::AttachablePoint, SquawkIndicatorInfo > SquawkIndicatorsByLocation
Map type for mapping attach points to the indicator at that point.
Definition: DtRadioCommsVisualizationManager.h:202
boost::unordered_map< int, SquawkIndicatorsByLocation > ModelSetSquawkIndicatorsMap
Map type for mapping model set to a SquawkIndicatorsByLocation map.
Definition: DtRadioCommsVisualizationManager.h:205
Base class to provide boost signal/slot management.
SquawkIndicatorInfo(DtSquawkIndicator *indicator)
Definition: DtRadioCommsVisualizationManager.h:176
Stores information about a single comm line.
Definition: DtRadioCommsVisualizationManager.h:158
DtSquawkIndicator * mySquawkIndicator
Definition: DtRadioCommsVisualizationManager.h:181
Contains makVrv::DtUniqueID type.
Definition: DtRadioCommsVisualizationManager.h:190
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
Definition: DtTacticalGraphicUtilities.h:57
voidpf uLong offset
Definition: ioapi.h:42
float myGreatCircleExaggerationAmount
Definition: DtRadioCommsVisualizationManager.h:238
boost::unordered_map< int, CommLinesByEndpoints > ModelSetCommLinesMap
Map type for mapping model set to a CommLinesByEndpoints map.
Definition: DtRadioCommsVisualizationManager.h:220
char * dest
Definition: lz4.h:434
CommLineMode
Definition: DtRadioCommunicationsSettingsRecord.h:23
Contains DLL export macros.

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)