21 #include <boost/function.hpp>
22 #include <boost/signals2.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;
163 return mySelectedBackend;
166 virtual void setSelectedBackend(
const DtSimulationAddress&);
169 virtual void simulationAddresses(std::set<std::string>&);
171 virtual int numberOfBackends()
const;
174 virtual void clearSelectedBackend();
180 virtual double simTime()
const;
183 virtual double runDurationTime()
const;
186 virtual int scenarioRunId()
const;
190 virtual double timeOfDay()
const;
193 virtual double simStartSimTime()
const;
198 return myBackendStates;
204 return myAllBackendStates;
208 virtual std::map<short, int> currentObjectCounts()
const;
211 virtual const std::map<short, int>& currentObjectCount(
const DtSimulationAddress&)
const;
215 virtual void signalWhenAllBackendsClosed();
218 virtual void signalIfAllBackendsClosed();
223 virtual void signalWhenAllBackendsLoaded();
226 virtual void clearNotificationWhenBackendsLoaded();
230 virtual void signalIfAllBackendsLoaded();
234 virtual void signalWhenAllBackendsSaved();
237 virtual void clearNotificationWhenBackendsSaved();
240 virtual void signalIfAllBackendsSaved(
bool checkpointSave);
245 return mySessionStatus.scenarioName().c_str();
248 virtual void setSessionScenario(
const std::string&);
252 return mySessionStatus.scenarioFilename().c_str();
255 virtual void setSessionScenarioFilename(
const std::string&);
259 return mySessionStatus.guiTerrainName().c_str();
262 virtual void setSessionGuiTerrain(
const std::string&);
266 return mySessionStatus.terrainName().c_str();
269 virtual void setSessionSimTerrain(
const std::string&);
273 return mySessionStatus.simulationModelSets();
281 virtual time_t dateAndTimeOfDay()
const;
282 virtual void setDateAndTimeOfDay(time_t);
283 virtual void resetDateAndTimeOfDay();
317 virtual double simTimeFromBackend()
const;
319 virtual void updateDateAndTimeOfDay();
320 virtual void slot_dateAndTimeOfDayChanged(
int year,
int month,
int day,
int hours,
int mins,
int secs);
325 virtual void simulationBackendUpdated(DtSimulationAddress,
int);
326 virtual void duplicateSimulationBackendDiscovered(DtSimulationAddress);
329 virtual void processLoadCompleteCallback(
DtSimMessage*);
330 virtual void processSaveCompleteCallback(
DtSimMessage*);
333 virtual void backendSaved(
const std::string&,
bool checkpointSave);
335 virtual void setBackendSaving(
const DtSimulationAddress&,
bool b);
338 virtual void updateSessionInformation(
int sessionFlags = 0);
341 virtual void clear();
std::map< std::string, bool > myRollingBackMap
Definition: vrfSimBackendManager.h:363
Definition: vrfBackendState.h:69
bool myCloseProcessStarted
Definition: vrfSimBackendManager.h:373
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:376
DtSimulationStatus
Definition: backend.h:26
const int DtSessionScenarioJustClosed
Definition: vrfSimBackendManager.h:47
bool mySignalWhenAllBackendsSaved
Definition: vrfSimBackendManager.h:350
boost::signals2::signal< void(const DtSimulationAddress &old, const DtSimulationAddress &newaddr)> signal_selectedBackendChanged
Definition: vrfSimBackendManager.h:304
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:357
boost::signals2::signal< void(const DtVrfBackendState &)> signal_nonSimulationBackendDiscovered
Definition: vrfSimBackendManager.h:298
class DtIfComplete:
Definition: ifLoadComplete.h:18
virtual const std::map< std::string, bool > backendsLoading() const
Definition: vrfSimBackendManager.h:285
const int DtSessionScenarioClosing
Definition: vrfSimBackendManager.h:48
DtVrfSimBackendStates myBackendStates
Definition: vrfSimBackendManager.h:345
std::map< std::string, bool > myClosingMap
Definition: vrfSimBackendManager.h:360
std::map< std::string, bool > myImportingMap
Definition: vrfSimBackendManager.h:364
const int DtSessionScenarioReinitializing
Definition: vrfSimBackendManager.h:60
DtSimulationStatus mySimulationStatus
Definition: vrfSimBackendManager.h:377
const int DtSessionScenarioJustRolledBack
Definition: vrfSimBackendManager.h:56
const int DtSessionScenarioErrorLoading
Definition: vrfSimBackendManager.h:50
std::map< std::string, bool > myJustRolledBackMap
Definition: vrfSimBackendManager.h:362
const int DtSessionScenarioLoading
Definition: vrfSimBackendManager.h:49
boost::signals2::signal< void(int)> signal_sessionUpdated
Definition: vrfSimBackendManager.h:302
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:231
const DtVrfSimBackendStates & allBackendStates() const
All backend states (regadless of DtScenarioCapabilities_CreateObjects capability) ...
Definition: vrfSimBackendManager.h:202
DtSimulationAddress mySelectedBackend
Definition: vrfSimBackendManager.h:347
const DtVrfSimBackendStates & backendStates() const
These are only that backend states that can be simulated on (i.e has the DtScenarioCapabilities_Creat...
Definition: vrfSimBackendManager.h:196
boost::signals2::signal< void(const DtVrfBackendState &)> signal_backendDiscovered
Definition: vrfSimBackendManager.h:297
std::set< std::string > myBackendWasClosing
Definition: vrfSimBackendManager.h:366
bool myInSaveCallback
Definition: vrfSimBackendManager.h:374
const int DtSessionChangedScenario
Definition: vrfSimBackendManager.h:43
double myLastSimTime
Definition: vrfSimBackendManager.h:370
DtSessionStatus mySessionStatus
Definition: vrfSimBackendManager.h:356
std::map< std::string, DtVrfBackendState * > DtVrfSimBackendStates
Definition: vrfSimBackendManager.h:76
std::string sessionScenario() const
Definition: vrfSimBackendManager.h:243
std::map< std::string, bool > myJustClosedMap
Definition: vrfSimBackendManager.h:361
const int DtSessionScenarioImporting
Definition: vrfSimBackendManager.h:51
std::map< std::string, bool > myAlreadyDuplicateWarned
Definition: vrfSimBackendManager.h:352
std::map< std::string, bool > myCreatingSimulationObjectGroupMap
Definition: vrfSimBackendManager.h:365
std::map< std::string, bool > myLoadingMap
Definition: vrfSimBackendManager.h:358
const int DtSessionChangedSimTerrain
Definition: vrfSimBackendManager.h:59
std::map< std::string, bool > myNeedToLoad
Definition: vrfSimBackendManager.h:353
virtual const std::map< std::string, bool > backendsClosing() const
Definition: vrfSimBackendManager.h:290
File: simMsg.h.
Definition: simMessage.h:35
std::set< std::string > myWarnDuplicateOnAdd
Definition: vrfSimBackendManager.h:367
std::map< std::string, char > myBackendsWaitingForSave
Definition: vrfSimBackendManager.h:351
boost::signals2::signal< void(const DtVrfBackendState &)> signal_duplicateSimulationAddress
Definition: vrfSimBackendManager.h:303
const int DtSessionSimulationStateChanged
Definition: vrfSimBackendManager.h:58
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:24
const int DtSessionScenarioJustSavedSimulationObjectGroup
Definition: vrfSimBackendManager.h:54
bool myBackendsAlreadyLoaded
Definition: vrfSimBackendManager.h:379
const int DtSessionScenarioJustLoaded
Definition: vrfSimBackendManager.h:45
const int DtSessionChangedScenarioFilename
Definition: vrfSimBackendManager.h:55
makVrv::DtBaseSimulation * mySimulation
Definition: vrfSimBackendManager.h:344
bool mySignalWhenAllBackendsLoaded
Definition: vrfSimBackendManager.h:349
boost::signals2::signal< void(bool)> signal_allBackendsSaved
Definition: vrfSimBackendManager.h:241
const int DtSessionChangedNumberBEs
Definition: vrfSimBackendManager.h:44
const int DtSessionChangedSimulationModelSets
Definition: vrfSimBackendManager.h:46
std::set< std::string > myNeedToSave
Definition: vrfSimBackendManager.h:354
The class that is the interface between the GUI and the back-end.
Definition: queuedManager.h:27
double myDateAndTimeOfDay
Definition: vrfSimBackendManager.h:371
Base class to provide boost signal/slot management.
const std::vector< DtFilename > & simulationModelSets() const
Definition: vrfSimBackendManager.h:271
virtual const DtSimulationAddress & selectedBackend() const
Definition: vrfSimBackendManager.h:161
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:372
boost::signals2::signal< void(const DtVrfBackendState &)> signal_frameRatesUpdated
Definition: vrfSimBackendManager.h:296
boost::signals2::signal< void(const DtVrfBackendState &)> signal_backendRemoved
Definition: vrfSimBackendManager.h:299
boost::signals2::signal< void()> signal_allBackendsClosed
Definition: vrfSimBackendManager.h:219
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:300
bool mySignalWhenAllBackendsClosed
Definition: vrfSimBackendManager.h:348
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:346
const int DtSessionScenarioJustImported
Definition: vrfSimBackendManager.h:52
std::string sessionScenarioFilename() const
Definition: vrfSimBackendManager.h:250
std::map< std::string, bool > myReinitializingMap
Definition: vrfSimBackendManager.h:359
boost::signals2::signal< void()> signal_allBackendsAboutToBeRemoved
Definition: vrfSimBackendManager.h:305
std::string sessionGuiTerrain() const
Definition: vrfSimBackendManager.h:257
std::string sessionSimTerrain() const
Definition: vrfSimBackendManager.h:264
boost::signals2::signal< void(const DtVrfBackendState &, int)> signal_backendUpdated
Definition: vrfSimBackendManager.h:301
boost::signals2::signal< void(DtSimulationStatus)> signal_simulationStatusChanged
Definition: vrfSimBackendManager.h:306
double mySimTime
Definition: vrfSimBackendManager.h:369