20 #include <vrvCore/DtSimData.h>
21 #include <vrvCore/DtDe.h>
23 #include <boost/function.hpp>
24 #include <boost/signal.hpp>
27 class DtSimulationAddress;
34 class DtBaseSimulation;
45 class DtVrfBackEndState;
66 virtual bool backEndsPresent()
const;
69 virtual bool anyBackendsLoaded()
const;
72 virtual bool allBackendsLoaded()
const;
75 virtual bool backendLoaded(
const DtSimulationAddress&)
const;
78 virtual bool backendSaving(
const DtSimulationAddress&)
const;
81 virtual bool anyBackendsPlaying()
const;
84 virtual bool anyBackendsInControlState(
int state)
const;
87 virtual bool allBackendsCanSimulate()
const;
90 virtual bool backendCanSimulate(
const DtSimulationAddress&)
const;
93 virtual void duplicateBackendDiscovered(
const DtSimulationAddress&);
101 virtual void removeAllBackends();
102 virtual void addBackend(
const DtBackend*);
103 virtual void backendRemoved(
const DtSimulationAddress&);
104 virtual void backendUpdated(
const DtSimulationAddress&,
const DtBackend*);
109 const DtSimulationAddress& selectedBackend()
const
111 return mySelectedBackend;
114 void setSelectedBackend(
const DtSimulationAddress&);
116 virtual int numberOfBackends()
const;
119 virtual void clearSelectedBackend();
122 virtual double simTime()
const;
125 virtual double simStartSimTime()
const;
129 return myBackendStates;
134 virtual void signalWhenAllBackendsClosed();
137 virtual void signalIfAllBackendsClosed();
142 virtual void signalWhenAllBackendsLoaded();
146 virtual void signalIfAllBackendsLoaded();
150 virtual void signalWhenAllBackendsSaved();
153 virtual void signalIfAllBackendsSaved();
156 const std::string& sessionScenario()
const
158 return mySessionScenarioName;
161 const std::string& sessionTerrain()
const
163 return mySessionTerrainName;
180 virtual void simulationBackendUpdated(DtSimulationAddress,
int);
181 virtual void duplicateSimulationBackendDiscovered(DtSimulationAddress);
183 virtual void processLoadCompleteCallback(
DtSimMessage*);
184 virtual void processSaveCompleteCallback(
DtSimMessage*);
187 virtual void backendSaved(
const std::string&);
189 virtual void setBackendSaving(
const DtSimulationAddress&,
bool b);
192 virtual void updateSessionInformation(
int sessionFlags = 0);