22 #include <boost/function.hpp>
23 #include <boost/signal.hpp>
27 class DtSimulationAddress;
34 class DtBaseSimulation;
50 class DtVrfBackEndState;
71 virtual bool backEndsPresent()
const;
74 virtual bool anyBackendsLoading()
const;
77 virtual bool anyBackendsClosing()
const;
80 virtual bool anyBackendsLoaded()
const;
83 virtual bool allBackendsLoaded()
const;
86 virtual bool backendLoaded(
const DtSimulationAddress&)
const;
89 virtual bool backendSaving(
const DtSimulationAddress&)
const;
92 virtual bool anyBackendsPlaying()
const;
95 virtual bool anyBackendsInControlState(
int state)
const;
98 virtual bool allBackendsCanSimulate()
const;
101 virtual bool backendCanSimulate(
const DtSimulationAddress&)
const;
104 virtual void duplicateBackendDiscovered(
const DtSimulationAddress&);
107 virtual double timeMultiplier()
const;
115 virtual void removeAllBackends();
116 virtual void addBackend(
const DtBackend*);
117 virtual void backendRemoved(
const DtSimulationAddress&);
118 virtual void backendUpdated(
const DtSimulationAddress&,
const DtBackend*);
123 virtual const DtSimulationAddress& selectedBackend()
const
125 return mySelectedBackend;
128 void setSelectedBackend(
const DtSimulationAddress&);
130 virtual int numberOfBackends()
const;
133 virtual void clearSelectedBackend();
136 virtual double simTime()
const;
139 virtual double runDurationTime()
const;
143 virtual double timeOfDay()
const;
146 virtual double simStartSimTime()
const;
150 return myBackendStates;
154 virtual std::map<short, int> currentObjectCounts()
const;
157 virtual const std::map<short, int>& currentObjectCount(
const DtSimulationAddress&)
const;
161 virtual void signalWhenAllBackendsClosed();
164 virtual void signalIfAllBackendsClosed();
169 virtual void signalWhenAllBackendsLoaded();
173 virtual void signalIfAllBackendsLoaded();
177 virtual void signalWhenAllBackendsSaved();
180 virtual void signalIfAllBackendsSaved();
183 std::string sessionScenario()
const
185 return mySessionStatus.scenarioName().c_str();
188 virtual void setSessionScenario(
const std::string&);
190 std::string sessionGuiTerrain()
const
192 return mySessionStatus.guiTerrainName().c_str();
195 virtual void setSessionGuiTerrain(
const std::string&);
197 std::string sessionSimTerrain()
const
199 return mySessionStatus.terrainName().c_str();
202 const std::vector<DtFilename>& simulationModelSets()
const
204 return mySessionStatus.simulationModelSets();
212 virtual time_t dateAndTimeOfDay()
const;
213 virtual void setDateAndTimeOfDay(time_t);
214 virtual void resetDateAndTimeOfDay();
216 virtual const std::map<std::string, bool> backendsLoading()
const
221 virtual const std::map<std::string, bool> backendsClosing()
const
241 virtual double simTimeFromBackend()
const;
243 virtual void updateDateAndTimeOfDay();
244 virtual void slot_dateAndTimeOfDayChanged(
int year,
int month,
int day,
int hours,
int mins,
int secs);
249 virtual void simulationBackendUpdated(DtSimulationAddress,
int);
250 virtual void duplicateSimulationBackendDiscovered(DtSimulationAddress);
253 virtual void processLoadCompleteCallback(
DtSimMessage*);
254 virtual void processSaveCompleteCallback(
DtSimMessage*);
257 virtual void backendSaved(
const std::string&);
259 virtual void setBackendSaving(
const DtSimulationAddress&,
bool b);
262 virtual void updateSessionInformation(
int sessionFlags = 0);