VR-Forces 4.1 Class Documentation
scenario.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2000 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 /*******************************************************************************
6 ** $RCSfile: scenario.h,v $ $Revision: 1.12 $ $State: Exp $
7 *******************************************************************************/
8 
11 
12 #ifndef DtScenario_H_
13 #define DtScenario_H_
14 
15 #include "vrfutil/rdrWritr.h"
16 #include <vlutil/vlString.h>
17 #include <vlutil/vlFilename.h>
18 #include "vrfutil/rwString.h"
19 #include "vrfutil/rwBoolean.h"
20 #include "vrfutil/rwReal.h"
21 #include "vrfutil/rwUnsigned.h"
22 #include "vrfutil/rwInt.h"
23 #include "vrfutil/vlClock.h"
24 #include "vrfutil/strIntMapper.h"
26 #include "vrfutil/rwKeyValueList.h"
29 
37 
39 
42 typedef bool (*DtPreserveMappingsFcn)(void* usr);
43 
44 #include "vrfutil/vrfutilDefines.h"
46 {
47 public:
48 
50  DtScenario();
51 
53  DtScenario(const DtString & name,
54  DtReaderWriterRegistry * const parentRegistry = 0);
55 
57  virtual ~DtScenario();
58 
60  DtScenario(const DtScenario& orig);
61 
63  DtScenario& operator=(const DtScenario& orig);
64 
66  virtual bool init();
67 
69  virtual bool readScenarioFile(const DtFilename& filename);
70 
72  virtual bool save();
73 
76  virtual bool save(const DtFilename& filename,
77  bool saveObjectMap = true);
78 
81  virtual DtScenario* clone() const;
82 
87  virtual void setComponentAttachmentRule(int rule);
88  virtual int componentAttachmentRule() const;
89 
91  virtual void setComponentAttachmentTableFilename(const DtFilename& filename);
92  virtual const DtFilename& componentAttachmentTableFilename() const;
95  virtual void setTerrainDatabaseFilename(const DtFilename& filename);
96  virtual const DtFilename& terrainDatabaseFilename() const;
97 
99  virtual void setGuiTerrainDatabaseFilename(const DtFilename& filename);
100  virtual const DtFilename& guiTerrainDatabaseFilename() const;
101 
103  virtual void setOrderOfBattleFilename(const DtFilename& filename);
104  virtual DtFilename orderOfBattleFilename() const;
105 
107  virtual void setScenarioScriptsFilename(const DtFilename& filename);
108  virtual DtFilename scenarioScriptsFilename() const;
109 
111  virtual void setPlanFilename(const DtFilename& filename);
112  virtual DtFilename planFilename() const;
113 
115 
116  virtual void setGlobalPlanFilename(const DtFilename& filename);
117  virtual DtFilename globalPlanFilename() const;
119 
121  virtual void setParameterDatabaseFilename(const DtFilename& filename);
122  virtual const DtFilename& parameterDatabaseFilename() const;
123 
125  virtual void setPhysicalWorldFilename(const DtFilename& filename);
126  virtual const DtFilename& physicalWorldFilename() const;
127 
129  virtual void setObjectMapFilename(const DtFilename& filename);
130  virtual DtFilename objectMapFilename() const;
131 
134  virtual void setOverlayFilename(const DtFilename& filename);
135  virtual DtFilename overlayFilename() const;
136 
138  virtual void setSelectionGroupsFilename(const DtFilename& filename);
139  virtual DtFilename selectionGroupsFilename() const;
140 
143  virtual void setSymbolMapFilename(const DtFilename& filename);
144  virtual const DtFilename& symbolMapFilename() const;
145 
148  virtual void setCreateMenuFilename(const DtFilename& filename);
149  virtual const DtFilename& createMenuFilename() const;
150 
154  virtual void setForceHostilityFilename(const DtFilename& filename);
155  virtual DtFilename forceHostilityFilename() const;
156 
160  virtual void setScenarioExtrasFilename(const DtFilename& f);
161  virtual DtFilename scenarioExtrasFilename() const;
163 
165  virtual void setTimeMultiplier(DtReal multiplier);
166  virtual DtReal timeMultiplier() const;
167 
169  virtual void setAutoReorganize(const bool& flag);
170  virtual const bool& autoReorganize() const;
171 
173  virtual void setRandomNumberSeed(unsigned numberSeed);
174  virtual unsigned randomNumberSeed() const;
175 
177  virtual DtString frameRateModeString() const;
178  virtual DtFrameMode frameRateMode() const;
179  virtual void setFrameRateModeString(DtString value);
180  virtual void setFrameRateMode(DtFrameMode value);
181 
183  virtual DtReal frameDeltaTime() const;
184  virtual void setFrameDeltaTime(DtReal value);
185 
188  virtual DtTime runDurationTime() const;
189  virtual void setRunDurationTime(DtTime time);
190 
192  virtual void setSimTime(DtTime time);
193  virtual DtTime simTime() const;
194 
196  virtual void setExerciseStartTime(DtTime time);
197  virtual DtTime exerciseStartTime() const;
198 
202  virtual DtRwNLengthStringVector& additionalOpdFilenames();
203  virtual const DtRwNLengthStringVector& additionalOpdFilenames() const;
204  virtual void addAdditionalOpdFilename(const DtString&);
205  virtual void removeAdditonalOpdFilename(int iIndex);
206  virtual void setAdditionalOpdFilenames(const DtRwNLengthStringVector&);
208 
211  virtual void setScenarioDescription(const DtString&);
212  virtual DtString scenarioDescription() const;
213 
219  virtual DtRwNLengthStringVector& simulationModelSetFilenames();
220  virtual const DtRwNLengthStringVector& simulationModelSetFilenames() const;
221  virtual void addSimulationModelSetFilename(const DtString&);
222  virtual void removeSimulationModelSetFilename(int iIndex);
223  virtual void setSimulationModelSetFilenames(const DtRwNLengthStringVector&);
225 
226  virtual DtRwKeyValueList& scenarioData();
227  virtual const DtRwKeyValueList& scenarioData() const;
228 
231 
232  virtual DtString scenarioName() const;
233  virtual void setScenarioName(const DtString& name);
234  virtual bool scenarioNameSpecified() const;
236 
242  static DtFilename validTerrainFile(const DtFilename&);
243 
245  virtual bool isParameterDatabaseRwStringSpecified();
246  virtual bool isPhysicalWorldRwStringSpecified();
247  virtual bool isOrderOfBattleRwStringSpecified();
248  virtual bool isScenarioScriptsRwStringSpecified();
249  virtual bool isOverlayRwStringSpecified();
250  virtual bool isSelectionGroupsRwStringSpecified();
251  virtual bool isSymbolMapRwStringSpecified();
252  virtual bool isCreateMenuRwStringSpecified();
253  virtual bool isPlanRwStringSpecified();
254  virtual bool isObjectMapRwStringSpecified();
255  virtual bool isTimeMultiplierSpecified();
256  virtual bool isAutoReorganizeRwStringSpecified();
257  virtual bool isRandomNumberSeedSpecified();
258  virtual bool isFrameRateModeSpecified();
259  virtual bool isFrameDeltaTimeSpecified();
260  virtual bool isSimTimeSpecified();
261  virtual bool isExerciseStartTimeSpecified();
262  virtual bool isForceHostilityRWStringSpecified();
263  virtual bool isScenarioExtrasRWStringSpecified();
264 
265  virtual void setFilename(const DtFilename&);
266  virtual const DtFilename& filename() const;
267 
269  virtual bool writeScenarioFile(const DtFilename & filename);
270 
273  virtual void putSelf(FILE *fp, int indentLevel = 0, bool writeUnspecified = false,
274  const DtFilename& path = DtReaderWriter::appPath());
275 
278  virtual void getSelf(DtlObjPtr args, const DtFilename& searchPath,
279  const DtVariableBindingsList& variableBindings);
280 
284  virtual bool isValid(bool allowEmptyFilenames = true, DtString* retMessage = 0) const;
285 
287  virtual double version() const;
288 
290  virtual bool relativeToScenarioFile() const;
291 
293  virtual void setToCurrentVersion();
294 
296  static double currentScenarioVersion();
297 
298 public:
299 
300  static DtString getFrameModeNameFromFrameModeType(DtFrameMode);
301 
302  static DtFrameMode getFrameModeTypeFromFrameModeName(
303  const DtString& frameModeName);
304 
305 protected:
316  virtual DtFilename absoluteFilename(const DtFilename&) const;
317 
318 protected:
319 
321 
324  DtFilename myFilename;
325 
328 
331 
334 
337 
340 
341  DtFilename myPlanFilename;
343 
346 
349 
350  DtFilename myOverlayFilename;
352 
355 
358 
361 
364 
367 
370 
372 
375 
377 
381 
383 
386 
389 
391 
393 
396 
397 protected:
398 
413 
414  static double theScenarioVersion;
415 };
416 
417 class DtAddressMap;
418 class DtList;
419 class DtBackendMap;
420 
421 typedef bool (*DtLoadBalancingFcn)(DtAddressMap* map, const DtList* backends, void* usr);
422 typedef bool (*DtRemappingFcn)(DtBackendMap* map, void* usr);
423 
425 {
426 public:
428  DtLoadBalancingFcnInfo(const std::string&, DtLoadBalancingFcn fcn, void*);
430 
432 
433  std::string myLoadBalancer;
436 };
437 
439 {
440 public:
442  DtScenarioLoadInformation(bool createAsNew, DtScenario*, DtLoadBalancingFcnInfo, DtRemappingFcn fcn = 0, void* remappingUsrData = 0,
443  int startTimeOfDay = 12 * 3600);
445 
447 
448 public:
455 };
456 
457 #endif
458 

Document ID: Generated on Tue Jan 29 18:21:16 EST 2013 from SVN revision 123193
Copyright © 2005-2013 VT MÄK Inc. All Rights Reserved (www.mak.com)