21 #include <boost/function.hpp>
26 class DtSimulationAddress;
37 class DtBaseSimulation;
65 class DtVrfBackEndState;
66 class DtLocalWeatherManager;
91 virtual bool backEndsPresent()
const;
94 virtual bool anyBackendsLoading()
const;
97 virtual bool anyBackendsCreatingSimulationObjectGroup()
const;
100 virtual bool anyBackendsClosing()
const;
103 virtual bool allBackendsClosingOrClosed()
const;
106 virtual bool anyBackendsLoaded()
const;
109 virtual bool allBackendsLoaded()
const;
112 virtual bool backendLoaded(
const DtSimulationAddress&)
const;
115 virtual bool backendSaving(
const DtSimulationAddress&)
const;
118 virtual bool anyBackendsPlaying()
const;
121 virtual bool anyBackendsInControlState(
int state)
const;
124 virtual bool hasDynamicTerrainServer()
const;
127 virtual DtSimulationAddress firstBackendThatCanSimulate()
const;
130 virtual bool allBackendsCanSimulate()
const;
133 virtual bool anyBackendCanSimulate()
const;
136 virtual bool backendCanSimulate(
const DtSimulationAddress&)
const;
139 virtual void duplicateBackendDiscovered(
const DtSimulationAddress&);
142 virtual double timeMultiplier()
const;
150 virtual void removeAllBackends();
151 virtual void addBackend(
const DtBackend*);
152 virtual void backendRemoved(
const DtSimulationAddress&);
153 virtual void backendUpdated(
const DtSimulationAddress&,
const DtBackend*);
160 return mySimulationStatus;
165 virtual const DtSimulationAddress& selectedBackend()
const;
167 virtual void setSelectedBackend(
const DtSimulationAddress&);
170 virtual void simulationAddresses(std::set<std::string>&);
172 virtual int numberOfBackends()
const;
175 virtual void clearSelectedBackend();
185 virtual DtSimulationAddress preferredBackendAddress()
const;
188 virtual double simTime()
const;
191 virtual double runDurationTime()
const;
194 virtual int scenarioRunId()
const;
198 virtual double timeOfDay()
const;
201 virtual double simStartSimTime()
const;
206 return myBackendStates;
212 return myAllBackendStates;
216 virtual std::map<short, int> currentObjectCounts()
const;
219 virtual const std::map<short, int>& currentObjectCount(
const DtSimulationAddress&)
const;
223 virtual void signalWhenAllBackendsClosed();
226 virtual void signalIfAllBackendsClosed();
231 virtual void signalWhenAllBackendsLoaded();
234 virtual void clearNotificationWhenBackendsLoaded();
238 virtual void signalIfAllBackendsLoaded();
242 virtual void signalWhenAllBackendsSaved();
245 virtual void clearNotificationWhenBackendsSaved();
248 virtual void signalIfAllBackendsSaved(
bool checkpointSave);
251 virtual void setFrameRateMode(
char mode);
254 return mySessionStatus.frameRateMode();
259 return mySessionStatus.scenarioName().c_str();
262 virtual void setSessionScenario(
const std::string&);
266 return mySessionStatus.scenarioFilename().c_str();
269 virtual void setSessionScenarioFilename(
const std::string&);
273 return mySessionStatus.guiTerrainName().c_str();
276 virtual void setSessionGuiTerrain(
const std::string&);
280 return mySessionStatus.terrainName().c_str();
283 virtual void setSessionSimTerrain(
const std::string&);
287 return mySessionStatus.simulationModelSets();
295 virtual time_t dateAndTimeOfDay()
const;
296 virtual void setDateAndTimeOfDay(time_t);
297 virtual void resetDateAndTimeOfDay();
311 virtual void pingServer(
const DtSimulationAddress&);
312 virtual bool pingReceived(
const DtSimulationAddress&)
const;
313 virtual double latency(
const DtSimulationAddress&)
const;
315 virtual DtIfPing* pingForServer(
const DtSimulationAddress&)
const;
342 virtual double simTimeFromBackend()
const;
344 virtual void updateDateAndTimeOfDay();
345 virtual void slot_dateAndTimeOfDayChanged(
int year,
int month,
int day,
int hours,
int mins,
int secs);
350 virtual void simulationBackendUpdated(DtSimulationAddress,
int);
351 virtual void duplicateSimulationBackendDiscovered(DtSimulationAddress);
354 virtual void processLoadCompleteCallback(
DtSimMessage*);
355 virtual void processSaveCompleteCallback(
DtSimMessage*);
358 virtual void backendSaved(
const std::string&,
bool checkpointSave);
360 virtual void setBackendSaving(
const DtSimulationAddress&,
bool b);
363 virtual void updateSessionInformation(
int sessionFlags = 0);
366 virtual void clear();
406 typedef std::map<std::string, DtIfPing*>
Pings;
std::map< std::string, bool > myRollingBackMap
Definition: vrfSimBackendManager.h:388
Definition: vrfBackendState.h:69
bool myCloseProcessStarted
Definition: vrfSimBackendManager.h:398
const int DtSessionScenarioRollingBack
Definition: vrfSimBackendManager.h:56
const int DtSessionChangedTerrain
Flags for session changing (and what changed)
Definition: vrfSimBackendManager.h:41
const int DtSessionScenarioChangedFrameRateMode
Definition: vrfSimBackendManager.h:61
DtLocalWeatherManager * myLocalWeatherManager
Definition: vrfSimBackendManager.h:401
DtSimulationStatus
Definition: backend.h:26
const int DtSessionScenarioJustClosed
Definition: vrfSimBackendManager.h:46
bool mySignalWhenAllBackendsSaved
Definition: vrfSimBackendManager.h:375
boost::signals2::signal< void(const DtSimulationAddress &old, const DtSimulationAddress &newaddr)> signal_selectedBackendChanged
Definition: vrfSimBackendManager.h:328
Contains makVrv::DtSimData class.
const int DtSessionScenarioSaveSimulationObjectGroup
Definition: vrfSimBackendManager.h:52
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:382
boost::signals2::signal< void(const DtVrfBackendState &)> signal_nonSimulationBackendDiscovered
Definition: vrfSimBackendManager.h:322
virtual const std::map< std::string, bool > backendsLoading() const
Definition: vrfSimBackendManager.h:299
const int DtSessionScenarioClosing
Definition: vrfSimBackendManager.h:47
DtVrfSimBackendStates myBackendStates
Definition: vrfSimBackendManager.h:370
std::map< std::string, bool > myClosingMap
Definition: vrfSimBackendManager.h:385
std::map< std::string, bool > myImportingMap
Definition: vrfSimBackendManager.h:389
const int DtSessionScenarioReinitializing
Definition: vrfSimBackendManager.h:59
DtSimulationStatus mySimulationStatus
Definition: vrfSimBackendManager.h:402
const int DtSessionScenarioJustRolledBack
Definition: vrfSimBackendManager.h:55
std::map< std::string, DtIfPing * > Pings
Definition: vrfSimBackendManager.h:406
const int DtSessionScenarioErrorLoading
Definition: vrfSimBackendManager.h:49
std::map< std::string, bool > myJustRolledBackMap
Definition: vrfSimBackendManager.h:387
const int DtSessionScenarioLoading
Definition: vrfSimBackendManager.h:48
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:316
boost::signals2::signal< void(int)> signal_sessionUpdated
Definition: vrfSimBackendManager.h:326
const int DtSessionScenarioJustReinitialized
Definition: vrfSimBackendManager.h:60
Definition: localWeatherManager.h:36
#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:239
const DtVrfSimBackendStates & allBackendStates() const
All backend states (regadless of DtScenarioCapabilities_CreateObjects capability) ...
Definition: vrfSimBackendManager.h:210
DtSimulationAddress mySelectedBackend
Definition: vrfSimBackendManager.h:372
const DtVrfSimBackendStates & backendStates() const
These are only that backend states that can be simulated on (i.e has the DtScenarioCapabilities_Creat...
Definition: vrfSimBackendManager.h:204
boost::signals2::signal< void(const DtVrfBackendState &)> signal_backendDiscovered
Definition: vrfSimBackendManager.h:321
std::set< std::string > myBackendWasClosing
Definition: vrfSimBackendManager.h:391
bool myInSaveCallback
Definition: vrfSimBackendManager.h:399
const int DtSessionChangedScenario
Definition: vrfSimBackendManager.h:42
double myLastSimTime
Definition: vrfSimBackendManager.h:395
DtSessionStatus mySessionStatus
Definition: vrfSimBackendManager.h:381
std::map< std::string, DtVrfBackendState * > DtVrfSimBackendStates
Definition: vrfSimBackendManager.h:80
std::string sessionScenario() const
Definition: vrfSimBackendManager.h:257
std::map< std::string, bool > myJustClosedMap
Definition: vrfSimBackendManager.h:386
const int DtSessionScenarioImporting
Definition: vrfSimBackendManager.h:50
std::map< std::string, bool > myAlreadyDuplicateWarned
Definition: vrfSimBackendManager.h:377
std::map< std::string, bool > myCreatingSimulationObjectGroupMap
Definition: vrfSimBackendManager.h:390
char frameRateMode() const
Definition: vrfSimBackendManager.h:252
std::map< std::string, bool > myLoadingMap
Definition: vrfSimBackendManager.h:383
const int DtSessionChangedSimTerrain
Definition: vrfSimBackendManager.h:58
std::map< std::string, bool > myNeedToLoad
Definition: vrfSimBackendManager.h:378
virtual const std::map< std::string, bool > backendsClosing() const
Definition: vrfSimBackendManager.h:304
File: simMsg.h.
Definition: simMessage.h:35
std::set< std::string > myWarnDuplicateOnAdd
Definition: vrfSimBackendManager.h:392
class DtIfPing:
Definition: ifPing.h:18
std::map< std::string, char > myBackendsWaitingForSave
Definition: vrfSimBackendManager.h:376
boost::signals2::signal< void(const DtVrfBackendState &)> signal_duplicateSimulationAddress
Definition: vrfSimBackendManager.h:327
const int DtSessionSimulationStateChanged
Definition: vrfSimBackendManager.h:57
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
const int DtSessionScenarioJustSavedSimulationObjectGroup
Definition: vrfSimBackendManager.h:53
bool myBackendsAlreadyLoaded
Definition: vrfSimBackendManager.h:404
const int DtSessionScenarioJustLoaded
Definition: vrfSimBackendManager.h:44
const int DtSessionChangedScenarioFilename
Definition: vrfSimBackendManager.h:54
makVrv::DtBaseSimulation * mySimulation
Definition: vrfSimBackendManager.h:369
bool mySignalWhenAllBackendsLoaded
Definition: vrfSimBackendManager.h:374
boost::signals2::signal< void(bool)> signal_allBackendsSaved
Definition: vrfSimBackendManager.h:249
const int DtSessionChangedNumberBEs
Definition: vrfSimBackendManager.h:43
Pings myPings
Definition: vrfSimBackendManager.h:407
const int DtSessionChangedSimulationModelSets
Definition: vrfSimBackendManager.h:45
std::set< std::string > myNeedToSave
Definition: vrfSimBackendManager.h:379
The class that is the interface between the GUI and the back-end.
Definition: queuedManager.h:27
double myDateAndTimeOfDay
Definition: vrfSimBackendManager.h:396
Base class to provide boost signal/slot management.
const std::vector< DtFilename > & simulationModelSets() const
Definition: vrfSimBackendManager.h:285
Maintains and signals state of the simulation engines that are currently connected to the GUI...
Definition: vrfSimBackendManager.h:77
const char int mode
Definition: ioapi.h:38
makVrv::DtSignalConnectionManager myConnectionManager
Definition: vrfSimBackendManager.h:397
boost::signals2::signal< void(const DtVrfBackendState &)> signal_frameRatesUpdated
Definition: vrfSimBackendManager.h:320
boost::signals2::signal< void(const DtVrfBackendState &)> signal_backendRemoved
Definition: vrfSimBackendManager.h:323
boost::signals2::signal< void()> signal_allBackendsClosed
Definition: vrfSimBackendManager.h:227
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:70
boost::signals2::signal< void(const DtVrfBackendState &)> signal_nonSimulationBackenRemoved
Definition: vrfSimBackendManager.h:324
bool mySignalWhenAllBackendsClosed
Definition: vrfSimBackendManager.h:373
virtual DtSimulationStatus simulationStatus() const
Returns the current simulation status of all the back-ends in the simulation. See backend...
Definition: vrfSimBackendManager.h:158
DtVrfSimBackendStates myAllBackendStates
Definition: vrfSimBackendManager.h:371
const int DtSessionScenarioJustImported
Definition: vrfSimBackendManager.h:51
std::string sessionScenarioFilename() const
Definition: vrfSimBackendManager.h:264
std::map< std::string, bool > myReinitializingMap
Definition: vrfSimBackendManager.h:384
boost::signals2::signal< void(const DtSimulationAddress &)> signal_objectCountsChanged
Definition: vrfSimBackendManager.h:331
boost::signals2::signal< void()> signal_allBackendsAboutToBeRemoved
Definition: vrfSimBackendManager.h:329
std::string sessionGuiTerrain() const
Definition: vrfSimBackendManager.h:271
std::string sessionSimTerrain() const
Definition: vrfSimBackendManager.h:278
boost::signals2::signal< void(const DtVrfBackendState &, int)> signal_backendUpdated
Definition: vrfSimBackendManager.h:325
boost::signals2::signal< void(DtSimulationStatus)> signal_simulationStatusChanged
Definition: vrfSimBackendManager.h:330
double mySimTime
Definition: vrfSimBackendManager.h:394