10 #include "vlpi/simulationAddress.h"
12 #include <boost/signals2.hpp>
13 #include <vlutil/vlPrint.h>
28 class DtStateDataManager;
31 namespace makVrfEvents
65 return myStateDataManager;
69 virtual void beginFrame(
double simTime,
double dt);
82 virtual bool isConnectionless()
const;
86 virtual bool preAdvanceFrame();
89 virtual bool waitingToAddObjects()
const;
93 virtual void advanceFrame(
double* networkFrameTime =
nullptr);
105 virtual void setNumCallbackThreads(
unsigned);
108 virtual std::string protocol()
const;
114 virtual void removeManager(
const char*);
117 virtual bool hasNetworkManager(
const char*)
const;
120 virtual bool typeIsPublishable(
const DtEntityType&)
const;
123 virtual DtU32 scenarioCapabilities()
const;
124 virtual void setScenarioCapabilities(DtU32);
130 virtual void printDataToStream(
const DtUUID&, DtOutputStream&)
const;
133 virtual bool hasNetworkRepresentation(
const DtUUID&)
const;
136 virtual void setInterest(
const DtVector& geocentricCenter,
double radius);
139 virtual bool supportsOwnershipTransfer()
const;
142 virtual void reserve(
unsigned numToReserve);
145 virtual void printReflectedObjectCounts()
const;
149 virtual void requestUpdatesForRemoteNonVrfObjects()
const;
154 return myCommunicationManager;
158 virtual void setEnabled(
bool);
165 virtual void setRunFullyThreaded(
bool);
175 virtual unsigned int maxNameLengthForType(
const DtEntityType&)
const;
178 virtual void setVrfSessionId(
int);
181 virtual void setVrfMessageVersionSupported(
int);
184 return myVrfMessageVersionSupported;
188 virtual void startScenarioLoad(
bool);
191 virtual void endScenarioLoad(
bool);
194 virtual void setFrameRateMode(
const DtString&
mode,
double deltaTime,
bool manageTime =
false);
197 virtual void rewindScenario();
203 virtual void pause();
206 virtual void setExerciseStartTime(
double);
209 virtual void setSimTime(
double);
212 virtual void setTimeMultiplier(
double);
215 virtual void setSiteAppId(
int,
int);
218 return mySimulationAddress;
223 return myNetworkManagers.size();
240 virtual void resetSimulation();
246 virtual void removeAndDeleteAll(
const std::set<DtUUID>& except = std::set<DtUUID>());
250 virtual bool needsUnpublishedDatabase()
const;
253 virtual bool publishingOnLegionNetwork()
const;
256 virtual bool selfReflecting()
const;
260 virtual void setSelfReflecting(
bool);
263 virtual bool rediscoverObjects();
265 virtual void beginBulkCreate();
266 virtual void endBulkCreate();
269 virtual void reserveEntityId(
const DtEntityIdentifier&);
UUID is a unique ID wrapper class.
Definition: uuid.h:59
int myVrfSessionId
Definition: networkInterfaceManager.h:296
boost::signals2::signal< void(DtNetworkManagerInterface *)> signal_interfaceAdded
Signal sent when an interface is added.
Definition: networkInterfaceManager.h:273
DtU32 myScenarioCapabilities
Definition: networkInterfaceManager.h:314
DtString myFrameRateMode
Definition: networkInterfaceManager.h:304
Instances of DtVrfParameterDb are the database of DtVrfObjectParameters objects used in the construct...
Definition: vrfParameterDb.h:41
DtSimulationAddress mySimulationAddress
Definition: networkInterfaceManager.h:298
Definition: scenario.h:52
std::vector< DtNetworkManagerInterface * > myNetworkManagers
Definition: networkInterfaceManager.h:289
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:302
Contains the DtUUID class declaration.
double mySimTime
Definition: networkInterfaceManager.h:301
makVrf::DtStateDataManager * stateDataManager() const
Definition: networkInterfaceManager.h:63
bool enabled() const
Definition: networkInterfaceManager.h:159
int vrfMessageVersionSupported() const
Definition: networkInterfaceManager.h:182
double myFrameDeltaTime
Definition: networkInterfaceManager.h:305
DtVrfParameterDb * myParameterDb
Definition: networkInterfaceManager.h:295
double dT() const
Definition: networkInterfaceManager.h:76
bool runFullyThreaded() const
Definition: networkInterfaceManager.h:166
bool myOwnsCoordinateSystem
Definition: networkInterfaceManager.h:294
boost::signals2::signal< void(DtNetworkManagerInterface *)> signal_interfaceRemoved
Signal sent when an interface is removed.
Definition: networkInterfaceManager.h:276
bool myRunFullyThreaded
Definition: networkInterfaceManager.h:291
DtCommunicationManager * communicationManager()
Definition: networkInterfaceManager.h:152
DtNetworkManagerInterface is the base class which all network interfaces must be derived from...
Definition: networkManagerInterface.h:43
Definition: coordSystem.h:54
The overall structure of the DtStateData mechanism is: The DtStateData contains a list of double buff...
Definition: stateData.h:398
DtNetworkInterfaceManager *(* DtNetworkInterfaceManagerCreatorFcn)(makVrf::DtStateDataManager *)
Definition: networkInterfaceManager.h:39
bool myEnabled
Definition: networkInterfaceManager.h:292
The DtCommunicationManager class is a convenience class that will create both the DtNetworkInterfaceM...
Definition: communicationManager.h:54
boost::signals2::scoped_connection myStateDataAddedConnection
Definition: networkInterfaceManager.h:311
int numManagers() const
Definition: networkInterfaceManager.h:221
static DtNetworkInterfaceManagerCreatorFcn theNetworkInterfaceManagerCreatorFcn
Definition: networkInterfaceManager.h:308
int myVrfMessageVersionSupported
Definition: networkInterfaceManager.h:297
int myNumberOfCallbackThreads
Definition: networkInterfaceManager.h:299
Definition: asyncJobServer.h:39
const DtSimulationAddress & simulationAddress() const
Definition: networkInterfaceManager.h:216
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:47
boost::signals2::scoped_connection myStateDataRemovedConnection
Definition: networkInterfaceManager.h:312
DtCommunicationManager * myCommunicationManager
Definition: networkInterfaceManager.h:309
const char int mode
Definition: ioapi.h:38
double simTime() const
Definition: networkInterfaceManager.h:71
makVrfEvents::DtEventManager * myEventManager
Definition: networkInterfaceManager.h:307
#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:293
makVrf::DtStateDataManager * myStateDataManager
Definition: networkInterfaceManager.h:290
This class holds the state data that represents each simulation object in the system.
Definition: stateDataManager.h:73