VR-Forces 4.3.1 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
scenario.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2013 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
9 #pragma once
10 
11 #include "vrfutil/readerWriter.h"
12 #include <vlutil/vlString.h>
13 #include <vlutil/vlFilename.h>
14 #include "vrfutil/rwString.h"
15 #include "vrfutil/rwBoolean.h"
16 #include "vrfutil/rwReal.h"
17 #include "vrfutil/rwUnsigned.h"
18 #include "vrfutil/rwInt.h"
19 #include "vrfutil/simClock.h"
22 #include "vrfutil/rwKeyValueList.h"
24 #include <vrfmsgs/messageTypes.h>
25 
33 
38 
41 typedef bool (*DtPreserveMappingsFcn)(void* usr);
42 
43 #include "vrfutil/vrfutilDefines.h"
45 {
46 public:
47 
49  DtScenario();
50 
52  DtScenario(const DtString & name,
53  DtReaderWriterRegistry * const parentRegistry = 0);
54 
56  virtual ~DtScenario();
57 
59  DtScenario(const DtScenario& orig);
60 
62  DtScenario& operator=(const DtScenario& orig);
63 
65  virtual bool init();
66 
68  virtual bool readScenarioFile(const DtFilename& filename);
69 
71  virtual bool save();
72 
75  virtual bool save(const DtFilename& filename,
76  bool saveObjectMap = true);
77 
80  virtual DtScenario* clone() const;
81 
86  virtual void setComponentAttachmentRule(int rule);
87  virtual int componentAttachmentRule() const;
88 
90  virtual void setComponentAttachmentTableFilename(const DtFilename& filename);
91  virtual const DtFilename& componentAttachmentTableFilename() const;
94  virtual void setTerrainDatabaseFilename(const DtFilename& filename);
95  virtual const DtFilename& terrainDatabaseFilename() const;
96 
98  virtual void setGuiTerrainDatabaseFilename(const DtFilename& filename);
99  virtual const DtFilename& guiTerrainDatabaseFilename() const;
100 
102  virtual void setOrderOfBattleFilename(const DtFilename& filename);
103  virtual DtFilename orderOfBattleFilename() const;
104 
106  virtual void setScenarioScriptsFilename(const DtFilename& filename);
107  virtual DtFilename scenarioScriptsFilename() const;
108 
110  virtual void setPlanFilename(const DtFilename& filename);
111  virtual DtFilename planFilename() const;
112 
114 
115  virtual void setGlobalPlanFilename(const DtFilename& filename);
116  virtual DtFilename globalPlanFilename() const;
118 
120  virtual void setParameterDatabaseFilename(const DtFilename& filename);
121  virtual const DtFilename& parameterDatabaseFilename() const;
122 
124  virtual void setPhysicalWorldFilename(const DtFilename& filename);
125  virtual const DtFilename& physicalWorldFilename() const;
126 
128  virtual void setObjectMapFilename(const DtFilename& filename);
129  virtual DtFilename objectMapFilename() const;
130 
133  virtual void setOverlayFilename(const DtFilename& filename);
134  virtual DtFilename overlayFilename() const;
135 
137  virtual void setSelectionGroupsFilename(const DtFilename& filename);
138  virtual DtFilename selectionGroupsFilename() const;
139 
142  virtual void setSymbolMapFilename(const DtFilename& filename);
143  virtual const DtFilename& symbolMapFilename() const;
144 
147  virtual void setCreateMenuFilename(const DtFilename& filename);
148  virtual const DtFilename& createMenuFilename() const;
149 
153  virtual void setForceHostilityFilename(const DtFilename& filename);
154  virtual DtFilename forceHostilityFilename() const;
155 
159  virtual void setScenarioExtrasFilename(const DtFilename& f);
160  virtual DtFilename scenarioExtrasFilename() const;
162 
164  virtual void setTimeMultiplier(DtReal multiplier);
165  virtual DtReal timeMultiplier() const;
166 
168  virtual void setAutoReorganize(const bool& flag);
169  virtual const bool& autoReorganize() const;
170 
172  virtual void setRandomNumberSeed(long int numberSeed);
173  virtual long int randomNumberSeed() const;
174 
176  virtual DtString frameRateModeString() const;
177  virtual DtFrameMode frameRateMode() const;
178  virtual void setFrameRateModeString(DtString value);
179  virtual void setFrameRateMode(DtFrameMode value);
180 
182  virtual DtReal frameDeltaTime() const;
183  virtual void setFrameDeltaTime(DtReal value);
184 
187  virtual DtTime runDurationTime() const;
188  virtual void setRunDurationTime(DtTime time);
189 
191  virtual void setSimTime(DtTime time);
192  virtual DtTime simTime() const;
193 
195  virtual void setExerciseStartDateAndTime(int year, int month, int day, int hour, int minute, int second);
196 
198  virtual void setExerciseStartDateAndTime(DtTime time);
199 
201  virtual void setExerciseStartTime(DtTime time);
202 
204  virtual DtTime exerciseStartTime() const;
205 
210  virtual void setSetScenarioStartTimeAtSpecifiedLocalTimeOnFirstObjectCreation(bool, int i = 10 * 3600);
211  virtual int setScenarioStartTimeAtSpecifiedLocalTimeOnFirstObjectCreation() const;
212  virtual bool shouldSetScenarioStartTimeAtSpecifiedLocalTimeOnFirstObjectCreation() const;
213 
217  virtual DtRwNLengthStringVector& additionalOpdFilenames();
218  virtual const DtRwNLengthStringVector& additionalOpdFilenames() const;
219  virtual void addAdditionalOpdFilename(const DtString&);
220  virtual void removeAdditonalOpdFilename(int iIndex);
221  virtual void setAdditionalOpdFilenames(const DtRwNLengthStringVector&);
223 
226  virtual void setScenarioDescription(const DtString&);
227  virtual DtString scenarioDescription() const;
228 
234  virtual DtRwNLengthStringVector& simulationModelSetFilenames();
235  virtual const DtRwNLengthStringVector& simulationModelSetFilenames() const;
236  virtual void addSimulationModelSetFilename(const DtString&);
237  virtual void removeSimulationModelSetFilename(int iIndex);
238  virtual void setSimulationModelSetFilenames(const DtRwNLengthStringVector&);
239  virtual void setSimulationModelSetFilenames(const std::vector<DtFilename>&);
240  virtual void setSimulationModelSetFilenames(const std::vector<std::string>&);
242 
248 
249  virtual DtRwKeyValueList& scenarioData();
250  virtual const DtRwKeyValueList& scenarioData() const;
252 
255 
256  virtual DtString scenarioName() const;
257  virtual void setScenarioName(const DtString& name);
258  virtual bool scenarioNameSpecified() const;
260 
266  static DtFilename validTerrainFile(const DtFilename&);
267 
269  virtual bool isParameterDatabaseRwStringSpecified();
270  virtual bool isPhysicalWorldRwStringSpecified();
271  virtual bool isOrderOfBattleRwStringSpecified();
272  virtual bool isScenarioScriptsRwStringSpecified();
273  virtual bool isOverlayRwStringSpecified();
274  virtual bool isSelectionGroupsRwStringSpecified();
275  virtual bool isSymbolMapRwStringSpecified();
276  virtual bool isCreateMenuRwStringSpecified();
277  virtual bool isPlanRwStringSpecified();
278  virtual bool isObjectMapRwStringSpecified();
279  virtual bool isTimeMultiplierSpecified();
280  virtual bool isAutoReorganizeRwStringSpecified();
281  virtual bool isRandomNumberSeedSpecified();
282  virtual bool isFrameRateModeSpecified();
283  virtual bool isRunDurationTimeSpecified();
284  virtual bool isFrameDeltaTimeSpecified();
285  virtual bool isSimTimeSpecified();
286  virtual bool isExerciseStartTimeSpecified();
287  virtual bool isForceHostilityRWStringSpecified();
288  virtual bool isScenarioExtrasRWStringSpecified();
289 
290  virtual void setFilename(const DtFilename&);
291  virtual const DtFilename& filename() const;
292 
294  virtual bool writeScenarioFile(const DtFilename & filename);
295 
298  virtual void putSelf(FILE *fp, int indentLevel = 0, bool writeUnspecified = false,
299  const DtFilename& path = DtReaderWriter::appPath());
300 
303  virtual void getSelf(DtlObjPtr args, const DtReaderWriter::SearchPaths& searchPaths,
304  const DtVariableBindingsList& variableBindings);
305 
309  virtual bool isValid(bool allowEmptyFilenames = true, DtString* retMessage = 0) const;
310 
312  virtual double version() const;
313 
315  virtual bool relativeToScenarioFile() const;
316 
318  virtual void setToCurrentVersion();
319 
321  static double currentScenarioVersion();
322 
323 public:
324 
325  static DtString getFrameModeNameFromFrameModeType(DtFrameMode);
326 
327  static DtFrameMode getFrameModeTypeFromFrameModeName(
328  const DtString& frameModeName);
329 
330 protected:
341  virtual DtFilename absoluteFilename(const DtFilename&) const;
342 
343 protected:
344 
346 
349  DtFilename myFilename;
350 
353 
356 
359 
362 
365 
366  DtFilename myPlanFilename;
368 
371 
374 
375  DtFilename myOverlayFilename;
377 
380 
383 
386 
389 
392 
395 
397 
400 
402 
406 
408 
411 
414 
416 
418 
421 
422 protected:
423 
438 
439  static double theScenarioVersion;
440 };
441 
442 class DtAddressMap;
443 class DtList;
444 class DtBackendMap;
445 
446 typedef bool (*DtLoadBalancingFcn)(DtAddressMap* map, const DtList* backends, void* usr);
447 typedef bool (*DtRemappingFcn)(DtBackendMap* map, void* usr);
448 
450 {
451 public:
453  DtLoadBalancingFcnInfo(const std::string&, DtLoadBalancingFcn fcn, void*);
455 
457 
458  std::string myLoadBalancer;
461 };
462 
464 {
465 public:
467  DtScenarioLoadInformation(bool createAsNew, DtScenario*, DtLoadBalancingFcnInfo, DtRemappingFcn fcn = 0, void* remappingUsrData = 0,
468  time_t startTimeOfDay = 12 * 3600);
470 
472 
473 public:
480 };

Document ID: Generated on Wed Jul 29 00:55:00 EDT 2015 from SVN revision 155257
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)