21 #include <boost/function.hpp>
26 class DtSimulationAddress;
38 class DtBaseSimulation;
65 class DtVrfBackEndState;
66 class DtLocalWeatherManager;
87 virtual bool backEndsPresent()
const;
90 virtual bool anyBackendsLoading()
const;
93 virtual bool anyBackendsCreatingSimulationObjectGroup()
const;
96 virtual bool anyBackendsClosing()
const;
99 virtual bool allBackendsClosingOrClosed()
const;
102 virtual bool anyBackendsLoaded()
const;
105 virtual bool allBackendsLoaded()
const;
108 virtual bool backendLoaded(
const DtSimulationAddress&)
const;
111 virtual bool backendSaving(
const DtSimulationAddress&)
const;
114 virtual bool anyBackendsPlaying()
const;
117 virtual bool anyBackendsInControlState(
int state)
const;
120 virtual bool hasDynamicTerrainServer()
const;
123 virtual DtSimulationAddress firstBackendThatCanSimulate()
const;
126 virtual bool allBackendsCanSimulate()
const;
129 virtual bool anyBackendCanSimulate()
const;
132 virtual bool backendCanSimulate(
const DtSimulationAddress&)
const;
135 virtual void duplicateBackendDiscovered(
const DtSimulationAddress&);
138 virtual double timeMultiplier()
const;
146 virtual void removeAllBackends();
147 virtual void addBackend(
const DtBackend*);
148 virtual void backendRemoved(
const DtSimulationAddress&);
149 virtual void backendUpdated(
const DtSimulationAddress&,
const DtBackend*);
156 return mySimulationStatus;
161 virtual const DtSimulationAddress& selectedBackend()
const;
163 virtual void setSelectedBackend(
const DtSimulationAddress&);
166 virtual void simulationAddresses(std::set<std::string>&);
168 virtual int numberOfBackends()
const;
171 virtual void clearSelectedBackend();
181 virtual DtSimulationAddress preferredBackendAddress()
const;
184 virtual double simTime()
const;
187 virtual double runDurationTime()
const;
190 virtual int scenarioRunId()
const;
194 virtual double timeOfDay()
const;
197 virtual double simStartSimTime()
const;
202 return myBackendStates;
208 return myAllBackendStates;
212 virtual std::map<short, int> currentObjectCounts()
const;
215 virtual const std::map<short, int>& currentObjectCount(
const DtSimulationAddress&)
const;
219 virtual void signalWhenAllBackendsClosed();
222 virtual void signalIfAllBackendsClosed();
227 virtual void signalWhenAllBackendsLoaded();
230 virtual void clearNotificationWhenBackendsLoaded();
234 virtual void signalIfAllBackendsLoaded();
238 virtual void signalWhenAllBackendsSaved();
241 virtual void clearNotificationWhenBackendsSaved();
244 virtual void signalIfAllBackendsSaved(
bool checkpointSave);
249 return mySessionStatus.scenarioName().c_str();
252 virtual void setSessionScenario(
const std::string&);
256 return mySessionStatus.scenarioFilename().c_str();
259 virtual void setSessionScenarioFilename(
const std::string&);
263 return mySessionStatus.guiTerrainName().c_str();
266 virtual void setSessionGuiTerrain(
const std::string&);
270 return mySessionStatus.terrainName().c_str();
273 virtual void setSessionSimTerrain(
const std::string&);
277 return mySessionStatus.simulationModelSets();
285 virtual time_t dateAndTimeOfDay()
const;
286 virtual void setDateAndTimeOfDay(time_t);
287 virtual void resetDateAndTimeOfDay();
322 virtual double simTimeFromBackend()
const;
324 virtual void updateDateAndTimeOfDay();
325 virtual void slot_dateAndTimeOfDayChanged(
int year,
int month,
int day,
int hours,
int mins,
int secs);
330 virtual void simulationBackendUpdated(DtSimulationAddress,
int);
331 virtual void duplicateSimulationBackendDiscovered(DtSimulationAddress);
334 virtual void processLoadCompleteCallback(
DtSimMessage*);
335 virtual void processSaveCompleteCallback(
DtSimMessage*);
338 virtual void backendSaved(
const std::string&,
bool checkpointSave);
340 virtual void setBackendSaving(
const DtSimulationAddress&,
bool b);
343 virtual void updateSessionInformation(
int sessionFlags = 0);
346 virtual void clear();
std::map< std::string, bool > myRollingBackMap
Definition: vrfSimBackendManager.h:368
Definition: vrfBackendState.h:69
bool myCloseProcessStarted
Definition: vrfSimBackendManager.h:378
const int DtSessionScenarioRollingBack
Definition: vrfSimBackendManager.h:57
const int DtSessionChangedTerrain
Flags for session changing (and what changed)
Definition: vrfSimBackendManager.h:42
DtLocalWeatherManager * myLocalWeatherManager
Definition: vrfSimBackendManager.h:381
DtSimulationStatus
Definition: backend.h:26
const int DtSessionScenarioJustClosed
Definition: vrfSimBackendManager.h:47
bool mySignalWhenAllBackendsSaved
Definition: vrfSimBackendManager.h:355
boost::signals2::signal< void(const DtSimulationAddress &old, const DtSimulationAddress &newaddr)> signal_selectedBackendChanged
Definition: vrfSimBackendManager.h:308
Contains makVrv::DtSimData class.
const int DtSessionScenarioSaveSimulationObjectGroup
Definition: vrfSimBackendManager.h:53
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:362
boost::signals2::signal< void(const DtVrfBackendState &)> signal_nonSimulationBackendDiscovered
Definition: vrfSimBackendManager.h:302
class DtIfComplete:
Definition: ifLoadComplete.h:18
virtual const std::map< std::string, bool > backendsLoading() const
Definition: vrfSimBackendManager.h:289
const int DtSessionScenarioClosing
Definition: vrfSimBackendManager.h:48
DtVrfSimBackendStates myBackendStates
Definition: vrfSimBackendManager.h:350
std::map< std::string, bool > myClosingMap
Definition: vrfSimBackendManager.h:365
std::map< std::string, bool > myImportingMap
Definition: vrfSimBackendManager.h:369
const int DtSessionScenarioReinitializing
Definition: vrfSimBackendManager.h:60
DtSimulationStatus mySimulationStatus
Definition: vrfSimBackendManager.h:382
const int DtSessionScenarioJustRolledBack
Definition: vrfSimBackendManager.h:56
const int DtSessionScenarioErrorLoading
Definition: vrfSimBackendManager.h:50
std::map< std::string, bool > myJustRolledBackMap
Definition: vrfSimBackendManager.h:367
const int DtSessionScenarioLoading
Definition: vrfSimBackendManager.h:49
boost::signals2::signal< void(int)> signal_sessionUpdated
Definition: vrfSimBackendManager.h:306
const int DtSessionScenarioJustReinitialized
Definition: vrfSimBackendManager.h:61
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:235
const DtVrfSimBackendStates & allBackendStates() const
All backend states (regadless of DtScenarioCapabilities_CreateObjects capability) ...
Definition: vrfSimBackendManager.h:206
DtSimulationAddress mySelectedBackend
Definition: vrfSimBackendManager.h:352
const DtVrfSimBackendStates & backendStates() const
These are only that backend states that can be simulated on (i.e has the DtScenarioCapabilities_Creat...
Definition: vrfSimBackendManager.h:200
boost::signals2::signal< void(const DtVrfBackendState &)> signal_backendDiscovered
Definition: vrfSimBackendManager.h:301
std::set< std::string > myBackendWasClosing
Definition: vrfSimBackendManager.h:371
bool myInSaveCallback
Definition: vrfSimBackendManager.h:379
const int DtSessionChangedScenario
Definition: vrfSimBackendManager.h:43
double myLastSimTime
Definition: vrfSimBackendManager.h:375
DtSessionStatus mySessionStatus
Definition: vrfSimBackendManager.h:361
std::map< std::string, DtVrfBackendState * > DtVrfSimBackendStates
Definition: vrfSimBackendManager.h:76
std::string sessionScenario() const
Definition: vrfSimBackendManager.h:247
std::map< std::string, bool > myJustClosedMap
Definition: vrfSimBackendManager.h:366
const int DtSessionScenarioImporting
Definition: vrfSimBackendManager.h:51
std::map< std::string, bool > myAlreadyDuplicateWarned
Definition: vrfSimBackendManager.h:357
std::map< std::string, bool > myCreatingSimulationObjectGroupMap
Definition: vrfSimBackendManager.h:370
std::map< std::string, bool > myLoadingMap
Definition: vrfSimBackendManager.h:363
const int DtSessionChangedSimTerrain
Definition: vrfSimBackendManager.h:59
std::map< std::string, bool > myNeedToLoad
Definition: vrfSimBackendManager.h:358
virtual const std::map< std::string, bool > backendsClosing() const
Definition: vrfSimBackendManager.h:294
File: simMsg.h.
Definition: simMessage.h:35
std::set< std::string > myWarnDuplicateOnAdd
Definition: vrfSimBackendManager.h:372
std::map< std::string, char > myBackendsWaitingForSave
Definition: vrfSimBackendManager.h:356
boost::signals2::signal< void(const DtVrfBackendState &)> signal_duplicateSimulationAddress
Definition: vrfSimBackendManager.h:307
const int DtSessionSimulationStateChanged
Definition: vrfSimBackendManager.h:58
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
const int DtSessionScenarioJustSavedSimulationObjectGroup
Definition: vrfSimBackendManager.h:54
bool myBackendsAlreadyLoaded
Definition: vrfSimBackendManager.h:384
const int DtSessionScenarioJustLoaded
Definition: vrfSimBackendManager.h:45
const int DtSessionChangedScenarioFilename
Definition: vrfSimBackendManager.h:55
makVrv::DtBaseSimulation * mySimulation
Definition: vrfSimBackendManager.h:349
bool mySignalWhenAllBackendsLoaded
Definition: vrfSimBackendManager.h:354
boost::signals2::signal< void(bool)> signal_allBackendsSaved
Definition: vrfSimBackendManager.h:245
const int DtSessionChangedNumberBEs
Definition: vrfSimBackendManager.h:44
const int DtSessionChangedSimulationModelSets
Definition: vrfSimBackendManager.h:46
std::set< std::string > myNeedToSave
Definition: vrfSimBackendManager.h:359
The class that is the interface between the GUI and the back-end.
Definition: queuedManager.h:26
double myDateAndTimeOfDay
Definition: vrfSimBackendManager.h:376
Base class to provide boost signal/slot management.
const std::vector< DtFilename > & simulationModelSets() const
Definition: vrfSimBackendManager.h:275
Maintains and signals state of the simulation engines that are currently connected to the GUI...
Definition: vrfSimBackendManager.h:73
makVrv::DtSignalConnectionManager myConnectionManager
Definition: vrfSimBackendManager.h:377
boost::signals2::signal< void(const DtVrfBackendState &)> signal_frameRatesUpdated
Definition: vrfSimBackendManager.h:300
boost::signals2::signal< void(const DtVrfBackendState &)> signal_backendRemoved
Definition: vrfSimBackendManager.h:303
boost::signals2::signal< void()> signal_allBackendsClosed
Definition: vrfSimBackendManager.h:223
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
boost::signals2::signal< void(const DtVrfBackendState &)> signal_nonSimulationBackenRemoved
Definition: vrfSimBackendManager.h:304
bool mySignalWhenAllBackendsClosed
Definition: vrfSimBackendManager.h:353
DtIfSaveComplete is sent from the backend whenever it completes a save.
Definition: ifSaveComplete.h:22
virtual DtSimulationStatus simulationStatus() const
Returns the current simulation status of all the back-ends in the simulation. See backend...
Definition: vrfSimBackendManager.h:154
DtVrfSimBackendStates myAllBackendStates
Definition: vrfSimBackendManager.h:351
const int DtSessionScenarioJustImported
Definition: vrfSimBackendManager.h:52
std::string sessionScenarioFilename() const
Definition: vrfSimBackendManager.h:254
std::map< std::string, bool > myReinitializingMap
Definition: vrfSimBackendManager.h:364
boost::signals2::signal< void(const DtSimulationAddress &)> signal_objectCountsChanged
Definition: vrfSimBackendManager.h:311
boost::signals2::signal< void()> signal_allBackendsAboutToBeRemoved
Definition: vrfSimBackendManager.h:309
std::string sessionGuiTerrain() const
Definition: vrfSimBackendManager.h:261
std::string sessionSimTerrain() const
Definition: vrfSimBackendManager.h:268
boost::signals2::signal< void(const DtVrfBackendState &, int)> signal_backendUpdated
Definition: vrfSimBackendManager.h:305
boost::signals2::signal< void(DtSimulationStatus)> signal_simulationStatusChanged
Definition: vrfSimBackendManager.h:310
double mySimTime
Definition: vrfSimBackendManager.h:374