19 #include <vl/globalObjectDesignator.h>
20 #include <vl/vrlinkStateStateRepository.h>
21 #include <tbb/spin_mutex.h>
22 #include <tbb/mutex.h>
26 #include <tbb/tbb_thread.h>
27 #include <boost/function.hpp>
39 class DtGeoReferenceVariant;
43 class DtRemoteObjectManager;
44 class DtVrfEntityIdentifierFactory;
45 class DtVrlinkNetworkInterface;
46 class DtVrlinkEventTranslatorManager;
47 class DtVrlinkEventTranslator;
48 class DtStateDataManager;
50 class DtHlaExerciseClock;
80 virtual void beginFrame(
double)
override;
81 virtual bool preAdvanceFrame()
override;
82 virtual void advanceFrame(
double* networkTime =
nullptr)
override;
85 virtual void setBlockOnUnfinishedRemoteDiscovery(
bool);
88 return myBlockOnUnfinishedRemoteDiscovery;
94 virtual const char*
type()
const {
return Type(); };
95 static const char*
Type() {
return "vrlink-network-interface"; };
98 virtual bool printDataToStream(
const DtUUID&, DtOutputStream&
stream)
const;
101 virtual void setInterest(
const DtVector& geocentricCenter,
double radius);
116 virtual DtUUID uuidForGeoReferenceVariant(
const DtGeoReferenceVariant& georeference)
const;
117 virtual DtStateData* stateDataForGeoReferenceVariant(
const DtGeoReferenceVariant&)
const;
118 virtual void mapStateDataByGeoReferenceVariant(
DtStateData* std,
const DtGeoReferenceVariant& grv);
119 virtual bool unmapStateDataByGeoReferenceVariant(
const DtGeoReferenceVariant& grv);
121 virtual void setExerciseStartTime(
double);
122 virtual void setSimTime(
double);
123 virtual void setTimeMultiplier(
double);
126 virtual void resetSimulation();
130 virtual void setControlsDrainInput(
bool);
131 bool controlsDrainInput()
const;
136 return std::string(
"DIS");
137 #elif DDtHLA_1516_EVOLVED == 1
138 return std::string(
"HLA1516e");
139 #elif DDtHLA_1516 == 1
140 return std::string(
"HLA1516");
141 #else //This is HLA13
142 return std::string(
"HLA13");
147 virtual bool runningInTimeManagedMode()
const;
154 static void startTimeManagement(
void* usr);
155 static void stopTimeManagement(
void* usr);
159 virtual void processStartTimeManagement();
160 virtual void processStopTimeManagement();
163 virtual void setReflectedListRequestUpdates(
bool yesOrNo);
167 virtual void setMetocPublishingEnabled(
bool);
174 virtual void setDisableRemoteDiscovery(
bool);
177 return myDisableRemoteDiscovery;
181 virtual void setDefaultObjectTimeout(
int);
184 return myDefaultObjectTimeout;
186 virtual void setDisableTimeoutProcessing(
bool);
189 return myDisableTimeoutProcessing;
192 struct ComponentRuleUserData
210 typedef boost::function<bool (const DtStateComponent*, const DtStateData*, std::shared_ptr<ComponentRuleUserData>)>
CreationRule;
212 const DtString& testBeforeInterface =
"");
215 virtual bool createInterfaceIfComponentIs(
const DtStateComponent* c,
const DtStateData* d, std::shared_ptr<ComponentRuleUserData>);
220 virtual void reserveEntityId(
const DtEntityIdentifier&);
222 virtual void setRunFullyThreaded(
bool);
223 virtual bool runFullyThreaded()
const;
225 virtual void setEnabled(
bool);
230 return myCoordinateSystem;
235 return myExerciseConnection;
238 virtual void removeAndDeleteAll();
239 virtual bool wantsToSelfReflect(
unsigned int)
const;
242 virtual bool selfReflecting()
const;
250 return myParameterDatabase;
253 virtual unsigned int maxNameLengthForType(
const DtObjectType&)
const;
256 virtual void setVrfSessionId(
int);
259 return myVrfSessionId;
263 virtual void setVrfMessageVersionSupported(
int);
266 return myVrfMessageVersionSupported;
271 virtual void setPublishZeroVelocityWhenPaused(
bool);
274 return myPublishZeroVelocityWhenPaused;
284 return mySimMgmtPduProcessLevel;
287 virtual void setSimMgmtPduProcessLevel(
unsigned int level);
292 virtual void setDeadReckoningAlgorithmToStaticOnPause(
bool);
295 return mySetDeadReckoningAlgorithmToStaticOnPause;
299 virtual void overrideDeadReckoningAlgorithm(
int drAlg);
303 virtual bool isDeadReckonAlgorithmOverridden(
int& drAlg)
const;
307 virtual void removeDeadReckoningAlgorithmOverride();
309 virtual DtEntityIdentifier nextEntityIdentifier(
const DtStateData* = 0,
const DtEntityIdentifier& = DtEntityIdentifier());
311 virtual DtEntityIdentifier objectIdentifierFor(
SimStateID)
const;
312 virtual DtEntityIdentifier objectIdentifierFor(
const DtUUID&)
const;
315 virtual DtEntityIdentifier globalObjectIdentifierFor(
const DtUUID&)
const;
316 virtual DtEntityIdentifier globalObjectIdentifierFor(
SimStateID)
const;
322 virtual DtUUID uuidForObjectIdentifier(
const DtEntityIdentifier&)
const;
328 virtual void setSiteAppId(
int,
int);
332 virtual DtString nextEventId(
const DtString& entId = DtString::nullString())
override;
334 virtual int setAppIdRangeMax(
int);
339 virtual void startScenarioLoad(
bool);
342 virtual void endScenarioLoad(
bool);
350 virtual double simTime()
const;
352 virtual void setMaxDrainInputTime(
double maxTime);
353 virtual double maxDrainInputTime()
const;
355 virtual void setFrameRateMode(
const DtString&
mode,
double deltaTime,
bool manageTime =
false);
356 virtual void rewindScenario();
359 virtual void setMinDrainInputTime(
double minTime);
360 virtual double minDrainInputTime()
const;
362 virtual void setFrameDeltaTime(
double);
363 virtual double frameDeltaTime()
const;
365 virtual void beginBulkCreate()
override;
366 virtual void endBulkCreate()
override;
368 virtual void setMaxDrainInputReads(
int maxReads);
369 virtual int maxDrainInputReads()
const;
376 virtual void removeEventTranslator(
int eventType);
384 virtual void pause();
396 return myEventManager;
401 return myCommunicationManager;
406 return myRemoteObjectManager;
412 virtual void setNumCallbackThreads(
unsigned);
415 virtual void setNumRemoteCallbackThreads(
unsigned);
417 virtual void addDefaultNetworkInterface(
const DtEntityType&,
const DtString& local,
const DtString& remote);
418 virtual void removeDefaultNetworkInterface(
const DtEntityType&);
425 virtual void setUseNetworkThread(
bool);
426 virtual bool usingNetworkThread()
const;
429 virtual void setDisableParallelPublisherTick(
bool);
430 virtual bool disableParallelPublisherTick()
const;
434 virtual void setTickPublishersDuringEntityTick(
bool);
435 virtual bool tickPublishersDuringEntityTick()
const;
439 virtual void reserve(
unsigned numToReserve);
442 virtual bool willRediscoverObjects()
const;
451 return myNetworkFrameTime;
454 virtual void setSendMessagesInNetworkProcess(
bool);
457 return mySendMessagesInNetworkProcess;
460 #if DtHLA_1516_EVOLVED
461 virtual void setAutoReserve(
int);
463 int autoReserve()
const;
465 virtual bool isNameReserved(
const DtString& name)
const;
466 virtual bool isNameReservationPending(
const DtString& name)
const;
472 virtual DtString nextGlobalObjectId(
const DtString& defaultId = DtString::nullString());
477 virtual void setLimitSizeToMtu(
bool limitToMtu);
478 virtual bool limitSizeToMtu()
const;
482 virtual unsigned maxInteractionSize()
const;
487 virtual void sendQueuedMessages();
496 virtual void reserveGlobalObjectIds(
unsigned numToReserve);
527 virtual void slot_prepareForHandoff(
DtStateData*,
bool becomingLocal);
530 virtual void stateDataAboutToBeRemoved(
const DtStateData*);
532 virtual void printReflectedObjectCounts()
const;
536 virtual void requestUpdatesForRemoteNonVrfObjects()
const;
539 void createExerciseClock(
int clockMode = 0);
541 virtual void drainInput();
545 virtual void cleanupNetworkThread();
547 virtual void runNetwork();
548 virtual void resolvePendingIds();
551 virtual void createAndInitRemoteObjectManager();
554 virtual bool rediscoverObjects();
559 virtual void stateDataManagerDeleted();
561 #if DtHLA_1516_EVOLVED
562 virtual void reservedNamesSuceeded(
const std::set<std::wstring>& theNames);
566 virtual void reservedNamesFailed(
const std::set<std::wstring>& theNames);
568 static void nameSetReservationSucceededCb(
const std::set<std::wstring>& nameSet,
570 static void nameSetReservationFailedCb(
const std::set<std::wstring>& nameSet,
575 virtual void setExecutionState(DtVRLExecutionStatus status);
586 typedef std::map<SimStateID, DtSimObjectNetInterface*>
Publishing;
647 #if DtHLA_1516_EVOLVED
648 std::set<DtGlobalObjectDesignator> myReservedGlobalIds;
649 std::set<DtGlobalObjectDesignator> myPendingReservedGlobalIds;
650 tbb::queuing_mutex myGlobalIdReserveMutex;
655 int myMaxDrainInputReads;
690 bool runNetworkInThread =
false;
691 bool publishWhileTicking =
false;
692 bool timeManagementDataSet =
false;
693 int networkCallbackThreads = -1;
705 bool myDisableTimeoutProcessing =
false;
731 bool myEnteredTimeManagedMode =
false;
GlobalIdForNetworkInterface myGlobalIdForNetworkInterface
Definition: vrlinkNetworkInterface.h:597
DtReflectedObjectLists myReflectedObjectLists
Definition: vrlinkNetworkInterface.h:711
UUID is a unique ID wrapper class.
Definition: uuid.h:59
Instances of DtVrfObjectParameters are the readable/writeable objects that contain the information ne...
Definition: vrfObjectParameters.h:63
DtExerciseConn * myExerciseConnection
Definition: vrlinkNetworkInterface.h:579
DtFilename myFastForwardSettingsFile
Fast forward settings file.
Definition: vrlinkNetworkInterface.h:659
DtVrfEntityIdentifierFactory * myEntityIdentifierFactory
Definition: vrlinkNetworkInterface.h:638
bool setDeadReckoningAlgorithmToStaticOnPause() const
Definition: vrlinkNetworkInterface.h:293
bool metocPublishingEnabled() const
Definition: vrlinkNetworkInterface.h:168
unsigned long long SimStateID
Definition: stateDataTypes.h:16
std::auto_ptr< tbb::tbb_thread > myNetworkThread
Member variables used to interact with the remote objects reading.
Definition: vrlinkNetworkInterface.h:674
DtHlaExerciseClock * myExerciseClock
Definition: vrlinkNetworkInterface.h:643
virtual bool publishingOnLegionNetwork() const
Whether or not this interface publishes on the legion network.
Definition: vrlinkNetworkInterface.h:557
static const char * Type()
Definition: vrlinkNetworkInterface.h:95
Instances of DtVrfParameterDb are the database of DtVrfObjectParameters objects used in the construct...
Definition: vrfParameterDb.h:40
virtual int vrfSessionId() const
Definition: vrlinkNetworkInterface.h:257
unsigned int simMgmtPduProcessLevel() const
Set/Get the type of receiver ids to process when processing a sim mgmt PDU 1={*,*,*}&{*,*,0} <- wildcarded recipients 2={a,b,0} <- specific ids only 3= both 1 and 2.
Definition: vrlinkNetworkInterface.h:282
std::map< DtGlobalObjectDesignator, DtSimObjectNetInterface * > GlobalIdForNetworkInterface
Definition: vrlinkNetworkInterface.h:596
const Coordinate_System * myCoordinateSystem
Definition: vrlinkNetworkInterface.h:624
bool myScenarioLoaded
Definition: vrlinkNetworkInterface.h:723
DtString local
Definition: vrlinkNetworkInterface.h:66
Definition: scenario.h:52
DtDefaultSimulationModelSetValidatorManager mySimulationModelSetValidator
Definition: vrlinkNetworkInterface.h:661
Default implementation that will add protocol and state data validators (contained in this header fil...
Definition: defaultSimulationModelSetValidatorManager.h:19
virtual bool needsUnpublishedDatabase() const
Return true if this connection uses the simulation database to publish on (as a legion connection doe...
Definition: vrlinkNetworkInterface.h:514
DtString remote
Definition: vrlinkNetworkInterface.h:67
virtual int vrfMessageVersionSupported() const
Definition: vrlinkNetworkInterface.h:264
unsigned int StateComponentType
Definition: stateComponent.h:55
int myVrfMessageVersionSupported
Definition: vrlinkNetworkInterface.h:628
DT_DLL_VRVCORE DtTaitBryan level(const DtCoordinateSystem &cs, const DtVector &localOrigin, double topoHeading)
Returns a level orientation with the topographic heading.
std::vector< makVrfEvents::DtEvent * > myQueuedMessagesToSend
Definition: vrlinkNetworkInterface.h:718
bool mySetDeadReckoningAlgorithmToStaticOnPause
Definition: vrlinkNetworkInterface.h:633
The DtEventManager handles the sending and receipt of system events (fire, detonate, command, etc). It provides a thread-safe way for the sim engine to send and receive such events, between both components within this sim engine and other remote applications.
Definition: eventManager.h:33
std::map< DtStateComponent *, DtSimObjectNetInterface * > StateComponentsPublishing
Definition: vrlinkNetworkInterface.h:589
ComponentCreationRules myComponentCreationRules
Definition: vrlinkNetworkInterface.h:622
static DtVrlinkNetworkInterfaceCreatorFcn theCreator
Definition: vrlinkNetworkInterface.h:662
bool myBlockOnUnfinishedRemoteDiscovery
Definition: vrlinkNetworkInterface.h:634
int myVrfSessionId
Definition: vrlinkNetworkInterface.h:627
CreationRule creationRule
Definition: vrlinkNetworkInterface.h:616
makVrfEvents::DtEventManager * myEventManager
Definition: vrlinkNetworkInterface.h:639
Definition: fastForwardSettings.h:12
double myFrameDeltaTime
Definition: vrlinkNetworkInterface.h:645
Simple asynchronous callback queue.
Definition: vrfCallbackQueue.h:32
This class will, in DIS or HLA, generate the unique id necessary to pass into the object publisher to...
Definition: vrfObjectIdGenerator.h:22
double myNextFrameSimTime
Definition: vrlinkNetworkInterface.h:698
tbb::spin_rw_mutex myStateDataMutex
Definition: vrlinkNetworkInterface.h:594
Definition: vrfEntityIdentifierFactory.h:21
bool myIsDeadReckonAlgorithmOverridden
Definition: vrlinkNetworkInterface.h:631
std::atomic< bool > myShutdownNetworkThreadFlag
Definition: vrlinkNetworkInterface.h:677
DtExerciseConn * exerciseConnection()
Definition: vrlinkNetworkInterface.h:233
int myAppIdRangeMax
Definition: vrlinkNetworkInterface.h:637
class DtRemoteObjectManager:
Definition: remoteObjectManager.h:28
tbb::mutex myNetworkThreadMutex
Definition: vrlinkNetworkInterface.h:679
DtCommunicationManager * communicationManager()
Definition: vrlinkNetworkInterface.h:399
Given a component type, sets the publisher creator for that component. Set DtString::nullString() to ...
Definition: vrlinkNetworkInterface.h:196
class DtVrlinkNetworkInterface:
Definition: vrlinkNetworkInterface.h:60
bool myReflectedListRequestUpdatesOn
Definition: vrlinkNetworkInterface.h:687
Definition: objectType.h:27
tbb::mutex ConditionMutex
Definition: vrlinkNetworkInterface.h:670
int myDeadReckonOverrideAlgorithm
Definition: vrlinkNetworkInterface.h:632
bool publishZeroVelocityWhenPaused() const
Definition: vrlinkNetworkInterface.h:272
StateDataByEntityId myStateDataByEntityId
Definition: vrlinkNetworkInterface.h:608
ComponentsPublishing myComponentsPublishing
Definition: vrlinkNetworkInterface.h:591
virtual bool typeIsPublishable(const DtEntityType &) const
Returns true if the entity type is publishable by this connection.
Definition: vrlinkNetworkInterface.h:390
virtual void setSelfReflecting(bool)
No-op. Once the connection is created the self reflecting cannot be changed.
Definition: vrlinkNetworkInterface.h:245
tbb::interface5::unique_lock< ConditionMutex > ConditionLock
Definition: vrlinkNetworkInterface.h:671
double myMaxDrainInputTime
Definition: vrlinkNetworkInterface.h:640
unsigned int myBulkCreateTickCounter
Definition: vrlinkNetworkInterface.h:722
std::map< DtString, DtStateData * > StateDataByEntityId
Definition: vrlinkNetworkInterface.h:607
DtNetworkManagerInterface is the base class which all network interfaces must be derived from...
Definition: networkManagerInterface.h:42
Definition: coordSystem.h:54
DtRemoteObjectManager * myRemoteObjectManager
Definition: vrlinkNetworkInterface.h:599
The overall structure of the DtStateData mechanism is: The DtStateData contains a list of double buff...
Definition: stateData.h:339
int myDefaultObjectTimeout
Definition: vrlinkNetworkInterface.h:704
Definition: vrlinkNetworkInterface.h:688
ComponentTypeUserData(DtStateComponent::StateComponentType t)
Definition: vrlinkNetworkInterface.h:203
bool myEnabled
Definition: vrlinkNetworkInterface.h:581
ConditionMutex myStartNetworkConditionMutex
Definition: vrlinkNetworkInterface.h:676
DtVrlinkNetworkInterface *(* DtVrlinkNetworkInterfaceCreatorFcn)(DtExerciseConn *, bool)
Definition: vrlinkNetworkInterface.h:53
The DtCommunicationManager class is a convenience class that will create both the DtNetworkInterfaceM...
Definition: communicationManager.h:51
bool myRunFullyThreaded
Definition: vrlinkNetworkInterface.h:582
std::map< DtString, DtStateData * > StateDataByGlobalId
Definition: vrlinkNetworkInterface.h:602
Class Description: DtSimObjectNetInterface.
Definition: simObjectNetInterface.h:50
double myCurrentFrameSimTime
Definition: vrlinkNetworkInterface.h:699
DtVrfObjectIdGenerator * myVrfObjectIdGenerator
Definition: vrlinkNetworkInterface.h:726
DtPublisherContainer< DtSimObjectNetInterface > PublisherContainer
Definition: vrlinkNetworkInterface.h:72
std::map< SimStateID, DtSimObjectNetInterface * > Publishing
Definition: vrlinkNetworkInterface.h:586
bool myBulkCreateInProgress
Defaults to 4.
Definition: vrlinkNetworkInterface.h:721
bool myPublishZeroVelocityWhenPaused
Definition: vrlinkNetworkInterface.h:630
DtOrderedEntityTypeList< DefaultNetworkInterfaceEntry * > DefaultNetworkInterfaceEntries
Definition: vrlinkNetworkInterface.h:708
Definition: vrlinkEventTranslatorManager.h:28
#define DT_DLL_vrlinkNetworkInterface
This file is used to determine how to build.
Definition: vrlinkNetworkInterfaceDefines.h:24
unsigned int mySimMgmtPduProcessLevel
Definition: vrlinkNetworkInterface.h:665
ComponentTypeUserData(const ComponentTypeUserData &orig)
Definition: vrlinkNetworkInterface.h:204
bool timeoutProcessingDisabled() const
Definition: vrlinkNetworkInterface.h:187
bool sendMessagesInNetworkProcess() const
Definition: vrlinkNetworkInterface.h:455
double myMinDrainInputTime
Definition: vrlinkNetworkInterface.h:644
DtVrfCallbackQueue * myNetworkCallbackQueue
Definition: vrlinkNetworkInterface.h:678
std::vector< ComponentCreationRule > ComponentCreationRules
Definition: vrlinkNetworkInterface.h:621
int myNumNetworkWorkerThreads
Definition: vrlinkNetworkInterface.h:719
bool myLimitSizeToMtu
Definition: vrlinkNetworkInterface.h:725
double myNetworkFrameTime
Definition: vrlinkNetworkInterface.h:714
tbb::queuing_rw_mutex myPublishingMutex
Definition: vrlinkNetworkInterface.h:593
Condition myStartNetworkCondition
Definition: vrlinkNetworkInterface.h:675
DtCommunicationManager * myCommunicationManager
Definition: vrlinkNetworkInterface.h:667
bool blockOnUnfinishedRemoteDiscovery() const
Definition: vrlinkNetworkInterface.h:86
Definition: vrlinkNetworkInterface.h:201
tbb::spin_mutex myQueuedMessagesToSendMutex
Definition: vrlinkNetworkInterface.h:717
DtVrfParameterDb * parameterDatabase() const
Definition: vrlinkNetworkInterface.h:248
DtFastForwardSettings myFastForwardSettings
Definition: vrlinkNetworkInterface.h:660
Definition: asyncJobServer.h:39
DtRemoteObjectManager * remoteObjectManager()
Definition: vrlinkNetworkInterface.h:404
bool myMetocPublishingEnabled
Definition: vrlinkNetworkInterface.h:684
Publishing myPublishing
Definition: vrlinkNetworkInterface.h:587
TimeManagementData myTimeManagementData
Definition: vrlinkNetworkInterface.h:696
Definition: vrlinkNetworkInterface.h:614
Definition: stateComponent.h:51
voidpf stream
Definition: ioapi.h:39
bool disableRemoteDiscovery() const
Definition: vrlinkNetworkInterface.h:175
PublisherContainer myTickableInterfaces
Definition: vrlinkNetworkInterface.h:584
bool myDisableRemoteDiscovery
Definition: vrlinkNetworkInterface.h:681
DtRemoteObjectManager *(* DtRemoteObjectManagerCreatorFcn)(DtVrlinkNetworkInterface *)
Definition: vrlinkNetworkInterface.h:54
virtual double networkFrameTime() const
Time spent in the network frame.
Definition: vrlinkNetworkInterface.h:449
bool mySendMessagesInNetworkProcess
Definition: vrlinkNetworkInterface.h:716
std::set< DtStateData * > myPendingEntityIds
Definition: vrlinkNetworkInterface.h:609
DtVrlinkEventTranslatorManager * myVrlinkEventTranslatorManager
Definition: vrlinkNetworkInterface.h:663
DT_DLL_DEBUGDRAWRENDERER void init(makVrv::DtDe &de)
Work function for the plugin initialization.
const char int mode
Definition: ioapi.h:38
tbb::spin_mutex myEventIdMutex
Definition: vrlinkNetworkInterface.h:636
bool myTickPublishersInNetworkThread
Definition: vrlinkNetworkInterface.h:683
int defaultObjectTimeout() const
Definition: vrlinkNetworkInterface.h:182
Definition: hlaExerciseClock.h:35
DefaultNetworkInterfaceEntries myDefaultNetworkInterfaceEntries
Definition: vrlinkNetworkInterface.h:709
std::atomic< bool > myStartNetworkThread
Definition: vrlinkNetworkInterface.h:701
StateDataByGlobalId myStateDataByGlobalId
Definition: vrlinkNetworkInterface.h:603
DtString networkInterface
Definition: vrlinkNetworkInterface.h:617
const Coordinate_System * coordinateSystem() const
Definition: vrlinkNetworkInterface.h:228
double myLastSetSimTime
Definition: vrlinkNetworkInterface.h:700
makVrfEvents::DtEventManager * eventManager()
Definition: vrlinkNetworkInterface.h:394
DtVrfParameterDb * myParameterDatabase
Definition: vrlinkNetworkInterface.h:626
bool myControlsDrainInput
Definition: vrlinkNetworkInterface.h:682
std::map< DtGeoReferenceVariant, DtStateData * > StateDataByGeoreferenceVariant
Definition: vrlinkNetworkInterface.h:611
PublisherContainer myNeedsPublishersCreated
Definition: vrlinkNetworkInterface.h:583
std::set< DtStateData * > myPendingGlobalIds
Definition: vrlinkNetworkInterface.h:604
virtual std::string protocol() const override
Descriptive text of the network protocol.
Definition: vrlinkNetworkInterface.h:133
Definition: reflectedObjectLists.h:148
Contains the DtStateComponent class declaration.
std::set< DtStateComponent * > myCreateNetInterfaceFor
Definition: vrlinkNetworkInterface.h:664
virtual ComponentRuleUserData * clone() const
Definition: vrlinkNetworkInterface.h:198
std::map< SimStateID, StateComponentsPublishing > ComponentsPublishing
Definition: vrlinkNetworkInterface.h:590
DtStateDataManager * myStateDataManager
Definition: vrlinkNetworkInterface.h:580
Definition: vrlinkNetworkInterface.h:63
Definition: vrlinkEventTranslator.h:28
static DtRemoteObjectManagerCreatorFcn theRemoteObjectManagerCreatorFcn
Definition: vrlinkNetworkInterface.h:728
std::shared_ptr< ComponentRuleUserData > userData
Definition: vrlinkNetworkInterface.h:618
virtual const char * type() const
Type to uniquely identify this manager.
Definition: vrlinkNetworkInterface.h:94
tbb::interface5::condition_variable Condition
Definition: vrlinkNetworkInterface.h:669
virtual bool hasSimulationTime() const
Return true if this network interface also deals with simulation time.
Definition: vrlinkNetworkInterface.h:510
boost::function< bool(const DtStateComponent *, const DtStateData *, std::shared_ptr< ComponentRuleUserData >)> CreationRule
Definition: vrlinkNetworkInterface.h:210
std::vector< DtSimObjectNetInterface * > myInterfacesToDelete
Definition: vrlinkNetworkInterface.h:713
StateDataByGeoreferenceVariant myStateDataByGeoreferenceVariant
Definition: vrlinkNetworkInterface.h:612
Description: The Exercise Clock keeps track of current simulated time. When 'ticked', it advances simulation time based on elapsed real time since the last time it was ticked and a time-multiplier that allows the exercise clock to run faster or slower than real-time. The exercise clock also supports a pause/resume capability.
Definition: exerciseClock.h:27
This class holds the state data that represents each simulation object in the system.
Definition: stateDataManager.h:73