VR-Forces 4.6 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) 2012 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  virtual void setColor( float red, float green,
61  float blue, float alpha = 1.0 );
62 
64  virtual void setSenderOffset( const DtVector& offset );
65 
68  virtual void setReceiverOffset( const DtVector& offset );
69 
71 
74 
76  virtual void deleteCommLines();
77 
79  virtual void deleteSquawkIndicators();
80 
82  virtual void deleteCommLinesByModelSet( int modelSet );
83 
85  virtual void deleteSquawkIndicatorsByModelSet( int modelSet );
86 
88 
89  protected:
90 
93 
96 
101  virtual void useCurrentSettings();
102 
105  virtual void slot_displaySettingsChanged();
106 
109  virtual void slot_squawkIndicatorAnimationRateChanged( float rate );
110 
113  virtual void slot_commLineAnimationRateChanged( float rate );
114 
117  virtual void slot_squawkIndicatorLifetimeChanged( float lifetime );
118 
121  virtual void slot_commLineLifetimeChanged( float lifetime );
122 
125  virtual void slot_commLineRenderModeChanged(
127 
130  virtual void slot_greatCircleExaggerationAmountChanged( float amount );
131 
134  virtual void slot_preTick();
135 
136  protected:
137 
141  struct CommLineInfo {
142 
144  : myCommunicationLine( line )
145  , myCreationTime( 0 )
146  {}
147 
149 
151 
152  };
153 
158 
160  : mySquawkIndicator( indicator )
161  , myCreationTime( 0 )
162  {}
163 
165 
167 
168  };
169 
175  };
176 
177  protected:
178 
180 
182  typedef boost::unordered_map<DtUniqueID,SquawkIndicatorInfo> SquawkIndicatorsById;
183 
185  typedef std::map<DtSquawkIndicator::AttachablePoint,SquawkIndicatorInfo> SquawkIndicatorsByLocation;
186 
188  typedef boost::unordered_map<int,SquawkIndicatorsByLocation> ModelSetSquawkIndicatorsMap;
189 
192 
194  typedef boost::unordered_map<DtUniqueID,CommLineInfo> CommLinesById;
195 
197  typedef std::pair<DtCommunicationLine::AttachablePoint,DtCommunicationLine::AttachablePoint> CommLineEndpointPair;
198 
200  typedef std::map<CommLineEndpointPair,CommLineInfo> CommLinesByEndpoints;
201 
203  typedef boost::unordered_map<int,CommLinesByEndpoints> ModelSetCommLinesMap;
204 
207 
209  typedef boost::unordered_map<DtUniqueID,float> LifetimesMap;
210 
212 
215 
218 
220 
222 
225 
228 
230 
231  };
232 
233 }

Document ID: Generated on Thu Apr 12 03:15:37 EDT 2018 from SVN revision 187986
Copyright © 2005-2018 VT MÄK. All Rights Reserved (www.mak.com)