10 #include "vlpi/simulationAddress.h"
11 #include <boost/signals2.hpp>
12 #include <vlutil/vlPrint.h>
25 class DtStateDataManager;
28 namespace makVrfEvents
62 return myStateDataManager;
66 virtual void beginFrame(
double simTime,
double dt);
79 virtual bool isConnectionless()
const;
83 virtual bool preAdvanceFrame();
87 virtual void advanceFrame(
double* networkFrameTime =
nullptr);
99 virtual void setNumCallbackThreads(
unsigned);
102 virtual std::string protocol()
const;
108 virtual void removeManager(
const char*);
111 virtual bool hasNetworkManager(
const char*)
const;
114 virtual bool typeIsPublishable(
const DtEntityType&)
const;
120 virtual void printDataToStream(
const DtUUID&, DtOutputStream&)
const;
123 virtual void setInterest(
const DtVector& geocentricCenter,
double radius);
126 virtual void reserve(
unsigned numToReserve);
129 virtual void printReflectedObjectCounts()
const;
133 virtual void requestUpdatesForRemoteNonVrfObjects()
const;
138 return myCommunicationManager;
142 virtual void setEnabled(
bool);
149 virtual void setRunFullyThreaded(
bool);
159 virtual unsigned int maxNameLengthForType(
const DtObjectType&)
const;
162 virtual void setVrfSessionId(
int);
165 virtual void setVrfMessageVersionSupported(
int);
168 return myVrfMessageVersionSupported;
172 virtual void startScenarioLoad(
bool);
175 virtual void endScenarioLoad(
bool);
178 virtual void setFrameRateMode(
const DtString&
mode,
double deltaTime,
bool manageTime =
false);
181 virtual void rewindScenario();
187 virtual void pause();
190 virtual void setExerciseStartTime(
double);
193 virtual void setSimTime(
double);
196 virtual void setTimeMultiplier(
double);
199 virtual void setSiteAppId(
int,
int);
202 return mySimulationAddress;
207 return myNetworkManagers.size();
211 virtual double determineSimTime(
double& dt);
224 virtual void resetSimulation();
230 virtual void removeAndDeleteAll();
234 virtual bool needsUnpublishedDatabase()
const;
237 virtual bool publishingOnLegionNetwork()
const;
240 virtual bool selfReflecting()
const;
244 virtual void setSelfReflecting(
bool);
247 virtual bool rediscoverObjects();
249 virtual void beginBulkCreate();
250 virtual void endBulkCreate();
UUID is a unique ID wrapper class.
Definition: rwUUID.h:229
int myVrfSessionId
Definition: networkInterfaceManager.h:277
boost::signals2::signal< void(DtNetworkManagerInterface *)> signal_interfaceAdded
Signal sent when an interface is added.
Definition: networkInterfaceManager.h:254
DtString myFrameRateMode
Definition: networkInterfaceManager.h:285
Instances of DtVrfParameterDb are the database of DtVrfObjectParameters objects used in the construct...
Definition: vrfParameterDb.h:38
DtSimulationAddress mySimulationAddress
Definition: networkInterfaceManager.h:279
Definition: scenario.h:52
std::vector< DtNetworkManagerInterface * > myNetworkManagers
Definition: networkInterfaceManager.h:270
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
double myDt
Definition: networkInterfaceManager.h:283
double mySimTime
Definition: networkInterfaceManager.h:282
makVrf::DtStateDataManager * stateDataManager() const
Definition: networkInterfaceManager.h:60
bool enabled() const
Definition: networkInterfaceManager.h:143
int vrfMessageVersionSupported() const
Definition: networkInterfaceManager.h:166
double myFrameDeltaTime
Definition: networkInterfaceManager.h:286
DtVrfParameterDb * myParameterDb
Definition: networkInterfaceManager.h:276
double dT() const
Definition: networkInterfaceManager.h:73
Definition: objectType.h:27
bool runFullyThreaded() const
Definition: networkInterfaceManager.h:150
bool myOwnsCoordinateSystem
Definition: networkInterfaceManager.h:275
boost::signals2::signal< void(DtNetworkManagerInterface *)> signal_interfaceRemoved
Signal sent when an interface is removed.
Definition: networkInterfaceManager.h:257
bool myRunFullyThreaded
Definition: networkInterfaceManager.h:272
DtCommunicationManager * communicationManager()
Definition: networkInterfaceManager.h:136
DtNetworkManagerInterface is the base class which all network interfaces must be derived from...
Definition: networkManagerInterface.h:40
Definition: coordSystem.h:54
The overall structure of the DtStateData mechanism is: The DtStateData contains a list of double buff...
Definition: stateData.h:336
DtNetworkInterfaceManager *(* DtNetworkInterfaceManagerCreatorFcn)(makVrf::DtStateDataManager *)
Definition: networkInterfaceManager.h:36
bool myEnabled
Definition: networkInterfaceManager.h:273
The DtCommunicationManager class is a convenience class that will create both the DtNetworkInterfaceM...
Definition: communicationManager.h:50
boost::signals2::scoped_connection myStateDataAddedConnection
Definition: networkInterfaceManager.h:292
int numManagers() const
Definition: networkInterfaceManager.h:205
static DtNetworkInterfaceManagerCreatorFcn theNetworkInterfaceManagerCreatorFcn
Definition: networkInterfaceManager.h:289
int myVrfMessageVersionSupported
Definition: networkInterfaceManager.h:278
int myNumberOfCallbackThreads
Definition: networkInterfaceManager.h:280
Definition: asyncJobServer.h:39
const DtSimulationAddress & simulationAddress() const
Definition: networkInterfaceManager.h:200
The DtNetworkInterfaceManager manages all network interfaces utilized by the sim engine. Often there is only one, but it is possible for there to be multiple. Each network interface is an instance of a subclass of DtNetworkManagerInterface. As state data is created or removed, the DtNetworkInterfaceManager will notify each of its network interfaces, so that they may create object network interfaces to output required state data to the network.
Definition: networkInterfaceManager.h:44
boost::signals2::scoped_connection myStateDataRemovedConnection
Definition: networkInterfaceManager.h:293
DtCommunicationManager * myCommunicationManager
Definition: networkInterfaceManager.h:290
const char int mode
Definition: ioapi.h:38
double simTime() const
Definition: networkInterfaceManager.h:68
makVrfEvents::DtEventManager * myEventManager
Definition: networkInterfaceManager.h:288
#define DT_DLL_vrfMsgTransport
This file is used to determine how to build Disable inconsistent dll linkage warning Visual Studio 6...
Definition: vrfCommunicationManagerDefines.h:26
const Coordinate_System * myCoordinateSystem
Definition: networkInterfaceManager.h:274
makVrf::DtStateDataManager * myStateDataManager
Definition: networkInterfaceManager.h:271
This class holds the state data that represents each simulation object in the system.
Definition: stateDataManager.h:71