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))
87 DtBackend(
const DtSimulationAddress& addr,
const DtInetAddr& ipAddr,
int port,
88 int state,
bool isLoaded,
DtTime exerciseStartTime,
90 DtBackend(
const DtSimulationAddress& addr);
100 virtual const DtSimulationAddress& address()
const;
103 virtual void printStatus();
106 virtual Status status()
const;
109 virtual bool isInSimulatableState()
const;
115 virtual bool isInTransitionStatus()
const;
120 virtual DtInetAddr inetAddress()
const;
122 virtual void setInetAddress(DtInetAddr address);
125 virtual unsigned int port()
const;
127 virtual void setPort(
unsigned int port);
130 virtual int controlState()
const;
132 virtual void setControlState(
int controlState);
135 virtual void setScenarioRunId(
int);
136 virtual int scenarioRunId()
const;
143 virtual DtU32 scenarioCapabilities()
const;
144 virtual void setScenarioCapabilities(
const DtU32&);
148 virtual void setAppIdRangeMax(
int);
149 virtual int appIdRangeMax()
const;
153 virtual bool isLoaded()
const;
154 virtual bool isLoadedAndCanSimulate()
const;
156 virtual void setIsLoaded(
bool b);
159 virtual bool canSimulate()
const;
160 virtual void setCanSimulate(
bool);
163 virtual bool loadingScenario()
const;
164 virtual void setLoadingScenario(
bool);
167 virtual bool savingScenario()
const;
168 virtual void setSavingScenario(
bool);
171 virtual bool importingScenario()
const;
172 virtual void setImportingScenario(
bool);
175 virtual bool reinitializingScenario()
const;
176 virtual void setReinitializingScenario(
bool);
179 virtual bool hostingDynamicTerrainServer()
const;
180 virtual void setHostingDynamicTerrainServer(
bool);
183 virtual bool creatingSimulationObjectGroup()
const;
184 virtual void setCreatingSimulationObjectGroup(
bool);
187 virtual bool closingScenario()
const;
188 virtual void setClosingScenario(
bool);
191 virtual bool rollingBackScenario()
const;
192 virtual void setRollingBackScenario(
bool);
195 virtual bool loadedNewScenario()
const;
196 virtual void setLoadedNewScenario(
bool);
199 virtual const DtTime& lastResponseTime()
const;
201 virtual void setLastResponseTime(
const DtTime& time);
204 virtual int numSections()
const;
208 virtual int section(
int)
const;
212 return mySectionTimes;
222 virtual double frameRateMean(
int section)
const;
223 virtual void setFrameRateMean(
int section,
double frameRateMean);
227 virtual double frameRateMedian(
int section)
const;
228 virtual void setFrameRateMedian(
int section,
double frameRateMedian);
232 virtual double frameRateStandardDeviation(
int section)
const;
233 virtual void setFrameRateStandardDeviation(
int section,
double
234 frameRateStandardDeviation);
238 virtual double minFrameRate(
int section)
const;
239 virtual void setMinFrameRate(
int section,
double minFrameRate);
243 virtual double maxFrameRate(
int section)
const;
244 virtual void setMaxFrameRate(
int section,
double maxFrameRate);
248 virtual double simTimeToRealTimeRatio()
const;
249 virtual void setSimTimeToRealTimeRatio(
double ratio);
253 virtual void setExericseStartTime(
DtTime time);
254 virtual DtTime exerciseStartTime();
258 virtual void setSimTime(
DtTime time);
262 virtual void setRunDurationTime(
DtTime);
263 virtual DtTime runDurationTime()
const;
266 virtual void setSimStartSimTime(
DtTime time);
267 virtual DtTime simStartSimTime()
const;
271 virtual void setTimeMultiplier(
double multiplier);
272 virtual double timeMultiplier()
const;
281 virtual void setIsCurrentParameterDb(
bool flag);
282 virtual bool isCurrentParameterDb()
const;
284 virtual void setResourceMonitorEnabled(
bool flag);
285 virtual bool resourceMonitorEnabled()
const;
288 virtual void setIsTimeManaged(
bool);
289 virtual bool isTimeManaged()
const;
293 virtual void setScenarioName(
const DtString& name);
294 virtual const DtString& scenarioName()
const;
300 virtual void setScenarioFilename(
const DtFilename& name);
301 virtual const DtFilename& scenarioFilename()
const;
306 virtual void setSimulationModelSets(
const std::vector<DtFilename>&);
307 virtual const std::vector<DtFilename>& simulationModelSets()
const;
312 virtual void setTerrainName(
const DtFilename& name);
313 virtual const DtFilename& terrainName()
const;
318 virtual void setFrameRateMode(
char mode);
319 virtual char frameRateMode()
const;
323 virtual double dT()
const;
328 virtual void setGuiTerrainName(
const DtFilename& name);
329 virtual const DtFilename& guiTerrainName()
const;
332 virtual void setNumberOfTickThreads(
short);
333 virtual short numberOfTickThreads()
const;
335 virtual void setNumberOfCPUs(
short);
336 virtual short numberOfCPUs()
const;
338 virtual void setTickingPublishersDuringObjectTick(
bool);
339 virtual bool tickingPublishersDuringObjectTick()
const;
343 virtual void setSimEngineId(DtU32
id);
344 virtual DtU32 simEngineId()
const;
364 virtual void setObjectCounts(
const std::map<DtU16, int>&);
365 virtual void setObjectCounts(
const ObjectCounts&);
366 virtual int totalLocalObjects()
const;
369 return myObjectCounts;
DtSettingsMap mySettingsMap
Map of DtSettingsObjects.
Definition: backend.h:425
DtFilename myGuiTerrainName
Definition: backend.h:420
DtSimulationAddress myAddress
Definition: backend.h:385
int myAppIdRangeMax
Definition: backend.h:428
Class which holds a list of string key and string value pairs. This class is a DtReaderWriter, and also has associated DtBufferSerialize methods available.
Definition: rwKeyValueList.h:21
DtFloat64 frameRateStandardDeviation
Definition: backend.h:58
DtSimulationStatus
Definition: backend.h:26
bool myTickingPublishersDuringObjectTick
Definition: backend.h:453
DtString myScenarioName
Definition: backend.h:416
void setSectionTimes(const DtBackend::SectionTimes &s)
Definition: backend.h:215
int myScenarioRunId
Definition: backend.h:427
bool myIsCurrentParameterDb
Definition: backend.h:410
const ObjectCounts & objectCounts() const
Deals with locally published objects. Keys are stored as high char of kind and low char of domain wit...
Definition: backend.h:367
DtU16 myControlState
Definition: backend.h:388
ObjectCounts myObjectCounts
Definition: backend.h:441
Loaded but not ready to simulate.
Definition: backend.h:73
std::map< int, SectionTime > SectionTimes
Definition: backend.h:63
DtTime myRunDurationTime
Definition: backend.h:445
double myTimeMultiplier
Definition: backend.h:400
DtTime mySimTime
Definition: backend.h:398
DtTime myExerciseStartTime
Definition: backend.h:397
DtFloat64 frameRateMean
Definition: backend.h:56
Instances of DtBackend are created and maintained by a DtVrfBackendListener, and are containers for d...
Definition: backend.h:51
bool myIsLoaded
Definition: backend.h:390
short myNumberOfTickThreads
Definition: backend.h:451
char myFrameRateMode
Definition: backend.h:429
Definition: settingsObject.h:27
DtTime myLastResponseTime
Definition: backend.h:389
bool myReinitializingScenario
Definition: backend.h:434
DtFilename myTerrainName
Definition: backend.h:419
SectionTimes mySectionTimes
Frame rate information.
Definition: backend.h:394
DtU32 myPort
Definition: backend.h:387
bool myClosingScenario
Definition: backend.h:435
This back-end cannot simulate a scenario.
Definition: backend.h:72
bool myIsTimeManaged
Definition: backend.h:414
DtTime mySimStartSimTime
Definition: backend.h:399
bool myLoadedNewScenario
Definition: backend.h:431
bool myResourceMonitorEnabled
Definition: backend.h:412
This back-end is currently paused.
Definition: backend.h:76
bool myCanSimulate
Definition: backend.h:391
std::map< short, int > ObjectCounts
Definition: backend.h:84
This back-end is currenty saving a scenario.
Definition: backend.h:79
DtFloat64 minFrameRate
Definition: backend.h:59
DtInetAddr myInetAddr
Definition: backend.h:386
These flags will represent the status of the overall simulation. A back-end will not report these sta...
Definition: backend.h:31
This back-end is currently playing a scenario.
Definition: backend.h:75
short myNumberOfCPUs
Definition: backend.h:452
DtRwKeyValueList myScenarioData
Definition: backend.h:447
This back-end is currently closing a scenario.
Definition: backend.h:78
double mySimTimeToRealTimeRatio
Definition: backend.h:395
const DtBackend::SectionTimes & sectionTimes() const
Definition: backend.h:210
std::map< std::string, DtSettingsObject * > DtSettingsMap
Definition: settingsManager.h:97
bool myRollingBackScenario
Definition: backend.h:437
bool myImportingScenario
Definition: backend.h:433
This back-end has no scenario loaded.
Definition: backend.h:71
const char int mode
Definition: ioapi.h:38
This back-end is ready to simulate (i.e. can have simulation objects created on it and can be played)...
Definition: backend.h:74
DtTime myLastSimTimeUpdated
wall-clock time elapsed since last sim time was updated
Definition: backend.h:404
#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:66
bool mySavingScenario
Definition: backend.h:439
std::vector< DtFilename > mySimulationModelSets
Definition: backend.h:443
bool myLoadingScenario
Definition: backend.h:432
DtTime myDt
Duration of last frame (simulation time).
Definition: backend.h:407
DtU32 mySimEngineId
Definition: backend.h:422
bool myHostingDynamicTerrainServer
Definition: backend.h:436
This back-end is currently loading a scenario.
Definition: backend.h:77
DtU32 myScenarioCapabilities
Definition: backend.h:449
DtFilename myScenarioFilename
Definition: backend.h:417
bool myCreatingSimulationObjectGroup
Definition: backend.h:438
DtFloat64 maxFrameRate
Definition: backend.h:60
const DtClock * myClock
Definition: backend.h:402
DtFloat64 frameRateMedian
Definition: backend.h:57