22 #include <boost/function.hpp>
23 #include <boost/signal.hpp>
27 class DtSimulationAddress;
34 class DtBaseSimulation;
59 class DtVrfBackEndState;
60 class DtLocalWeatherManager;
81 virtual bool backEndsPresent()
const;
84 virtual bool anyBackendsLoading()
const;
87 virtual bool anyBackendsCreatingSimulationObjectGroup()
const;
90 virtual bool anyBackendsClosing()
const;
93 virtual bool anyBackendsLoaded()
const;
96 virtual bool allBackendsLoaded()
const;
99 virtual bool backendLoaded(
const DtSimulationAddress&)
const;
102 virtual bool backendSaving(
const DtSimulationAddress&)
const;
105 virtual bool anyBackendsPlaying()
const;
108 virtual bool anyBackendsInControlState(
int state)
const;
111 virtual bool hasDynamicTerrainServer()
const;
114 virtual bool allBackendsCanSimulate()
const;
117 virtual bool anyBackendCanSimulate()
const;
120 virtual bool backendCanSimulate(
const DtSimulationAddress&)
const;
123 virtual void duplicateBackendDiscovered(
const DtSimulationAddress&);
126 virtual double timeMultiplier()
const;
134 virtual void removeAllBackends();
135 virtual void addBackend(
const DtBackend*);
136 virtual void backendRemoved(
const DtSimulationAddress&);
137 virtual void backendUpdated(
const DtSimulationAddress&,
const DtBackend*);
142 virtual const DtSimulationAddress& selectedBackend()
const
144 return mySelectedBackend;
147 void setSelectedBackend(
const DtSimulationAddress&);
150 virtual void simulationAddresses(std::set<std::string>&);
152 virtual int numberOfBackends()
const;
155 virtual void clearSelectedBackend();
161 virtual double simTime()
const;
164 virtual double runDurationTime()
const;
167 virtual int scenarioRunId()
const;
171 virtual double timeOfDay()
const;
174 virtual double simStartSimTime()
const;
179 return myBackendStates;
185 return myAllBackendStates;
189 virtual std::map<short, int> currentObjectCounts()
const;
192 virtual const std::map<short, int>& currentObjectCount(
const DtSimulationAddress&)
const;
196 virtual void signalWhenAllBackendsClosed();
199 virtual void signalIfAllBackendsClosed();
204 virtual void signalWhenAllBackendsLoaded();
208 virtual void signalIfAllBackendsLoaded();
212 virtual void signalWhenAllBackendsSaved();
215 virtual void signalIfAllBackendsSaved(
bool checkpointSave);
218 std::string sessionScenario()
const
220 return mySessionStatus.scenarioName().c_str();
223 virtual void setSessionScenario(
const std::string&);
225 std::string sessionScenarioFilename()
const
227 return mySessionStatus.scenarioFilename().c_str();
230 virtual void setSessionScenarioFilename(
const std::string&);
232 std::string sessionGuiTerrain()
const
234 return mySessionStatus.guiTerrainName().c_str();
237 virtual void setSessionGuiTerrain(
const std::string&);
239 std::string sessionSimTerrain()
const
241 return mySessionStatus.terrainName().c_str();
244 virtual void setSessionSimTerrain(
const std::string&);
246 const std::vector<DtFilename>& simulationModelSets()
const
248 return mySessionStatus.simulationModelSets();
256 virtual time_t dateAndTimeOfDay()
const;
257 virtual void setDateAndTimeOfDay(time_t);
258 virtual void resetDateAndTimeOfDay();
260 virtual const std::map<std::string, bool> backendsLoading()
const
265 virtual const std::map<std::string, bool> backendsClosing()
const
289 virtual double simTimeFromBackend()
const;
291 virtual void updateDateAndTimeOfDay();
292 virtual void slot_dateAndTimeOfDayChanged(
int year,
int month,
int day,
int hours,
int mins,
int secs);
297 virtual void simulationBackendUpdated(DtSimulationAddress,
int);
298 virtual void duplicateSimulationBackendDiscovered(DtSimulationAddress);
301 virtual void processLoadCompleteCallback(
DtSimMessage*);
302 virtual void processSaveCompleteCallback(
DtSimMessage*);
305 virtual void backendSaved(
const std::string&,
bool checkpointSave);
307 virtual void setBackendSaving(
const DtSimulationAddress&,
bool b);
310 virtual void updateSessionInformation(
int sessionFlags = 0);
313 virtual void clear();