VR-Forces 4.5 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator 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 
29 {
30 public:
31  typedef std::map<short, int> ObjectCounts;
32 
34  DtBackend(const DtSimulationAddress& addr, const DtInetAddr& ipAddr, int port,
35  int state, bool isLoaded, DtTime exerciseStartTime,
36  DtTime simTime, double timeMultiplier, DtClock* clock);
37  DtBackend(const DtSimulationAddress& addr);
38  DtBackend();
39  DtBackend(const DtBackend&);
40 
42  virtual ~DtBackend();
43 
44  DtBackend& operator=(const DtBackend&);
45 
47  virtual const DtSimulationAddress& address() const;
48 
50  virtual void printStatus();
51 
53  virtual DtInetAddr inetAddress() const;
55  virtual void setInetAddress(DtInetAddr address);
56 
58  virtual unsigned int port() const;
60  virtual void setPort(unsigned int port);
61 
63  virtual int controlState() const;
65  virtual void setControlState(int controlState);
66 
68  virtual void setScenarioRunId(int);
69  virtual int scenarioRunId() const;
70 
76  virtual DtU32 scenarioCapabilities() const;
77  virtual void setScenarioCapabilities(const DtU32&);
78 
80  virtual bool isLoaded() const;
82  virtual void setIsLoaded(bool b);
83 
85  virtual bool canSimulate() const;
86  virtual void setCanSimulate(bool);
87 
89  virtual bool loadingScenario() const;
90  virtual void setLoadingScenario(bool);
91 
93  virtual bool importingScenario() const;
94  virtual void setImportingScenario(bool);
95 
97  virtual bool creatingSimulationObjectGroup() const;
98  virtual void setCreatingSimulationObjectGroup(bool);
99 
101  virtual bool closingScenario() const;
102  virtual void setClosingScenario(bool);
103 
105  virtual bool rollingBackScenario() const;
106  virtual void setRollingBackScenario(bool);
107 
109  virtual bool loadedNewScenario() const;
110  virtual void setLoadedNewScenario(bool);
111 
113  virtual const DtTime& lastResponseTime() const;
115  virtual void setLastResponseTime(const DtTime& time);
116 
119  virtual double frameRateMean() const;
120  virtual void setFrameRateMean(double frameRateMean);
121 
124  virtual double frameRateMedian() const;
125  virtual void setFrameRateMedian(double frameRateMedian);
126 
129  virtual double frameRateStandardDeviation() const;
130  virtual void setFrameRateStandardDeviation(double
131  frameRateStandardDeviation);
132 
135  virtual double minFrameRate() const;
136  virtual void setMinFrameRate(double minFrameRate);
137 
140  virtual double maxFrameRate() const;
141  virtual void setMaxFrameRate(double maxFrameRate);
142 
145  virtual double simTimeToRealTimeRatio() const;
146  virtual void setSimTimeToRealTimeRatio(double ratio);
148 
150  virtual void setExericseStartTime(DtTime time);
151  virtual DtTime exerciseStartTime();
152 
155  virtual void setSimTime(DtTime time);
156  virtual DtTime simTime();
157 
159  virtual void setRunDurationTime(DtTime);
160  virtual DtTime runDurationTime() const;
161 
163  virtual void setSimStartSimTime(DtTime time);
164  virtual DtTime simStartSimTime() const;
165 
168  virtual void setTimeMultiplier(double multiplier);
169  virtual double timeMultiplier() const;
170 
173  //virtual void setIsOldParameterDb(bool flag);
174  //virtual bool isOldParameterDb() const;
175 
178  virtual void setIsCurrentParameterDb(bool flag);
179  virtual bool isCurrentParameterDb() const;
180 
181  virtual void setResourceMonitorEnabled(bool flag);
182  virtual bool resourceMonitorEnabled() const;
183 
185  virtual void setIsTimeManaged(bool);
186  virtual bool isTimeManaged() const;
187 
189 
190  virtual void setScenarioName(const DtString& name);
191  virtual const DtString& scenarioName() const;
193 
196 
197  virtual void setScenarioFilename(const DtFilename& name);
198  virtual const DtFilename& scenarioFilename() const;
200 
202 
203  virtual void setSimulationModelSets(const std::vector<DtFilename>&);
204  virtual const std::vector<DtFilename>& simulationModelSets() const;
206 
208 
209  virtual void setTerrainName(const DtFilename& name);
210  virtual const DtFilename& terrainName() const;
212 
214  virtual double dT() const;
215 
218 
219  virtual void setGuiTerrainName(const DtFilename& name);
220  virtual const DtFilename& guiTerrainName() const;
222 
224 
225  virtual void setSimEngineId(DtU32 id);
226  virtual DtU32 simEngineId() const;
228 
232  virtual const DtSettingsObject* lookupSetting(std::string name) const;
233 
238  virtual void setSetting(const DtSettingsObject* object);
239 
241  virtual void copySettingsMap(const DtSettingsMap&);
242 
246  virtual void setObjectCounts(const std::map<DtU16, int>&);
247  virtual void setObjectCounts(const ObjectCounts&);
248  virtual int totalLocalObjects() const;
249  const ObjectCounts& objectCounts() const
250  {
251  return myObjectCounts;
252  }
254 
260 
261  virtual DtRwKeyValueList& scenarioData();
262  virtual const DtRwKeyValueList& scenarioData() const;
264 
265 protected:
266 
267  DtSimulationAddress myAddress;
268  DtInetAddr myInetAddr;
269  DtU32 myPort;
274 
282 
287 
291 
294 
295  //bool myIsOldParameterDb;
297 
299 
301 
303  DtFilename myScenarioFilename;
304 
305  DtFilename myTerrainName;
306  DtFilename myGuiTerrainName;
307 
309 
312 
314 
321 
323 
324  std::vector<DtFilename> mySimulationModelSets;
325 
327 
329 
331 };

Document ID: Generated on Thu Mar 23 18:54:12 EDT 2017 from SVN revision 174804
Copyright © 2005-2017 VT MÄK. All Rights Reserved (www.mak.com)