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);
95 virtual void setNumCallbackThreads(
unsigned);
98 virtual std::string protocol()
const;
104 virtual void removeManager(
const char*);
107 virtual bool hasNetworkManager(
const char*)
const;
110 virtual bool typeIsPublishable(
const DtEntityType&)
const;
116 virtual void printDataToStream(
const DtUUID&, DtOutputStream&)
const;
119 virtual void setInterest(
const DtVector& geocentricCenter,
double radius);
122 virtual void reserve(
unsigned numToReserve);
125 virtual void printReflectedObjectCounts()
const;
129 virtual void requestUpdatesForRemoteNonVrfObjects()
const;
134 return myCommunicationManager;
138 virtual void setEnabled(
bool);
145 virtual void setRunFullyThreaded(
bool);
155 virtual unsigned int maxNameLengthForType(
const DtObjectType&)
const;
158 virtual void setVrfSessionId(
int);
161 virtual void setVrfMessageVersionSupported(
int);
164 return myVrfMessageVersionSupported;
168 virtual void startScenarioLoad(
bool);
171 virtual void endScenarioLoad(
bool);
174 virtual void setFrameRateMode(
const DtString&
mode,
double deltaTime,
bool manageTime =
false);
177 virtual void rewindScenario();
183 virtual void pause();
186 virtual void setExerciseStartTime(
double);
189 virtual void setSimTime(
double);
192 virtual void setTimeMultiplier(
double);
195 virtual void setSiteAppId(
int,
int);
198 return mySimulationAddress;
203 return myNetworkManagers.size();
207 virtual double determineSimTime(
double& dt);
220 virtual void resetSimulation();
226 virtual void removeAndDeleteAll();
230 virtual bool needsUnpublishedDatabase()
const;
233 virtual bool publishingOnLegionNetwork()
const;
236 virtual bool selfReflecting()
const;
240 virtual void setSelfReflecting(
bool);
243 virtual bool rediscoverObjects();
245 virtual void beginBulkCreate();
246 virtual void endBulkCreate();
UUID is a unique ID wrapper class.
Definition: rwUUID.h:226
int myVrfSessionId
Definition: networkInterfaceManager.h:273
boost::signals2::signal< void(DtNetworkManagerInterface *)> signal_interfaceAdded
Signal sent when an interface is added.
Definition: networkInterfaceManager.h:250
DtString myFrameRateMode
Definition: networkInterfaceManager.h:281
Instances of DtVrfParameterDb are the database of DtVrfObjectParameters objects used in the construct...
Definition: vrfParameterDb.h:38
DtSimulationAddress mySimulationAddress
Definition: networkInterfaceManager.h:275
Definition: scenario.h:52
std::vector< DtNetworkManagerInterface * > myNetworkManagers
Definition: networkInterfaceManager.h:266
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:279
double mySimTime
Definition: networkInterfaceManager.h:278
makVrf::DtStateDataManager * stateDataManager() const
Definition: networkInterfaceManager.h:60
bool enabled() const
Definition: networkInterfaceManager.h:139
int vrfMessageVersionSupported() const
Definition: networkInterfaceManager.h:162
double myFrameDeltaTime
Definition: networkInterfaceManager.h:282
DtVrfParameterDb * myParameterDb
Definition: networkInterfaceManager.h:272
double dT() const
Definition: networkInterfaceManager.h:73
Definition: objectType.h:27
bool runFullyThreaded() const
Definition: networkInterfaceManager.h:146
bool myOwnsCoordinateSystem
Definition: networkInterfaceManager.h:271
boost::signals2::signal< void(DtNetworkManagerInterface *)> signal_interfaceRemoved
Signal sent when an interface is removed.
Definition: networkInterfaceManager.h:253
bool myRunFullyThreaded
Definition: networkInterfaceManager.h:268
DtCommunicationManager * communicationManager()
Definition: networkInterfaceManager.h:132
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:269
The DtCommunicationManager class is a convenience class that will create both the DtNetworkInterfaceM...
Definition: communicationManager.h:51
boost::signals2::scoped_connection myStateDataAddedConnection
Definition: networkInterfaceManager.h:288
int numManagers() const
Definition: networkInterfaceManager.h:201
static DtNetworkInterfaceManagerCreatorFcn theNetworkInterfaceManagerCreatorFcn
Definition: networkInterfaceManager.h:285
int myVrfMessageVersionSupported
Definition: networkInterfaceManager.h:274
int myNumberOfCallbackThreads
Definition: networkInterfaceManager.h:276
Definition: asyncJobServer.h:39
const DtSimulationAddress & simulationAddress() const
Definition: networkInterfaceManager.h:196
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:289
DtCommunicationManager * myCommunicationManager
Definition: networkInterfaceManager.h:286
const char int mode
Definition: ioapi.h:38
double simTime() const
Definition: networkInterfaceManager.h:68
makVrfEvents::DtEventManager * myEventManager
Definition: networkInterfaceManager.h:284
#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:270
makVrf::DtStateDataManager * myStateDataManager
Definition: networkInterfaceManager.h:267
This class holds the state data that represents each simulation object in the system.
Definition: stateDataManager.h:71