10 #include "vlpi/simulationAddress.h"
11 #include <boost/signals2.hpp>
12 #include <vlutil/vlPrint.h>
26 class DtStateDataManager;
29 namespace makVrfEvents
63 return myStateDataManager;
67 virtual void beginFrame(
double simTime,
double dt);
80 virtual bool isConnectionless()
const;
84 virtual bool preAdvanceFrame();
88 virtual void advanceFrame(
double* networkFrameTime =
nullptr);
100 virtual void setNumCallbackThreads(
unsigned);
103 virtual std::string protocol()
const;
109 virtual void removeManager(
const char*);
112 virtual bool hasNetworkManager(
const char*)
const;
115 virtual bool typeIsPublishable(
const DtEntityType&)
const;
121 virtual void printDataToStream(
const DtUUID&, DtOutputStream&)
const;
124 virtual void setInterest(
const DtVector& geocentricCenter,
double radius);
127 virtual void reserve(
unsigned numToReserve);
130 virtual void printReflectedObjectCounts()
const;
134 virtual void requestUpdatesForRemoteNonVrfObjects()
const;
139 return myCommunicationManager;
143 virtual void setEnabled(
bool);
150 virtual void setRunFullyThreaded(
bool);
160 virtual unsigned int maxNameLengthForType(
const DtObjectType&)
const;
163 virtual void setVrfSessionId(
int);
166 virtual void setVrfMessageVersionSupported(
int);
169 return myVrfMessageVersionSupported;
173 virtual void startScenarioLoad(
bool);
176 virtual void endScenarioLoad(
bool);
179 virtual void setFrameRateMode(
const DtString&
mode,
double deltaTime,
bool manageTime =
false);
182 virtual void rewindScenario();
188 virtual void pause();
191 virtual void setExerciseStartTime(
double);
194 virtual void setSimTime(
double);
197 virtual void setTimeMultiplier(
double);
200 virtual void setSiteAppId(
int,
int);
203 return mySimulationAddress;
208 return myNetworkManagers.size();
225 virtual void resetSimulation();
231 virtual void removeAndDeleteAll();
235 virtual bool needsUnpublishedDatabase()
const;
238 virtual bool publishingOnLegionNetwork()
const;
241 virtual bool selfReflecting()
const;
245 virtual void setSelfReflecting(
bool);
248 virtual bool rediscoverObjects();
250 virtual void beginBulkCreate();
251 virtual void endBulkCreate();
UUID is a unique ID wrapper class.
Definition: rwUUID.h:229
int myVrfSessionId
Definition: networkInterfaceManager.h:278
boost::signals2::signal< void(DtNetworkManagerInterface *)> signal_interfaceAdded
Signal sent when an interface is added.
Definition: networkInterfaceManager.h:255
DtString myFrameRateMode
Definition: networkInterfaceManager.h:286
Instances of DtVrfParameterDb are the database of DtVrfObjectParameters objects used in the construct...
Definition: vrfParameterDb.h:38
DtSimulationAddress mySimulationAddress
Definition: networkInterfaceManager.h:280
Definition: scenario.h:52
std::vector< DtNetworkManagerInterface * > myNetworkManagers
Definition: networkInterfaceManager.h:271
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:284
double mySimTime
Definition: networkInterfaceManager.h:283
makVrf::DtStateDataManager * stateDataManager() const
Definition: networkInterfaceManager.h:61
bool enabled() const
Definition: networkInterfaceManager.h:144
int vrfMessageVersionSupported() const
Definition: networkInterfaceManager.h:167
double myFrameDeltaTime
Definition: networkInterfaceManager.h:287
DtVrfParameterDb * myParameterDb
Definition: networkInterfaceManager.h:277
double dT() const
Definition: networkInterfaceManager.h:74
Definition: objectType.h:27
bool runFullyThreaded() const
Definition: networkInterfaceManager.h:151
bool myOwnsCoordinateSystem
Definition: networkInterfaceManager.h:276
boost::signals2::signal< void(DtNetworkManagerInterface *)> signal_interfaceRemoved
Signal sent when an interface is removed.
Definition: networkInterfaceManager.h:258
bool myRunFullyThreaded
Definition: networkInterfaceManager.h:273
DtCommunicationManager * communicationManager()
Definition: networkInterfaceManager.h:137
DtNetworkManagerInterface is the base class which all network interfaces must be derived from...
Definition: networkManagerInterface.h:41
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:37
bool myEnabled
Definition: networkInterfaceManager.h:274
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:293
int numManagers() const
Definition: networkInterfaceManager.h:206
static DtNetworkInterfaceManagerCreatorFcn theNetworkInterfaceManagerCreatorFcn
Definition: networkInterfaceManager.h:290
int myVrfMessageVersionSupported
Definition: networkInterfaceManager.h:279
int myNumberOfCallbackThreads
Definition: networkInterfaceManager.h:281
Definition: asyncJobServer.h:39
const DtSimulationAddress & simulationAddress() const
Definition: networkInterfaceManager.h:201
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:45
boost::signals2::scoped_connection myStateDataRemovedConnection
Definition: networkInterfaceManager.h:294
DtCommunicationManager * myCommunicationManager
Definition: networkInterfaceManager.h:291
const char int mode
Definition: ioapi.h:38
double simTime() const
Definition: networkInterfaceManager.h:69
makVrfEvents::DtEventManager * myEventManager
Definition: networkInterfaceManager.h:289
#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:275
makVrf::DtStateDataManager * myStateDataManager
Definition: networkInterfaceManager.h:272
This class holds the state data that represents each simulation object in the system.
Definition: stateDataManager.h:71