20 #include <boost/function.hpp>
25 class DtSimulationAddress;
36 class DtBaseSimulation;
67 class DtVrfBackEndState;
68 class DtLocalWeatherManager;
93 virtual bool backEndsPresent()
const;
96 virtual bool anyBackendsLoading()
const;
99 virtual bool anyBackendsCreatingSimulationObjectGroup()
const;
102 virtual bool anyBackendsClosing()
const;
105 virtual bool allBackendsClosingOrClosed()
const;
108 virtual bool anyBackendsLoaded()
const;
111 virtual bool allBackendsLoaded()
const;
114 virtual bool backendLoaded(
const DtSimulationAddress&)
const;
117 virtual bool backendSaving(
const DtSimulationAddress&)
const;
120 virtual bool anyBackendsPlaying()
const;
123 virtual DtList backends()
const;
126 virtual bool anyBackendsInControlState(
int state)
const;
129 virtual bool hasDynamicTerrainServer()
const;
132 virtual DtSimulationAddress firstBackendThatCanSimulate()
const;
135 virtual bool allBackendsCanSimulate()
const;
138 virtual bool anyBackendCanSimulate()
const;
141 virtual bool backendCanSimulate(
const DtSimulationAddress&)
const;
144 virtual void duplicateBackendDiscovered(
const DtSimulationAddress&);
147 virtual double timeMultiplier()
const;
155 virtual void removeAllBackends();
156 virtual void addBackend(
const DtBackend*);
157 virtual void backendRemoved(
const DtSimulationAddress&);
158 virtual void backendUpdated(
const DtSimulationAddress&,
const DtBackend*);
165 return mySimulationStatus;
170 virtual const DtSimulationAddress& selectedBackend()
const;
172 virtual void setSelectedBackend(
const DtSimulationAddress&);
175 virtual void simulationAddresses(std::set<std::string>&);
177 virtual int numberOfBackends()
const;
180 virtual void clearSelectedBackend();
190 virtual DtSimulationAddress preferredBackendAddress()
const;
193 virtual double simTime()
const;
196 virtual double runDurationTime()
const;
199 virtual int scenarioRunId()
const;
203 virtual double timeOfDay()
const;
206 virtual double simStartSimTime()
const;
211 return myBackendStates;
217 return myAllBackendStates;
221 virtual std::map<short, int> currentObjectCounts()
const;
224 virtual const std::map<short, int>& currentObjectCount(
const DtSimulationAddress&)
const;
228 virtual void signalWhenAllBackendsClosed();
231 virtual void signalIfAllBackendsClosed();
236 virtual void signalWhenAllBackendsLoaded();
239 virtual void clearNotificationWhenBackendsLoaded();
243 virtual void signalIfAllBackendsLoaded();
247 virtual void signalWhenAllBackendsSaved();
250 virtual void clearNotificationWhenBackendsSaved();
253 virtual void signalIfAllBackendsSaved(
bool checkpointSave);
256 virtual void setFrameRateMode(
char mode);
259 return mySessionStatus.frameRateMode();
264 return mySessionStatus.scenarioName().c_str();
267 virtual void setSessionScenario(
const std::string&);
271 return mySessionStatus.scenarioFilename().c_str();
274 virtual void setSessionScenarioFilename(
const std::string&);
278 return mySessionStatus.guiTerrainName().c_str();
281 virtual void setSessionGuiTerrain(
const std::string&);
285 return mySessionStatus.terrainName().c_str();
288 virtual void setSessionSimTerrain(
const std::string&);
292 return mySessionStatus.simulationModelSets();
300 virtual time_t dateAndTimeOfDay()
const;
301 virtual void setDateAndTimeOfDay(time_t);
302 virtual void resetDateAndTimeOfDay();
316 virtual void pingServer(
const DtSimulationAddress&);
317 virtual bool pingReceived(
const DtSimulationAddress&)
const;
318 virtual double latency(
const DtSimulationAddress&)
const;
320 virtual DtIfPing* pingForServer(
const DtSimulationAddress&)
const;
344 virtual void tick()
override;
347 virtual double simTimeFromBackend()
const;
349 virtual void updateDateAndTimeOfDay();
350 virtual void slot_dateAndTimeOfDayChanged(
int year,
int month,
int day,
int hours,
int mins,
int secs);
355 virtual void simulationBackendUpdated(DtSimulationAddress,
int);
356 virtual void duplicateSimulationBackendDiscovered(DtSimulationAddress);
359 virtual void processLoadCompleteCallback(
DtSimMessage*);
360 virtual void processSaveCompleteCallback(
DtSimMessage*);
363 virtual void backendSaved(
const std::string&,
bool checkpointSave);
365 virtual void setBackendSaving(
const DtSimulationAddress&,
bool b);
368 virtual void updateSessionInformation(
int sessionFlags = 0);
371 virtual void clear();
412 typedef std::map<std::string, DtIfPing*>
Pings;
std::map< std::string, bool > myRollingBackMap
Definition: vrfSimBackendManager.h:394
Definition: vrfBackendState.h:65
bool myCloseProcessStarted
Definition: vrfSimBackendManager.h:404
const int DtSessionScenarioRollingBack
Definition: vrfSimBackendManager.h:55
const int DtSessionChangedTerrain
Flags for session changing (and what changed)
Definition: vrfSimBackendManager.h:40
const int DtSessionScenarioChangedFrameRateMode
Definition: vrfSimBackendManager.h:60
DtLocalWeatherManager * myLocalWeatherManager
Definition: vrfSimBackendManager.h:407
DtSimulationStatus
Definition: backend.h:26
const int DtSessionScenarioJustClosed
Definition: vrfSimBackendManager.h:45
std::set< std::string > myAllowInfiniteObjects
Definition: vrfSimBackendManager.h:387
bool mySignalWhenAllBackendsSaved
Definition: vrfSimBackendManager.h:380
const int DtBackendAllowInfiniteObjectsChanged
Definition: vrfSimBackendManager.h:63
boost::signals2::signal< void(const DtSimulationAddress &old, const DtSimulationAddress &newaddr)> signal_selectedBackendChanged
Definition: vrfSimBackendManager.h:333
const int DtSessionScenarioSaveSimulationObjectGroup
Definition: vrfSimBackendManager.h:51
DtRwNLengthStringVector is a named, readable/writable vector of strings of arbitrary length...
Definition: rwNLengthStringVector.h:28
std::map< std::string, bool > myJustLoadedMap
Definition: vrfSimBackendManager.h:388
boost::signals2::signal< void(const DtVrfBackendState &)> signal_nonSimulationBackendDiscovered
Definition: vrfSimBackendManager.h:327
virtual const std::map< std::string, bool > backendsLoading() const
Definition: vrfSimBackendManager.h:304
const int DtSessionScenarioClosing
Definition: vrfSimBackendManager.h:46
DtVrfSimBackendStates myBackendStates
Definition: vrfSimBackendManager.h:375
std::map< std::string, bool > myClosingMap
Definition: vrfSimBackendManager.h:391
std::map< std::string, bool > myImportingMap
Definition: vrfSimBackendManager.h:395
const int DtSessionScenarioReinitializing
Definition: vrfSimBackendManager.h:58
DtSimulationStatus mySimulationStatus
Definition: vrfSimBackendManager.h:408
const int DtSessionScenarioJustRolledBack
Definition: vrfSimBackendManager.h:54
std::map< std::string, DtIfPing * > Pings
Definition: vrfSimBackendManager.h:412
const int DtSessionScenarioErrorLoading
Definition: vrfSimBackendManager.h:48
std::map< std::string, bool > myJustRolledBackMap
Definition: vrfSimBackendManager.h:393
const int DtSessionScenarioLoading
Definition: vrfSimBackendManager.h:47
boost::signals2::signal< void(DtSimulationAddress, DtIfPing *)> signal_receivedPing
Handles pinging of the server for requests/responses and whether or not there is a ping...
Definition: vrfSimBackendManager.h:321
boost::signals2::signal< void(int)> signal_sessionUpdated
Definition: vrfSimBackendManager.h:331
const int DtSessionScenarioJustReinitialized
Definition: vrfSimBackendManager.h:59
Definition: localWeatherManager.h:31
#define DT_DLL_VRFGUICORE
Contains DLL export macros.
Definition: vrfGuiCore.h:25
Instances of DtBackend are created and maintained by a DtVrfBackendListener, and are containers for d...
Definition: backend.h:51
Basic container class that holds the status of a session of VRF sim engines.
Definition: sessionStatus.h:21
boost::signals2::signal< void()> signal_allBackendsLoaded
Definition: vrfSimBackendManager.h:244
const DtVrfSimBackendStates & allBackendStates() const
All backend states (regadless of DtScenarioCapabilities_CreateObjects capability) ...
Definition: vrfSimBackendManager.h:215
DtSimulationAddress mySelectedBackend
Definition: vrfSimBackendManager.h:377
const DtVrfSimBackendStates & backendStates() const
These are only that backend states that can be simulated on (i.e has the DtScenarioCapabilities_Creat...
Definition: vrfSimBackendManager.h:209
boost::signals2::signal< void(const DtVrfBackendState &)> signal_backendDiscovered
Definition: vrfSimBackendManager.h:326
std::set< std::string > myBackendWasClosing
Definition: vrfSimBackendManager.h:397
bool myInSaveCallback
Definition: vrfSimBackendManager.h:405
const int DtSessionChangedScenario
Definition: vrfSimBackendManager.h:41
double myLastSimTime
Definition: vrfSimBackendManager.h:401
DtSessionStatus mySessionStatus
Definition: vrfSimBackendManager.h:386
std::map< std::string, DtVrfBackendState * > DtVrfSimBackendStates
Definition: vrfSimBackendManager.h:82
std::string sessionScenario() const
Definition: vrfSimBackendManager.h:262
std::map< std::string, bool > myJustClosedMap
Definition: vrfSimBackendManager.h:392
const int DtSessionScenarioImporting
Definition: vrfSimBackendManager.h:49
std::map< std::string, bool > myAlreadyDuplicateWarned
Definition: vrfSimBackendManager.h:382
std::map< std::string, bool > myCreatingSimulationObjectGroupMap
Definition: vrfSimBackendManager.h:396
char frameRateMode() const
Definition: vrfSimBackendManager.h:257
std::map< std::string, bool > myLoadingMap
Definition: vrfSimBackendManager.h:389
const int DtSessionChangedSimTerrain
Definition: vrfSimBackendManager.h:57
std::map< std::string, bool > myNeedToLoad
Definition: vrfSimBackendManager.h:383
virtual const std::map< std::string, bool > backendsClosing() const
Definition: vrfSimBackendManager.h:309
File: simMsg.h.
Definition: simMessage.h:35
std::set< std::string > myWarnDuplicateOnAdd
Definition: vrfSimBackendManager.h:398
class DtIfPing:
Definition: ifPing.h:18
std::map< std::string, char > myBackendsWaitingForSave
Definition: vrfSimBackendManager.h:381
boost::signals2::signal< void(const DtVrfBackendState &)> signal_duplicateSimulationAddress
Definition: vrfSimBackendManager.h:332
const int DtSessionSimulationStateChanged
Definition: vrfSimBackendManager.h:56
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
const int DtSessionScenarioJustSavedSimulationObjectGroup
Definition: vrfSimBackendManager.h:52
bool myBackendsAlreadyLoaded
Definition: vrfSimBackendManager.h:410
const int DtSessionScenarioJustLoaded
Definition: vrfSimBackendManager.h:43
const int DtSessionChangedScenarioFilename
Definition: vrfSimBackendManager.h:53
makVrv::DtBaseSimulation * mySimulation
Definition: vrfSimBackendManager.h:374
bool mySignalWhenAllBackendsLoaded
Definition: vrfSimBackendManager.h:379
boost::signals2::signal< void(bool)> signal_allBackendsSaved
Definition: vrfSimBackendManager.h:254
const int DtSessionChangedNumberBEs
Definition: vrfSimBackendManager.h:42
Pings myPings
Definition: vrfSimBackendManager.h:413
const int DtSessionChangedSimulationModelSets
Definition: vrfSimBackendManager.h:44
std::set< std::string > myNeedToSave
Definition: vrfSimBackendManager.h:384
The class that is the interface between the GUI and the back-end.
Definition: queuedManager.h:27
double myDateAndTimeOfDay
Definition: vrfSimBackendManager.h:402
Base class to provide boost signal/slot management.
const int DtBackendChangedSimRemoteAttachmentBalancingScheme
Definition: vrfSimBackendManager.h:62
const std::vector< DtFilename > & simulationModelSets() const
Definition: vrfSimBackendManager.h:290
Maintains and signals state of the simulation engines that are currently connected to the GUI...
Definition: vrfSimBackendManager.h:79
const char int mode
Definition: ioapi.h:38
makVrv::DtSignalConnectionManager myConnectionManager
Definition: vrfSimBackendManager.h:403
boost::signals2::signal< void(const DtVrfBackendState &)> signal_frameRatesUpdated
Definition: vrfSimBackendManager.h:325
boost::signals2::signal< void(const DtVrfBackendState &)> signal_backendRemoved
Definition: vrfSimBackendManager.h:328
boost::signals2::signal< void()> signal_allBackendsClosed
Definition: vrfSimBackendManager.h:232
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:76
boost::signals2::signal< void(const DtVrfBackendState &)> signal_nonSimulationBackenRemoved
Definition: vrfSimBackendManager.h:329
bool mySignalWhenAllBackendsClosed
Definition: vrfSimBackendManager.h:378
virtual DtSimulationStatus simulationStatus() const
Returns the current simulation status of all the back-ends in the simulation. See backend...
Definition: vrfSimBackendManager.h:163
DtVrfSimBackendStates myAllBackendStates
Definition: vrfSimBackendManager.h:376
const int DtSessionScenarioJustImported
Definition: vrfSimBackendManager.h:50
std::string sessionScenarioFilename() const
Definition: vrfSimBackendManager.h:269
std::map< std::string, bool > myReinitializingMap
Definition: vrfSimBackendManager.h:390
boost::signals2::signal< void(const DtSimulationAddress &)> signal_objectCountsChanged
Definition: vrfSimBackendManager.h:336
boost::signals2::signal< void()> signal_allBackendsAboutToBeRemoved
Definition: vrfSimBackendManager.h:334
const int DtBackendChangedGuiRuntimeLoadBalancingScheme
Definition: vrfSimBackendManager.h:61
std::string sessionGuiTerrain() const
Definition: vrfSimBackendManager.h:276
std::string sessionSimTerrain() const
Definition: vrfSimBackendManager.h:283
boost::signals2::signal< void(const DtVrfBackendState &, int)> signal_backendUpdated
Definition: vrfSimBackendManager.h:330
boost::signals2::signal< void(DtSimulationStatus)> signal_simulationStatusChanged
Definition: vrfSimBackendManager.h:335
double mySimTime
Definition: vrfSimBackendManager.h:400