VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
backend.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2016 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
9 #pragma once
10 
11 #include "vrfutil/vrfutilDefines.h"
12 #include "vrfutil/rwKeyValueList.h"
13 
15 
16 #include <vl/hostStructs.h>
17 #include <vlutil/vlUtil.h>
18 #include <vlutil/vlInetAddr.h>
19 
20 class DtSimTimeReport;
21 
22 #define DtKindFromKey(key) ((key & 0XFF00) >> 8)
23 #define DtDomainFromKey(key) (key & 0x00FF)
24 #define DtKeyFromKindDomain(kind, domain) ((kind << 8) | (0x00FF & domain))
25 
27 {
47 };
48 
52 {
53 public:
54  enum Status
55  {
57  Unknown = 0,
58  NotLoaded = 1,
68  ImportingScenario
69  };
70 
71 public:
72  typedef std::map<short, int> ObjectCounts;
73 
75  DtBackend(const DtSimulationAddress& addr, const DtInetAddr& ipAddr, int port,
76  int state, bool isLoaded, DtTime exerciseStartTime,
77  DtTime simTime, double timeMultiplier, DtClock* clock);
78  DtBackend(const DtSimulationAddress& addr);
79  DtBackend();
80  DtBackend(const DtBackend&);
81 
83  virtual ~DtBackend();
84 
85  DtBackend& operator=(const DtBackend&);
86 
88  virtual const DtSimulationAddress& address() const;
89 
91  virtual void printStatus();
92 
94  virtual Status status() const;
95 
97  virtual bool isInSimulatableState() const;
98 
100  virtual bool isSimulatableStatus(DtBackend::Status) const;
101 
103  virtual bool isInTransitionStatus() const;
104 
105  virtual bool isTransitionStatus(DtBackend::Status) const;
106 
108  virtual DtInetAddr inetAddress() const;
110  virtual void setInetAddress(DtInetAddr address);
111 
113  virtual unsigned int port() const;
115  virtual void setPort(unsigned int port);
116 
118  virtual int controlState() const;
120  virtual void setControlState(int controlState);
121 
123  virtual void setScenarioRunId(int);
124  virtual int scenarioRunId() const;
125 
131  virtual DtU32 scenarioCapabilities() const;
132  virtual void setScenarioCapabilities(const DtU32&);
133 
136  virtual void setAppIdRangeMax(int);
137  virtual int appIdRangeMax() const;
138 
141  virtual bool isLoaded() const;
142  virtual bool isLoadedAndCanSimulate() const;
144  virtual void setIsLoaded(bool b);
145 
147  virtual bool canSimulate() const;
148  virtual void setCanSimulate(bool);
149 
151  virtual bool loadingScenario() const;
152  virtual void setLoadingScenario(bool);
153 
155  virtual bool savingScenario() const;
156  virtual void setSavingScenario(bool);
157 
159  virtual bool importingScenario() const;
160  virtual void setImportingScenario(bool);
161 
163  virtual bool reinitializingScenario() const;
164  virtual void setReinitializingScenario(bool);
165 
167  virtual bool hostingDynamicTerrainServer() const;
168  virtual void setHostingDynamicTerrainServer(bool);
169 
171  virtual bool creatingSimulationObjectGroup() const;
172  virtual void setCreatingSimulationObjectGroup(bool);
173 
175  virtual bool closingScenario() const;
176  virtual void setClosingScenario(bool);
177 
179  virtual bool rollingBackScenario() const;
180  virtual void setRollingBackScenario(bool);
181 
183  virtual bool loadedNewScenario() const;
184  virtual void setLoadedNewScenario(bool);
185 
187  virtual const DtTime& lastResponseTime() const;
189  virtual void setLastResponseTime(const DtTime& time);
190 
193  virtual double frameRateMean() const;
194  virtual void setFrameRateMean(double frameRateMean);
195 
198  virtual double frameRateMedian() const;
199  virtual void setFrameRateMedian(double frameRateMedian);
200 
203  virtual double frameRateStandardDeviation() const;
204  virtual void setFrameRateStandardDeviation(double
205  frameRateStandardDeviation);
206 
209  virtual double minFrameRate() const;
210  virtual void setMinFrameRate(double minFrameRate);
211 
214  virtual double maxFrameRate() const;
215  virtual void setMaxFrameRate(double maxFrameRate);
216 
219  virtual double simTimeToRealTimeRatio() const;
220  virtual void setSimTimeToRealTimeRatio(double ratio);
222 
224  virtual void setExericseStartTime(DtTime time);
225  virtual DtTime exerciseStartTime();
226 
229  virtual void setSimTime(DtTime time);
230  virtual DtTime simTime();
231 
233  virtual void setRunDurationTime(DtTime);
234  virtual DtTime runDurationTime() const;
235 
237  virtual void setSimStartSimTime(DtTime time);
238  virtual DtTime simStartSimTime() const;
239 
242  virtual void setTimeMultiplier(double multiplier);
243  virtual double timeMultiplier() const;
244 
247  //virtual void setIsOldParameterDb(bool flag);
248  //virtual bool isOldParameterDb() const;
249 
252  virtual void setIsCurrentParameterDb(bool flag);
253  virtual bool isCurrentParameterDb() const;
254 
255  virtual void setResourceMonitorEnabled(bool flag);
256  virtual bool resourceMonitorEnabled() const;
257 
259  virtual void setIsTimeManaged(bool);
260  virtual bool isTimeManaged() const;
261 
263 
264  virtual void setScenarioName(const DtString& name);
265  virtual const DtString& scenarioName() const;
267 
270 
271  virtual void setScenarioFilename(const DtFilename& name);
272  virtual const DtFilename& scenarioFilename() const;
274 
276 
277  virtual void setSimulationModelSets(const std::vector<DtFilename>&);
278  virtual const std::vector<DtFilename>& simulationModelSets() const;
280 
282 
283  virtual void setTerrainName(const DtFilename& name);
284  virtual const DtFilename& terrainName() const;
286 
288  virtual double dT() const;
289 
292 
293  virtual void setGuiTerrainName(const DtFilename& name);
294  virtual const DtFilename& guiTerrainName() const;
296 
298 
299  virtual void setSimEngineId(DtU32 id);
300  virtual DtU32 simEngineId() const;
302 
306  virtual const DtSettingsObject* lookupSetting(std::string name) const;
307 
312  virtual void setSetting(const DtSettingsObject* object);
313 
315  virtual void copySettingsMap(const DtSettingsMap&);
316 
320  virtual void setObjectCounts(const std::map<DtU16, int>&);
321  virtual void setObjectCounts(const ObjectCounts&);
322  virtual int totalLocalObjects() const;
323  const ObjectCounts& objectCounts() const
324  {
325  return myObjectCounts;
326  }
328 
334 
335  virtual DtRwKeyValueList& scenarioData();
336  virtual const DtRwKeyValueList& scenarioData() const;
338 
339 protected:
340 
341  DtSimulationAddress myAddress;
342  DtInetAddr myInetAddr;
343  DtU32 myPort;
348 
356 
361 
365 
368 
369  //bool myIsOldParameterDb;
371 
373 
375 
377  DtFilename myScenarioFilename;
378 
379  DtFilename myTerrainName;
380  DtFilename myGuiTerrainName;
381 
383 
386 
389 
399 
401 
402  std::vector<DtFilename> mySimulationModelSets;
403 
405 
407 
409 };
DtSettingsMap mySettingsMap
Map of DtSettingsObjects.
Definition: backend.h:385
Definition: backend.h:45
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
Definition: backend.h:34
Definition: backend.h:41
const ObjectCounts & objectCounts() const
Definition: backend.h:323
DtU16 myControlState
Definition: backend.h:344
Definition: backend.h:44
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
Definition: backend.h:46
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
Definition: backend.h:37
bool myIsLoaded
Definition: backend.h:346
Definition: settingsObject.h:27
DtTime myLastResponseTime
Definition: backend.h:345
bool myReinitializingScenario
Definition: backend.h:393
Definition: backend.h:42
Definition: backend.h:35
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
Definition: backend.h:33
std::map< short, int > ObjectCounts
Definition: backend.h:72
Definition: backend.h:38
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
Definition: backend.h:39
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
Definition: backend.h:32
Status
Definition: backend.h:54
DtClock * myClock
Definition: backend.h:362
Definition: backend.h:40
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
Definition: backend.h:36

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)