VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
vrfCloudLayerStateProcessor.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2014 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
13 
14 #include <vrfGuiCore/DtCloudLayerProcessObjectAgent.hpp>
15 
25 #include <vrvCore/DtSimEntryObjectAgent.hpp>
26 #include <vlutil/vlPerformanceStats.h>
27 
28 namespace makVrv
29 {
30  namespace DT_PROTOCOL_NAMESPACE
31  {
32  class DtStateListenerInterface;
33  }
34 }
35 
36 namespace makVrf
37 {
38  namespace VRF_PROTOCOL_NAMESPACE
39  {
41  {
42  public:
45 
47  virtual ~DtVrfCloudLayerElement();
48 
49  virtual void setVisible(bool);
50  virtual void show(int context);
51  virtual void hide(int context);
52 
53  virtual bool isVisible() const;
54 
55  protected:
56  virtual void sendAll();
57  virtual void slot_cloudLayerUpdated();
58 
59  virtual void updateEnabledState();
60 
61  protected:
62  std::set<int> myShowHideContexts;
63  bool myVisible;
64  };
65 
67  {
68  public:
70 
71  virtual ~DtVrfCloudLayerProcessor();
72 
75  virtual void slot_environmentalDiscovered(makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkEnvironmentalStateListenerInterface& listener);
76 
77  protected:
78  virtual void elementAttributeChangeRequested(
79  makVrv::DtUniqueID id, makVrv::DtUniqueID parentId, DtBoost::shared_ptr<const makVrv::DtElementAttribute> atr );
81 
82  protected:
84  };
85 
88  {
89  public:
90 
93 
96 
99  {
100  return dynamic_cast<DtVrfCloudLayerStateProcessor*>(
101  sim.findInstance("DtVrfCloudLayerStateProcessor"));
102  }
103 
106  {
107  sim.registerInstance("DtVrfCloudLayerStateProcessor",proc);
108  }
109 
111  void postDrainInput();
112 
114  void setObjectUpdateRate(makVrv::DtUniqueID uniqueId, makVrv::DtSimEntryUpdater::UpdateRate rate);
115 
117  void forceObjectUpdate(makVrv::DtUniqueID uniqueId);
118 
121 
124 
126  virtual void createAndSendState(makVrv::DT_PROTOCOL_NAMESPACE::DtCloudLayerStateListener& listener,
127  DtCloudLayerProcessObjectAgent& objectDriver);
128 
129  virtual void setState(makVrv::DT_PROTOCOL_NAMESPACE::DtCloudLayerStateListener& listener,
131 
132  virtual void slot_postUpdateCallback(
134 
135  protected:
136 
138  static void postDrainInput(void* usr);
139 
140  protected:
141 
142  //A Listener and a driver which will be updated with it.
144  {
145  public:
147  DtCloudLayerProcessObjectAgent& driver,
148  DtVrfCloudLayerStateProcessor& processor);
149 
151 
153 
154  //Are the updaters equal
155  bool operator==(const VrfCloudLayerObjectDataStateUpdater& orig) const;
156 
158  void update(double timeT);
159 
160  public:
161 
163  DtCloudLayerProcessObjectAgent* myAgent;
165  };
166 
167  typedef std::vector<makVrv::DtUniqueID> CloudLayerIdList;
168 
170  {
172  DtCloudLayerProcessObjectAgent* myAgent;
175  };
176 
177  typedef std::map<makVrv::DtUniqueID,CloudLayerSimDataInstance > CloudLayerAgentMap;
178 
180  typedef std::map<makVrv::DtSimEntryUpdater::UpdateRate,CloudLayerUpdaterGroup>
182 
183  protected:
184 
186 
189  DtTimedSection myTimer;
190  makVrv::DtSimEntryObjectAgent* mySimEntryAgent;
191 
195  };
196 
198  {
199  public:
202 
204 
207  static void registerInstance(makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkConnection& conn,
209 
211  };
212  }
213 }
Contains makVrv::DtEnvironmentalExistenceListener class.
bool myVisible
Definition: vrfCloudLayerStateProcessor.h:63
DtTimedSection myTimer
Definition: vrfCloudLayerStateProcessor.h:189
Contains makVrv::DtSimDataProcessorInterface class.
A DtCloudLayerProcessor listens for the creation of new cloud layer-type reflected objects (and their...
Definition: DtCloudLayerProcessor.h:36
static DtVrfCloudLayerStateProcessor * findInstance(makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkConnection &sim)
Definition: vrfCloudLayerStateProcessor.h:97
Virtual base class.
Definition: DtVirtualBaseClass.h:22
makVrv::DT_PROTOCOL_NAMESPACE::DtEnvironmentalExistenceListener & myListener
Definition: vrfCloudLayerStateProcessor.h:188
#define VRF_PROTOCOL_EXPORT
Definition: vrfProtocol.h:24
makVrv::DtSimEntryUpdater::UpdateRate myRate
Definition: vrfCloudLayerStateProcessor.h:173
makVrv::DT_PROTOCOL_NAMESPACE::DtCloudLayerStateListener * myListener
Definition: vrfCloudLayerStateProcessor.h:171
UpdateRate
Definition: DtSimEntryUpdater.h:34
Definition: vrfCloudLayerStateProcessor.h:40
Contains integers that determine the context with which to show/hide a visualizer.
DtVrfCloudLayerStateProcessor * myProcessor
Definition: vrfCloudLayerStateProcessor.h:164
DT_DLL_terrainCS bool operator==(const DtDegMinSec &lhs, const DtDegMinSec &rhs)
makVrv::DtSignalConnectionManager myConnections
Definition: vrfCloudLayerStateProcessor.h:185
static void registerInstance(makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkConnection &sim, DtVrfCloudLayerStateProcessor *proc)
Definition: vrfCloudLayerStateProcessor.h:104
virtual void registerInstance(const std::string &instanceName, DtVirtualBaseClass *instance)
Register an object as an instance of instanceName, and transfer memory ownership of the instance to t...
std::set< int > myShowHideContexts
Definition: vrfCloudLayerStateProcessor.h:62
makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkConnection & mySimulation
Definition: vrfCloudLayerStateProcessor.h:187
Contains the makVrv::DtCloudLayerStateListener class declaration.
virtual DtVirtualBaseClass * findInstance(const std::string &instanceName)
Find an instance with the given name.
Contains the makVrv::DtCloudLayerElement class declaration.
Contains the makVrv::DtCloudLayerProcessor class declaration.
CloudLayerIdList myForceUpdateList
Definition: vrfCloudLayerStateProcessor.h:194
#define VRF_PROTOCOL_NAMESPACE
Definition: vrfDis.h:18
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:24
DtBalanacedUpdater updates updatee classes at a desired rate in a fair (each instance gets the same n...
Definition: DtBalancedUpdater.h:29
int mySessionId
Definition: vrfCloudLayerStateProcessor.h:83
std::map< makVrv::DtSimEntryUpdater::UpdateRate, CloudLayerUpdaterGroup > CloudLayerUpdateGroupMap
Definition: vrfCloudLayerStateProcessor.h:181
unsigned long long DtUniqueID
Definition: DtUniqueID.h:22
Methods a data processor needs to implement to be considered a data processor.
Definition: DtSimDataProcessorInterface.h:24
DtCloudLayerProcessObjectAgent * myAgent
Definition: vrfCloudLayerStateProcessor.h:172
DtCloudLayerProcessObjectAgent * myAgent
Definition: vrfCloudLayerStateProcessor.h:163
The CloudLayer state listener is a factory-created DtVrlinkTacticalGraphicStateListener.
Definition: DtCloudLayerStateListener.h:42
#define DT_PROTOCOL_NAMESPACE
Make VR-Vantage VRLink code export with library #ifdef DL_DLL_IGCONVRLINK #undef DL_DLL_IGCONVRLINK #...
Definition: export.h:32
The protocol specific processor for CloudLayer sim data.
Definition: vrfCloudLayerStateProcessor.h:87
Contains makVrv::DtBalancedUpdater class.
makVrv::DtSimEntryObjectAgent * mySimEntryAgent
Definition: vrfCloudLayerStateProcessor.h:190
Base class to provide boost signal/slot management.
DtVrlinkSimulatedCloudLayerState myState
Definition: vrfCloudLayerStateProcessor.h:174
The HLA 13 reflected entity list used by the driver to listen to reflected entities.
Definition: DtEnvironmentalExistenceListener.h:64
std::vector< makVrv::DtUniqueID > CloudLayerIdList
Definition: vrfCloudLayerStateProcessor.h:167
The CloudLayer element is an object that manages the interface between the Cloud Layer State Listener...
Definition: DtCloudLayerElement.h:31
makVrv::DtBalancedUpdater< VrfCloudLayerObjectDataStateUpdater > CloudLayerUpdaterGroup
Definition: vrfCloudLayerStateProcessor.h:179
CloudLayerAgentMap myCloudLayerAgents
Definition: vrfCloudLayerStateProcessor.h:192
Definition: vrfCloudLayerStateProcessor.h:66
makVrv::DT_PROTOCOL_NAMESPACE::DtCloudLayerStateListener * myListener
Definition: vrfCloudLayerStateProcessor.h:162
CloudLayerUpdateGroupMap myRefreshRateGroups
Definition: vrfCloudLayerStateProcessor.h:193
std::map< makVrv::DtUniqueID, CloudLayerSimDataInstance > CloudLayerAgentMap
Definition: vrfCloudLayerStateProcessor.h:177

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)