16 #include <vl/hostStructs.h>
17 #include <vlutil/vlUtil.h>
18 #include <vlutil/vlInetAddr.h>
20 class DtSimTimeReport;
22 #define DtKindFromKey(key) ((key & 0XFF00) >> 8)
23 #define DtDomainFromKey(key) (key & 0x00FF)
24 #define DtKeyFromKindDomain(kind, domain) ((kind << 8) | (0x00FF & domain))
75 DtBackend(
const DtSimulationAddress& addr,
const DtInetAddr& ipAddr,
int port,
76 int state,
bool isLoaded,
DtTime exerciseStartTime,
78 DtBackend(
const DtSimulationAddress& addr);
88 virtual const DtSimulationAddress& address()
const;
91 virtual void printStatus();
94 virtual Status status()
const;
97 virtual bool isInSimulatableState()
const;
103 virtual bool isInTransitionStatus()
const;
108 virtual DtInetAddr inetAddress()
const;
110 virtual void setInetAddress(DtInetAddr address);
113 virtual unsigned int port()
const;
115 virtual void setPort(
unsigned int port);
118 virtual int controlState()
const;
120 virtual void setControlState(
int controlState);
123 virtual void setScenarioRunId(
int);
124 virtual int scenarioRunId()
const;
131 virtual DtU32 scenarioCapabilities()
const;
132 virtual void setScenarioCapabilities(
const DtU32&);
136 virtual void setAppIdRangeMax(
int);
137 virtual int appIdRangeMax()
const;
141 virtual bool isLoaded()
const;
142 virtual bool isLoadedAndCanSimulate()
const;
144 virtual void setIsLoaded(
bool b);
147 virtual bool canSimulate()
const;
148 virtual void setCanSimulate(
bool);
151 virtual bool loadingScenario()
const;
152 virtual void setLoadingScenario(
bool);
155 virtual bool savingScenario()
const;
156 virtual void setSavingScenario(
bool);
159 virtual bool importingScenario()
const;
160 virtual void setImportingScenario(
bool);
163 virtual bool reinitializingScenario()
const;
164 virtual void setReinitializingScenario(
bool);
167 virtual bool hostingDynamicTerrainServer()
const;
168 virtual void setHostingDynamicTerrainServer(
bool);
171 virtual bool creatingSimulationObjectGroup()
const;
172 virtual void setCreatingSimulationObjectGroup(
bool);
175 virtual bool closingScenario()
const;
176 virtual void setClosingScenario(
bool);
179 virtual bool rollingBackScenario()
const;
180 virtual void setRollingBackScenario(
bool);
183 virtual bool loadedNewScenario()
const;
184 virtual void setLoadedNewScenario(
bool);
187 virtual const DtTime& lastResponseTime()
const;
189 virtual void setLastResponseTime(
const DtTime& time);
193 virtual double frameRateMean()
const;
194 virtual void setFrameRateMean(
double frameRateMean);
198 virtual double frameRateMedian()
const;
199 virtual void setFrameRateMedian(
double frameRateMedian);
203 virtual double frameRateStandardDeviation()
const;
204 virtual void setFrameRateStandardDeviation(
double
205 frameRateStandardDeviation);
209 virtual double minFrameRate()
const;
210 virtual void setMinFrameRate(
double minFrameRate);
214 virtual double maxFrameRate()
const;
215 virtual void setMaxFrameRate(
double maxFrameRate);
219 virtual double simTimeToRealTimeRatio()
const;
220 virtual void setSimTimeToRealTimeRatio(
double ratio);
224 virtual void setExericseStartTime(
DtTime time);
225 virtual DtTime exerciseStartTime();
229 virtual void setSimTime(
DtTime time);
233 virtual void setRunDurationTime(
DtTime);
234 virtual DtTime runDurationTime()
const;
237 virtual void setSimStartSimTime(
DtTime time);
238 virtual DtTime simStartSimTime()
const;
242 virtual void setTimeMultiplier(
double multiplier);
243 virtual double timeMultiplier()
const;
252 virtual void setIsCurrentParameterDb(
bool flag);
253 virtual bool isCurrentParameterDb()
const;
255 virtual void setResourceMonitorEnabled(
bool flag);
256 virtual bool resourceMonitorEnabled()
const;
259 virtual void setIsTimeManaged(
bool);
260 virtual bool isTimeManaged()
const;
264 virtual void setScenarioName(
const DtString& name);
265 virtual const DtString& scenarioName()
const;
271 virtual void setScenarioFilename(
const DtFilename& name);
272 virtual const DtFilename& scenarioFilename()
const;
277 virtual void setSimulationModelSets(
const std::vector<DtFilename>&);
278 virtual const std::vector<DtFilename>& simulationModelSets()
const;
283 virtual void setTerrainName(
const DtFilename& name);
284 virtual const DtFilename& terrainName()
const;
288 virtual double dT()
const;
293 virtual void setGuiTerrainName(
const DtFilename& name);
294 virtual const DtFilename& guiTerrainName()
const;
299 virtual void setSimEngineId(DtU32
id);
300 virtual DtU32 simEngineId()
const;
320 virtual void setObjectCounts(
const std::map<DtU16, int>&);
322 virtual int totalLocalObjects()
const;
325 return myObjectCounts;
DtSettingsMap mySettingsMap
Map of DtSettingsObjects.
Definition: backend.h:385
DtFilename myGuiTerrainName
Definition: backend.h:380
double myFrameRateStandardDeviation
Definition: backend.h:352
DtSimulationAddress myAddress
Definition: backend.h:341
int myAppIdRangeMax
Definition: backend.h:388
Class which holds a list of string key and string value pairs.
Definition: rwKeyValueList.h:21
DtSimulationStatus
Definition: backend.h:26
DtString myScenarioName
Definition: backend.h:376
int myScenarioRunId
Definition: backend.h:387
bool myIsCurrentParameterDb
Definition: backend.h:370
const ObjectCounts & objectCounts() const
Definition: backend.h:323
DtU16 myControlState
Definition: backend.h:344
ObjectCounts myObjectCounts
Definition: backend.h:400
Loaded but not ready to simulate.
Definition: backend.h:61
DtTime myRunDurationTime
Definition: backend.h:404
double myFrameRateMedian
Definition: backend.h:351
double myTimeMultiplier
Definition: backend.h:360
DtTime mySimTime
Definition: backend.h:358
DtTime myExerciseStartTime
Definition: backend.h:357
Instances of DtBackend are created and maintained by a DtVrfBackendListener, and are containers for d...
Definition: backend.h:51
bool myIsLoaded
Definition: backend.h:346
Definition: settingsObject.h:27
DtTime myLastResponseTime
Definition: backend.h:345
bool myReinitializingScenario
Definition: backend.h:393
DtFilename myTerrainName
Definition: backend.h:379
DtU32 myPort
Definition: backend.h:343
bool myClosingScenario
Definition: backend.h:394
This back-end cannot simulate a scenario.
Definition: backend.h:60
double myFrameRateMean
Frame rate information.
Definition: backend.h:350
bool myIsTimeManaged
Definition: backend.h:374
double myMinFrameRate
Definition: backend.h:353
DtTime mySimStartSimTime
Definition: backend.h:359
bool myLoadedNewScenario
Definition: backend.h:390
bool myResourceMonitorEnabled
Definition: backend.h:372
This back-end is currently paused.
Definition: backend.h:64
bool myCanSimulate
Definition: backend.h:347
std::map< short, int > ObjectCounts
Definition: backend.h:72
This back-end is currenty saving a scenario.
Definition: backend.h:67
DtInetAddr myInetAddr
Definition: backend.h:342
These flags will represent the status of the overall simulation.
Definition: backend.h:31
This back-end is currently playing a scenario.
Definition: backend.h:63
DtRwKeyValueList myScenarioData
Definition: backend.h:406
This back-end is currently closing a scenario.
Definition: backend.h:66
double mySimTimeToRealTimeRatio
Definition: backend.h:355
double myMaxFrameRate
Definition: backend.h:354
std::map< std::string, DtSettingsObject * > DtSettingsMap
Definition: settingsManager.h:97
bool myRollingBackScenario
Definition: backend.h:396
bool myImportingScenario
Definition: backend.h:392
This back-end has no scenario loaded.
Definition: backend.h:59
This back-end is ready to simulate (i.e. can have simulation objects created on it and can be played)...
Definition: backend.h:62
DtTime myLastSimTimeUpdated
wall-clock time elapsed since last sim time was updated
Definition: backend.h:364
#define DT_DLL_vrfutil
This file is used to determine how to build Disable inconsistent dll linkage warning Visual Studio 6...
Definition: vrfutilDefines.h:34
Status
Definition: backend.h:54
DtClock * myClock
Definition: backend.h:362
bool mySavingScenario
Definition: backend.h:398
std::vector< DtFilename > mySimulationModelSets
Definition: backend.h:402
bool myLoadingScenario
Definition: backend.h:391
DtTime myDt
Duration of last frame (simulation time).
Definition: backend.h:367
DtU32 mySimEngineId
Definition: backend.h:382
bool myHostingDynamicTerrainServer
Definition: backend.h:395
This back-end is currently loading a scenario.
Definition: backend.h:65
DtU32 myScenarioCapabilities
Definition: backend.h:408
DtFilename myScenarioFilename
Definition: backend.h:377
bool myCreatingSimulationObjectGroup
Definition: backend.h:397