VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
remoteObjectManager.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2019 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
6 #pragma once
7 
12 #include "vlutil/vlPerformanceStats.h"
13 #include "vrfStateData/stateData.h"
14 #include <boost/signals2.hpp>
15 #include <tbb/spin_mutex.h>
16 #include <unordered_set>
17 #include <vlpi/metocEnums.h>
18 #include <vrfutil/profiler.h>
20 
21 class DtVrfCallbackQueue;
22 class DtExerciseConn;
23 class DtReflectedObject;
26 class DtReflectedAggregate;
31 class DtBaseEntityStateRepository;
34 class DtReflectedEntity;
35 class DtReflectedActiveSonar;
36 class DtReflectedPropulsionNoise;
37 class DtReflectedEmitterSystem;
38 class DtReflectedIff;
39 class DtReflectedDesignator;
40 class DtReflectedRadioTransmitter;
41 class DtReflectedRadioReceiver;
42 class DtReflectedNavAid;
43 class DtExerciseConn;
45 class DtVrfParameterDb;
47 
48 #include <boost/signal.hpp>
49 
50 #if DtHLA_1516_EVOLVED
51 #include <tbb/queuing_mutex.h>
52 #include <tbb/atomic.h>
53 #endif
54 
55 #if DtHLA
56 namespace makVrfVrlinkExtToolkit
57 {
58  class DtReflectedExtendedAttributesObjectList;
59 }
60 #endif
61 
62 namespace makVrf
63 {
64  class DtRemoteEnvironmentManager;
65  class DtRemoteObjectManager;
66 
67  class DtStateDataManager;
68  class DtRemoteStateComponentNetInterface;
69  class DtVrlinkNetworkInterface;
70 
71  class DT_DLL_vrlinkNetworkInterface DtRemoteObjectManager
72  {
73  public:
74 
75  typedef std::map< DtReflectedObject*, DtSimObjectNetInterface* > InterfacesByReflectedObjectMap;
76  typedef std::map< makVrf::SimStateID, InterfacesByReflectedObjectMap > RemoteInterfacesMapById;
77 
80 
82  virtual ~DtRemoteObjectManager();
83 
85  virtual void printReflectedObjectCounts() const;
86 
87  virtual void init(DtStateDataManager*, DtExerciseConn*, const DtReflectedObjectLists&);
88  virtual void setReflectedLists(const DtReflectedObjectLists& lists);
89 
90 #if DtHLA
91  virtual void setRequestUpdates(bool shouldRequestUpdates);
92 #endif
93  virtual void beginFrame();
94  virtual void beginFrame(DtVrfCallbackQueue*);
95 
97  virtual void advanceFrame(DtVrfCallbackQueue*);
98 
101  virtual void finishFrame();
102 
104  virtual bool stateDataAboutToBeRemoved(const DtStateData* sd);
105 
106  virtual void setParameterDatabase(DtVrfParameterDb*);
107 
109  virtual bool hasDiscoveredObjects() const;
110 
111 #if DtDIS
112  virtual void setDefaultObjectTimeout(int);
114  {
115  return myDefaultObjectTimeout;
116  }
117  virtual void setDisableTimeoutProcessing(bool);
119  {
120  return myDisableTimeoutProcessing;
121  }
122 #endif
123 
126  virtual bool acceptRemoteEnvironmental(const DtEntityType& et) const;
127 
128  virtual void requestUpdatesForRemoteNonVrfObjects() const;
129 
131  virtual void setEnabled(bool);
132  bool enabled() const
133  {
134  return myEnabled;
135  }
136 
138  {
139  return myStateDataManager;
140  }
141 
143  {
144  return myReflectedLists.reflectedAerodromesList.reflectedList;
145  }
146 
148  {
149  return myReflectedLists.reflectedEntitiesList.reflectedList;
150  }
151 
153  {
154  return myReflectedLists.reflectedAggregatesList.reflectedList;
155  }
156 
158  {
159  return myReflectedLists.reflectedEnvironmentalsList.reflectedList;
160  }
161 
163  {
164  return myReflectedLists.reflectedDesignatorsList.reflectedList;
165  }
166 
167  DtReflectedActiveSonarList* reflectedActiveSonarList() const
168  {
169  return myReflectedLists.reflectedActiveSonarList.reflectedList;
170  }
171 
172  DtReflectedPropulsionNoiseList* reflectedPropulsionNoiseList() const
173  {
174  return myReflectedLists.reflectedPropulsionNoiseList.reflectedList;
175  }
176 
178  {
179  return myReflectedLists.reflectedRadioTransmitterList.reflectedList;
180  }
181 
183  {
184  return myReflectedLists.reflectedNavAidTransmitterList.reflectedList;
185  }
186 
187  DtReflectedRadioReceiverList* reflectedRadioReceiverList() const
188  {
189  return myReflectedLists.reflectedRadioReceiverList.reflectedList;
190  }
191 
193  {
194  return myReflectedLists.reflectedDynamicTerrainList.reflectedList;
195  }
196 
197  DtReflectedIffList* reflectedIffList() const
198  {
199  return myReflectedLists.reflectedIffList.reflectedList;
200  }
201 
203  {
204  return myReflectedLists;
205  }
206 
208  virtual void setLongScenarioLoadDiscoveryTime(double);
210  {
211  return myLongScenarioLoadDiscoveryTime;
212  }
213 
214  DtExerciseConn* exerciseConnection() const
215  {
216  return myExerciseConnection;
217  }
218 
220  virtual void setStaticObjectDiscoveryTime(double);
222  {
223  return myStaticObjectDiscoveryTime;
224  }
225 
226  virtual void setDynamicTerrainStateData(DtStateData*);
227  virtual void finishDiscovery();
228  virtual void setNumCallbackThreads(int);
229 
230  virtual bool hasDiscoveryJobs() const;
231 
233  virtual DtGlobalObjectDesignator entityThatHostsRadio(const DtGlobalObjectDesignator&, int radioIndex) const;
234 
236  virtual void convertedToLocal(DtStateData*);
237 
238  protected:
239  virtual bool isLocal(const DtBaseEntityStateRepository& stateRep);
240 
244  static int aggregateSuperType(DtAggregateStateRepository* aggregate);
245 
246  virtual bool selfReflecting() const;
247 
248  virtual void processAerodromeAddedCallback(DtReflectedAerodrome* entity);
249  virtual void processAerodromeRemovedCallback(DtReflectedAerodrome* entity);
250  virtual bool initializeRemoteAerodrome(DtStateData*, DtReflectedAerodrome*);
251 
254  virtual DtReflectedControlObjectList* createReflectedControlObjectList(DtExerciseConn* exConn);
255  virtual void createRemoteEnvironmentalsList(DtExerciseConn* exConn);
256 
261  friend class RemoteEntityCreator;
262  virtual void processEntityAddedCallback(DtReflectedExtEntity* entity);
263  virtual bool initializeRemoteEntity(DtStateData*, DtReflectedExtEntity*);
264 
265  friend class RemoteAggregateCreator;
266  virtual void processAggregateAddedCallback(DtReflectedExtAggregate* aggregate);
267  virtual bool initializeRemoteAggregate(DtStateData*, DtReflectedExtAggregate*);
268 
271  virtual void processEntityRemovedCallback(DtReflectedExtEntity* entity);
272  virtual void processAggregateRemovedCallback(DtReflectedExtAggregate* aggregate);
273 
274  virtual void processDesignatorAddedCallback(DtReflectedDesignator * des);
275  virtual void processDesignatorRemovedCallback(DtReflectedDesignator * des);
276  virtual DtBoolean processDesignatorDiscoveryCriteria(DtReflectedDesignator * des);
277 
278  virtual void processActiveSonarAddedCallback(DtReflectedActiveSonar* des);
279  virtual void processActiveSonarRemovedCallback(DtReflectedActiveSonar* des);
280  virtual DtBoolean processActiveSonarDiscoveryCriteria(DtReflectedActiveSonar* des);
281 
282  virtual void processPropulsionNoiseAddedCallback(DtReflectedPropulsionNoise* des);
283  virtual void processPropulsionNoiseRemovedCallback(DtReflectedPropulsionNoise* des);
284  virtual DtBoolean processPropulsionNoiseDiscoveryCriteria(DtReflectedPropulsionNoise* des);
285 
286  virtual void processRadioTransmitterAddedCallback(DtReflectedRadioTransmitter* tran);
287  virtual void processRadioTransmitterRemovedCallback(DtReflectedRadioTransmitter* tran);
288  virtual DtBoolean processRadioTransmitterDiscoveryCriteria(DtReflectedRadioTransmitter*);
289 
290  virtual void processNavAidTransmitterAddedCallback(DtReflectedNavAid* tran);
291  virtual void processNavAidTransmitterRemovedCallback(DtReflectedNavAid* tran);
292  virtual DtBoolean processNavAidRadioTransmitterDiscoveryCriteria(DtReflectedNavAid*);
293 
294  virtual void processRadioReceiverAddedCallback(DtReflectedRadioReceiver* tran);
295  virtual void processRadioReceiverRemovedCallback(DtReflectedRadioReceiver* tran);
296 
297  virtual void processIffAddedCallback(DtReflectedIff* des);
298  virtual void processIffRemovedCallback(DtReflectedIff* des);
299  virtual DtBoolean processIffDiscoveryCriteria(DtReflectedIff*);
300 
301  virtual void processEmitterSystemAddedCallback(DtReflectedEmitterSystem* des);
302  virtual void processEmitterSystemRemovedCallback(DtReflectedEmitterSystem* des);
303  virtual DtBoolean processEmitterSystemDiscoveryCriteria(DtReflectedEmitterSystem*);
304 
305  friend class RemoteEnvironmentalCreator;
306  virtual void processEnvProcessAddedCallback(DtReflectedEnvironmentProcess* envProcess);
307  virtual bool initializeRemoteEnvProcess(DtStateData*, DtReflectedEnvironmentProcess*);
308  virtual void startingJob();
309  virtual void stoppingJob();
310 
311  virtual void processEnvProcessRemovedCallback(DtReflectedEnvironmentProcess* envProcess);
312  virtual bool processEnvProcessDiscoveryCriteria(DtReflectedEnvironmentProcess* envProcess);
313 
317  virtual void createRemoteEntitiesList(DtExerciseConn* exConn);
318  virtual void createRemoteAggregatesList(DtExerciseConn* exConn);
319  virtual void createRemoteAerodromesList(DtExerciseConn* exConn);
320 
321  static void aerodromeAddedCallback(DtReflectedAerodrome*, void* userData);
322  static void aerodromeRemovedCallback(DtReflectedAerodrome*, void* userData);
323 
328  static void entityAddedCallback(DtReflectedExtEntity* entity, void* userData);
329 
334  static void entityRemovedCallback(DtReflectedExtEntity* entity,
335  void* userData);
336 
341  static void aggregateAddedCallback(DtReflectedExtAggregate* entity,
342  void* userData);
343 
348  static void aggregateRemovedCallback(DtReflectedExtAggregate* entity,
349  void* userData);
350 
355  static bool entityDiscoveryCriteriaCallback(DtReflectedObject* entity,
356  void* userData);
357 
362  static bool aggregateDiscoveryCriteriaCallback(DtReflectedObject* aggregate,
363  void* userData);
364 
370  virtual bool processEntityDiscoveryCriteria(
371  DtReflectedEntity* entity);
372 
378  virtual bool processAggregateDiscoveryCriteria(
379  DtReflectedAggregate* aggregate);
380 
384  virtual void createRemoteDesignatorsList(DtExerciseConn* exConn);
385 
386  virtual void createRemoteActiveSonarList(DtExerciseConn* exConn);
387  virtual void createRemotePropulsionNoiseList(DtExerciseConn* exConn);
388  virtual void createRemoteRadioTransmitterList(DtExerciseConn* exConn);
389  virtual void createRemoteNavAidTransmitterList(DtExerciseConn* exConn);
390  virtual void createRemoteRadioReceiverList(DtExerciseConn* exConn);
391  virtual void createRemoteEmitterSystemList(DtExerciseConn* exConn);
392  virtual void createRemoteIffList(DtExerciseConn* exConn);
393  virtual void createReflectedDynamicTerrainList(DtExerciseConn* exConn);
394 
395  #if DtHLA
396  virtual void createRemoteExtendedAttributesList(DtExerciseConn* exConn);
399  #endif
400  static void designatorAddedCallback(DtReflectedDesignator * des,
405  void * userData);
406 
411  static void designatorRemovedCallback(DtReflectedDesignator * des,
412  void * userData);
413 
418  static DtBoolean designatorDiscoveryCriteriaCallback(DtReflectedObject * des,
419  void * userData);
420 
421  static void activeSonarAddedCallback(DtReflectedActiveSonar* activeSonar,
422  void* userData);
423  static void activeSonarRemovedCallback(DtReflectedActiveSonar* activeSonar,
424  void* userData);
425  static DtBoolean activeSonarDiscoveryCriteriaCallback(
426  DtReflectedObject* activeSonar, void* userData);
427 
428  static void propulsionNoiseAddedCallback(DtReflectedPropulsionNoise* propNoise,
429  void* userData);
430  static void propulsionNoiseRemovedCallback(DtReflectedPropulsionNoise* propNoise,
431  void* userData);
432  static void propulsionNoiseChangedCallback(DtReflectedPropulsionNoise* propNoise,
433  void* userData);
434  static DtBoolean propulsionNoiseDiscoveryCriteriaCallback(
435  DtReflectedObject* propNoise, void* userData);
436 
437  static void radioTransmitterAddedCallback(DtReflectedRadioTransmitter* transmitter,
438  void* userData);
439  static void radioTransmitterRemovedCallback(DtReflectedRadioTransmitter* transmitter,
440  void* userData);
441  static DtBoolean radioTransmitterDiscoveryCriteriaCallback(DtReflectedObject* des, void*);
442 
443  static void navAidTransmitterAddedCallback(DtReflectedNavAid* transmitter,
444  void* userData);
445  static void navAidTransmitterRemovedCallback(DtReflectedNavAid* transmitter,
446  void* userData);
447  static DtBoolean navAidRadioTransmitterDiscoveryCriteriaCallback(DtReflectedObject* des, void*);
448 
449  static void radioReceiverAddedCallback(DtReflectedRadioReceiver* transmitter,
450  void* userData);
451  static void radioReceiverRemovedCallback(DtReflectedRadioReceiver* transmitter,
452  void* userData);
453 
454  static void iffAddedCallback(DtReflectedIff* propNoise,
455  void* userData);
456  static void iffRemovedCallback(DtReflectedIff* propNoise,
457  void* userData);
458  static DtBoolean iffDiscoveryCriteriaCallback(
459  DtReflectedObject* iff, void* userData);
460 
461  static void emitterSystemAddedCallback(DtReflectedEmitterSystem* propNoise,
462  void* userData);
463  static void emitterSystemRemovedCallback(DtReflectedEmitterSystem* propNoise,
464  void* userData);
465  static DtBoolean emitterSystemDiscoveryCriteriaCallback(
466  DtReflectedObject* iff, void* userData);
467 
468  static void envProcessAddedCallback(
469  DtReflectedEnvironmentProcess* envProcess, void* userData);
470  static void envProcessRemovedCallback(
471  DtReflectedEnvironmentProcess* envProcess, void* userData);
472  static bool envProcessDiscoveryCriteria(
473  DtReflectedObject* envProcess, void* userData);
474 
475  virtual void cleanup();
476 
477  virtual void stateComponentToBeDeleted(DtFrameStateInterface*);
478 
479  virtual void removeReflectedComponentObject(DtReflectedObject*);
480 
482 
483  static void dynamicTerrainObjectAddedCallback(DtReflectedDynamicTerrain* object, void* usr);
484  virtual void processDynamicTerrainObjectAdded(DtReflectedDynamicTerrain* object);
486 
487  virtual DtBoolean processReflectedDynamicTerrainDiscoveryCriteria(DtReflectedDynamicTerrain*);
488  static DtBoolean reflectedDynamicTerrainDiscoveryCriteriaCallback(
489  DtReflectedObject*, void* userData);
490 
492 
493  static void dynamicTerrainObjectRemovedCallback(DtReflectedDynamicTerrain* object, void* usr);
494  virtual void processDynamicTerrainObjectRemoved(DtReflectedDynamicTerrain* object);
496 
498  virtual bool createUnhostedComponent(DtReflectedObject* obj, const DtString& hostId, int componentType, const char* componentInterfaceType);
499 
501  virtual bool createRemoteHostedComponent(DtReflectedObject* obj, const DtString& hostId, int componentType, const char* componentInterfaceType);
502 
504  virtual void grabUnhostedComponents(DtStateData*);
505 
507  virtual DtEntityType standardAggregateTypeToVrfAggregateType(const DtEntityType& aggType) const;
508 
511  virtual void checkDiscoveryForHostedObjects();
512 
513  protected:
515 
516  #if DtHLA
519  #endif
520 
521  DtExerciseConn* myExerciseConnection;
522  DtStateDataManager* myStateDataManager;
523 
524  bool myEnabled;
526  DtSimulationAddress mySimulationAddress;
527 
528  template <typename T_Exec>
530  {
531  public:
532  int size() const { return DtPublisherContainer<T_Exec>::myExecVec.size(); };
533  };
534 
536  tbb::spin_mutex myInterfacesMutex;
538  typedef std::map<makVrf::SimStateID, std::pair<DtReflectedObject*, DtSimObjectNetInterface*> > RemoteInterfacesById;
540 
542  {
543  boost::signals2::connection deleteObjectConnection;
546  };
547 
548  typedef std::map<uintptr_t, ReflectedObjectInformation> ReflectedObjectToComponentMap;
550 
551  typedef std::map<uintptr_t, DtSimObjectNetInterface*> RemoteInterfacesByReflectedObject;
553 
555 
556  typedef std::vector<DtStateComponent*> StateComponentVector;
557  typedef std::map<DtString, StateComponentVector> UnhostedComponents;
560 
563  typedef std::map<DtString, std::vector<DtReflectedObject*> > AwaitingReflectedTransmitters;
566 
567  typedef std::map<DtString, DtStateData*> UnhostedStateData;
569 
571 
572  std::unordered_set<unsigned long long> myStateDataToRemove;
573 #if DtDIS
575  bool myDisableTimeoutProcessing = false;
576  std::set<DtReflectedObject*> myConvertingToLocal;
577 #endif
578 
579  std::set<DtGlobalObjectDesignator> myJustDeleted;
580  tbb::atomic<int> myJobCount;
581 
583  {
584  CreationInfo() : uuid(DtUUID::nullUUID()) {};
585  CreationInfo(const DtObjectType& o, const DtUUID& u) : objectType(o), uuid(u) {};
586  DtObjectType objectType;
588  };
589 
590  typedef std::map<DtReflectedObject*, CreationInfo> ObjectsToCreate;
595  unsigned int myLastNumberOfEntities = 0;
596  unsigned int myLastNumberOfAggregates = 0;
597  unsigned int myLastNumberOfEnvironmentals = 0;
598  double myTimeSinceLastObjectDiscovery = 0.;
599  double myTotalTimeSinceLastAddition = 0.;
600  double myLongScenarioLoadDiscoveryTime = 10.;
601  double myStaticObjectDiscoveryTime = 0.25;
602  };
603 }
int size() const
Definition: remoteObjectManager.h:532
std::map< uintptr_t, ReflectedObjectInformation > ReflectedObjectToComponentMap
Definition: remoteObjectManager.h:548
UUID is a unique ID wrapper class.
Definition: uuid.h:59
DtReflectedPropulsionNoiseList * reflectedPropulsionNoiseList() const
Definition: remoteObjectManager.h:172
DtExerciseConn * myExerciseConnection
Definition: remoteObjectManager.h:521
bool enabled() const
Definition: remoteObjectManager.h:132
Definition: reflectedExtEntity.h:31
std::map< uintptr_t, DtSimObjectNetInterface * > RemoteInterfacesByReflectedObject
Definition: remoteObjectManager.h:551
UnhostedStateData myUnhostedStateData
Definition: remoteObjectManager.h:568
Instances of DtVrfParameterDb are the database of DtVrfObjectParameters objects used in the construct...
Definition: vrfParameterDb.h:40
DtReflectedAerodromeList * reflectedAerodromeList() const
Definition: remoteObjectManager.h:142
Definition: reflectedExtAggregate.h:35
DtFrameStateInterface * frameStateInterface
Definition: remoteObjectManager.h:544
AwaitingReflectedTransmitters myReflectedRadioTransmitters
Definition: remoteObjectManager.h:564
AwaitingReflectedTransmitters myNavAidReflectedRadioTransmitters
Definition: remoteObjectManager.h:565
DtRemoteStateComponentNetInterface * remoteStateComponentNetInterface
Definition: remoteObjectManager.h:545
DtVrfPublisherContainer< DtSimObjectNetInterface > PublisherContainer
Definition: remoteObjectManager.h:535
ObjectsToCreate myPendingAggregateJobs
Definition: remoteObjectManager.h:592
DtVrfCallbackQueue myJobProcessor
Definition: remoteObjectManager.h:570
std::vector< DtStateComponent * > StateComponentVector
Definition: remoteObjectManager.h:556
Instances of this class provide a protocol independent interface to a list of DynamicTerrain in a DIS...
Definition: reflectedDynamicTerrainListDIS.h:24
DtReflectedRadioTransmitterList * reflectedRadioTransmitterList() const
Definition: remoteObjectManager.h:177
int myDefaultObjectTimeout
Definition: remoteObjectManager.h:574
double staticObjectDiscoveryTime() const
Definition: remoteObjectManager.h:221
double longScenarioLoadDiscoveryTime() const
Definition: remoteObjectManager.h:209
Simple asynchronous callback queue.
Definition: vrfCallbackQueue.h:32
Definition: remoteStateComponentNetInterface.h:23
PublisherContainer myInterfaces
Definition: remoteObjectManager.h:537
DtReflectedDesignatorList * reflectedDesignatorList() const
Definition: remoteObjectManager.h:162
std::map< makVrf::SimStateID, std::pair< DtReflectedObject *, DtSimObjectNetInterface * > > RemoteInterfacesById
Definition: remoteObjectManager.h:538
ObjectsToCreate myPendingEntityJobs
Definition: remoteObjectManager.h:591
ReflectedObjectToComponentMap myReflectedObjectToComponentMap
Definition: remoteObjectManager.h:549
DtReflectedEntityList * reflectedEntityList() const
Definition: remoteObjectManager.h:147
class DtReflectedControlObjectList:
Definition: reflectedControlObjectList.h:23
DtUUID uuid
Definition: remoteObjectManager.h:587
class DtRemoteObjectManager:
Definition: remoteObjectManager.h:28
DtStateDataManager * stateDataManager()
Definition: remoteObjectManager.h:137
DtReflectedIffList * reflectedIffList() const
Definition: remoteObjectManager.h:197
DtSimulationAddress mySimulationAddress
Definition: remoteObjectManager.h:526
DtReflectedNavAidList * reflectedNavAidTransmitterList() const
Definition: remoteObjectManager.h:182
std::map< DtString, DtStateData * > UnhostedStateData
Definition: remoteObjectManager.h:567
std::set< DtGlobalObjectDesignator > myJustDeleted
Definition: remoteObjectManager.h:579
Definition: objectType.h:27
std::map< makVrf::SimStateID, InterfacesByReflectedObjectMap > RemoteInterfacesMapById
Definition: remoteObjectManager.h:76
CreationInfo()
Definition: remoteObjectManager.h:584
tbb::atomic< int > myJobCount
Definition: remoteObjectManager.h:580
std::set< DtReflectedObject * > myConvertingToLocal
Definition: remoteObjectManager.h:576
DtReflectedRadioReceiverList * reflectedRadioReceiverList() const
Definition: remoteObjectManager.h:187
The overall structure of the DtStateData mechanism is: The DtStateData contains a list of double buff...
Definition: stateData.h:339
std::unordered_set< unsigned long long > myStateDataToRemove
Definition: remoteObjectManager.h:572
std::map< DtString, StateComponentVector > UnhostedComponents
Definition: remoteObjectManager.h:557
class DtReflectedNavAidList:
Definition: reflectedNavAidListDIS.h:19
int defaultObjectTimeout() const
Definition: remoteObjectManager.h:113
UnhostedComponents myUnhostedComponents
Definition: remoteObjectManager.h:558
DtReflectedObjectLists myReflectedLists
Definition: remoteObjectManager.h:514
DtReflectedActiveSonarList * reflectedActiveSonarList() const
Definition: remoteObjectManager.h:167
RemoteInterfacesById myRemoteInterfacesById
Definition: remoteObjectManager.h:539
DtVrlinkNetworkInterface * myVrlinkNetworkInterface
Definition: remoteObjectManager.h:525
Instances of DtReflectedDynamicTerrain are used to represent a simulated HLAobjectRoot.DynamicTerrain object reflected across a network.
Definition: reflectedDynamicTerrainDIS.h:32
Definition: remoteObjectManager.h:582
DtStateData * myDynamicTerrainStateData
Definition: remoteObjectManager.h:554
RemoteInterfacesByReflectedObject myRemoteInterfacesByReflectedObject
Definition: remoteObjectManager.h:552
DtVrfParameterDb * myParameterDatabase
Definition: remoteObjectManager.h:559
DtExerciseConn * exerciseConnection() const
Definition: remoteObjectManager.h:214
The reflected object for a NavAid transmitter.
Definition: reflectedNavAidDIS.h:27
DtTimedSection myDiscoveryTimer
Definition: remoteObjectManager.h:594
Definition: remoteObjectManager.h:529
bool timeoutProcessingDisabled() const
Definition: remoteObjectManager.h:118
boost::signals2::connection deleteObjectConnection
Definition: remoteObjectManager.h:543
ObjectsToCreate myPendingEnvironmentalJobs
Definition: remoteObjectManager.h:593
DtReflectedDynamicTerrainList * reflectedDynamicTerrainList() const
Definition: remoteObjectManager.h:192
Definition: reflectedVrfExtControlObjectList.h:23
tbb::spin_mutex myInterfacesMutex
Definition: remoteObjectManager.h:536
DT_DLL_DEBUGDRAWRENDERER void init(makVrv::DtDe &de)
Work function for the plugin initialization.
std::map< DtReflectedObject *, DtSimObjectNetInterface * > InterfacesByReflectedObjectMap
Definition: remoteObjectManager.h:75
bool myEnabled
Definition: remoteObjectManager.h:524
DtReflectedEnvironmentProcessList * reflectedEnvironmentProcessList() const
Definition: remoteObjectManager.h:157
std::map< DtReflectedObject *, CreationInfo > ObjectsToCreate
Definition: remoteObjectManager.h:590
const DtReflectedObjectLists & reflectedLists() const
Definition: remoteObjectManager.h:202
Definition: reflectedObjectLists.h:148
std::map< DtString, std::vector< DtReflectedObject * > > AwaitingReflectedTransmitters
Because radios and nav aid are both discovered in their own lists, have a pending list for each to ch...
Definition: remoteObjectManager.h:563
This is a simple base class that will be used to return a pointer to current or next frame state...
Definition: stateComponent.h:291
DtReflectedAggregateList * reflectedAggregateList() const
Definition: remoteObjectManager.h:152
Definition: reflectedVrfExtAggregateList.h:23
This class holds the state data that represents each simulation object in the system.
Definition: stateDataManager.h:73

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)