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);
207 virtual void setGuiRuntimeLoadBalancingScheme(
const DtString& scheme,
const DtString& userData);
208 virtual void getGuiRuntimeLoadBalancingScheme(
DtString& scheme,
DtString& userData)
const;
214 virtual void setSimRemoteAttachmentBalancingScheme(
const DtString& scheme,
const DtString& userData);
215 virtual void getSimRemoteAttachmentBalancingScheme(
DtString& scheme,
DtString& userData)
const;
219 virtual int numSections()
const;
223 virtual int section(
int)
const;
227 return mySectionTimes;
237 virtual double frameRateMean(
int section)
const;
238 virtual void setFrameRateMean(
int section,
double frameRateMean);
242 virtual double frameRateMedian(
int section)
const;
243 virtual void setFrameRateMedian(
int section,
double frameRateMedian);
247 virtual double frameRateStandardDeviation(
int section)
const;
248 virtual void setFrameRateStandardDeviation(
int section,
double
249 frameRateStandardDeviation);
253 virtual double minFrameRate(
int section)
const;
254 virtual void setMinFrameRate(
int section,
double minFrameRate);
258 virtual double maxFrameRate(
int section)
const;
259 virtual void setMaxFrameRate(
int section,
double maxFrameRate);
263 virtual double simTimeToRealTimeRatio()
const;
264 virtual void setSimTimeToRealTimeRatio(
double ratio);
268 virtual void setExericseStartTime(
DtTime time);
269 virtual DtTime exerciseStartTime();
273 virtual void setSimTime(
DtTime time);
277 virtual void setRunDurationTime(
DtTime);
278 virtual DtTime runDurationTime()
const;
281 virtual void setSimStartSimTime(
DtTime time);
282 virtual DtTime simStartSimTime()
const;
286 virtual void setTimeMultiplier(
double multiplier);
287 virtual double timeMultiplier()
const;
296 virtual void setIsCurrentParameterDb(
bool flag);
297 virtual bool isCurrentParameterDb()
const;
299 virtual void setResourceMonitorEnabled(
bool flag);
300 virtual bool resourceMonitorEnabled()
const;
303 virtual void setIsTimeManaged(
bool);
304 virtual bool isTimeManaged()
const;
308 virtual void setScenarioName(
const DtString& name);
309 virtual const DtString& scenarioName()
const;
315 virtual void setScenarioFilename(
const DtFilename& name);
316 virtual const DtFilename& scenarioFilename()
const;
321 virtual void setSimulationModelSets(
const std::vector<DtFilename>&);
322 virtual const std::vector<DtFilename>& simulationModelSets()
const;
327 virtual void setTerrainName(
const DtFilename& name);
328 virtual const DtFilename& terrainName()
const;
333 virtual void setFrameRateMode(
char mode);
334 virtual char frameRateMode()
const;
338 virtual double dT()
const;
343 virtual void setGuiTerrainName(
const DtFilename& name);
344 virtual const DtFilename& guiTerrainName()
const;
347 virtual void setNumberOfTickThreads(
short);
348 virtual short numberOfTickThreads()
const;
350 virtual void setNumberOfCPUs(
short);
351 virtual short numberOfCPUs()
const;
353 virtual void setTickingPublishersDuringObjectTick(
bool);
354 virtual bool tickingPublishersDuringObjectTick()
const;
358 virtual void setSimEngineId(DtU32
id);
359 virtual DtU32 simEngineId()
const;
379 virtual void setObjectCounts(
const std::map<DtU16, int>&);
380 virtual void setObjectCounts(
const ObjectCounts&);
381 virtual int totalLocalObjects()
const;
384 return myObjectCounts;
DtSettingsMap mySettingsMap
Map of DtSettingsObjects.
Definition: backend.h:440
DtString myGuiRuntimeLoadBalancingSchemeData
Definition: backend.h:470
DtFilename myGuiTerrainName
Definition: backend.h:435
DtString mySimRemoteAttachmentBalancingScheme
Definition: backend.h:471
DtSimulationAddress myAddress
Definition: backend.h:400
int myAppIdRangeMax
Definition: backend.h:443
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:468
DtString myScenarioName
Definition: backend.h:431
void setSectionTimes(const DtBackend::SectionTimes &s)
Definition: backend.h:230
int myScenarioRunId
Definition: backend.h:442
bool myIsCurrentParameterDb
Definition: backend.h:425
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:382
DtU16 myControlState
Definition: backend.h:403
DtString mySimRemoteAttachmentBalancingSchemeData
Definition: backend.h:472
ObjectCounts myObjectCounts
Definition: backend.h:456
Loaded but not ready to simulate.
Definition: backend.h:73
std::map< int, SectionTime > SectionTimes
Definition: backend.h:63
DtTime myRunDurationTime
Definition: backend.h:460
double myTimeMultiplier
Definition: backend.h:415
DtTime mySimTime
Definition: backend.h:413
DtTime myExerciseStartTime
Definition: backend.h:412
DtFloat64 frameRateMean
Definition: backend.h:56
DtString myGuiRuntimeLoadBalancingScheme
Definition: backend.h:469
Instances of DtBackend are created and maintained by a DtVrfBackendListener, and are containers for d...
Definition: backend.h:51
bool myIsLoaded
Definition: backend.h:405
short myNumberOfTickThreads
Definition: backend.h:466
char myFrameRateMode
Definition: backend.h:444
Definition: settingsObject.h:27
DtTime myLastResponseTime
Definition: backend.h:404
bool myReinitializingScenario
Definition: backend.h:449
DtFilename myTerrainName
Definition: backend.h:434
SectionTimes mySectionTimes
Frame rate information.
Definition: backend.h:409
DtU32 myPort
Definition: backend.h:402
bool myClosingScenario
Definition: backend.h:450
This back-end cannot simulate a scenario.
Definition: backend.h:72
bool myIsTimeManaged
Definition: backend.h:429
DtTime mySimStartSimTime
Definition: backend.h:414
bool myLoadedNewScenario
Definition: backend.h:446
bool myResourceMonitorEnabled
Definition: backend.h:427
This back-end is currently paused.
Definition: backend.h:76
bool myCanSimulate
Definition: backend.h:406
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:401
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:467
DtRwKeyValueList myScenarioData
Definition: backend.h:462
This back-end is currently closing a scenario.
Definition: backend.h:78
double mySimTimeToRealTimeRatio
Definition: backend.h:410
const DtBackend::SectionTimes & sectionTimes() const
Definition: backend.h:225
std::map< std::string, DtSettingsObject * > DtSettingsMap
Definition: settingsManager.h:97
bool myRollingBackScenario
Definition: backend.h:452
bool myImportingScenario
Definition: backend.h:448
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:419
#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:454
std::vector< DtFilename > mySimulationModelSets
Definition: backend.h:458
bool myLoadingScenario
Definition: backend.h:447
DtTime myDt
Duration of last frame (simulation time).
Definition: backend.h:422
DtU32 mySimEngineId
Definition: backend.h:437
bool myHostingDynamicTerrainServer
Definition: backend.h:451
This back-end is currently loading a scenario.
Definition: backend.h:77
DtU32 myScenarioCapabilities
Definition: backend.h:464
DtFilename myScenarioFilename
Definition: backend.h:432
bool myCreatingSimulationObjectGroup
Definition: backend.h:453
DtFloat64 maxFrameRate
Definition: backend.h:60
const DtClock * myClock
Definition: backend.h:417
DtFloat64 frameRateMedian
Definition: backend.h:57