VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
simulationModelSet.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 
13 #include <readerWriter/rwString.h>
14 #include <readerWriter/rwBoolean.h>
17 
18 #include <vlutil/vlFilename.h>
19 #include "vrfutil/vrfutilDefines.h"
20 
22 
32 {
33 public:
34 
37 
39  parentRegistry = NULL);
40 
42  virtual ~DtSimulationModelSet() override;
43 
46  DtReaderWriterRegistry* parentRegistry = NULL);
47 
50 
52  virtual bool load(const DtFilename&);
53 
60  virtual bool save(const DtFilename&, bool rebind = true);
61 
63  virtual bool save(bool rebind = true);
64 
66  const DtFilename& path() const;
67 
69  virtual void updateVersion();
70 
71  int version() const;
72  virtual bool passesVersionTest() const;
73 
75 
76  const DtFilename& opdFile() const;
77  void setOpdFile(const DtFilename&);
79 
81 
82  const DtFilename& physicalWorldFile() const;
83  void setPhysicalWorldFile(const DtFilename&);
85 
87 
88  const DtFilename& detonationParametersFile() const;
89  void setDetonationParametersFile(const DtFilename&);
91 
93 
94  const DtFilename& enumerationsFile() const;
95  void setEnumerationsFile(const DtFilename&);
97 
99 
100  const DtFilename& detonationTerrainDeformParametersFile() const;
101  void setdetonationTerrainDeformParametersFile(const DtFilename&);
103 
105 
106  const DtFilename& ammunitionParametersFile() const;
107  void setAmmunitionParametersFile(const DtFilename&);
109 
111 
112  const DtFilename& indirectArtilleryTypesFile() const;
113  void setIndirectArtilleryTypesFile(const DtFilename&);
115 
117 
118  const DtFilename& commModelParameters() const;
119  void setCommModelParameters(const DtFilename&);
121 
123 
124  const DtString& comment() const;
125  void setComment(const DtString&);
127 
129 
130  const DtString& simulationObjectGroupConnection() const;
131  void setSimulationObjectGroupConnection(const DtString&);
133 
135 
136  virtual DtFilename defaultComponentAttachmentFile() const;
138  const DtFilename& filename() const;
140  virtual void setFilename(const DtFilename&);
141 
142  DtSimulationModelSet* clone() const;
143 
146  virtual DtFilename modelSetDirectory() const;
147 
149  virtual bool setModelSetDirectory(const DtFilename&);
150 
152 
153  DtComponentAttachmentList& componentAttachmentFileList();
154  const DtComponentAttachmentList& componentAttachmentFileList() const;
156 
158 
159  bool preloadParameters() const;
160  void setPreloadParameters(bool);
162 
165  virtual void setVisualDataInSharedData(bool);
166  virtual bool visualDataInSharedData() const;
168 
171  virtual void setReadOnly(bool);
172  virtual bool readOnly() const;
173 
176 
178  DtFilename getDataDirectory(bool warnOnFailure = true) const;
179 
181  DtFilename getGuiDirectory(bool warnOnFailure = true) const;
182 
184  DtFilename getExtrasDirectory() const;
185 
187  DtFilename getVisualsDirectory(bool warnOnFailure = true) const;
188 
190  DtFilename getRecycleBin(bool warnOnFailure = true) const;
191 
192  DtFilename getRootDirectory(bool warnOnFailure = true) const;
193  DtFilename getScriptedMovementDirectory(bool warnOnFailure = true) const;
194  DtFilename getUIDirectory(bool warnOnFailure = true) const;
195 
196  DtFilename getSystemDirectory(bool warnOnFailure = true) const;
197  DtFilename getParametersDirectory(bool warnOnFailure = true) const;
198  DtFilename getAmmoSelectDirectory(bool warnOnFailure = true) const;
199  DtFilename getNavDataDirectory(bool warnOnFailure = true) const;
200  DtFilename getHitDirectory(bool warnOnFailure = true) const;
201  DtFilename getDamageDirectory(bool warnOnFailure = true) const;
202  DtFilename getDetectionDirectory(bool warnOnFailure = true) const;
203  DtFilename getFormationDirectory(bool warnOnFailure = true) const;
204  DtFilename getObjectGroupsDirectory(bool warnOnFailure = false) const;
206 
209  {
210  return myOriginalVariableBindings;
211  }
212 
214  {
215  return myOriginalVariableBindings;
216  }
217 
225  virtual void setValidatorString(const DtString&);
226  virtual const DtString& validatorString() const;
228 
231  virtual void setRequiredSimPlugins(const DtString&);
232  virtual const std::vector<DtString>& requiredSimProtocolIndependentPlugins() const;
233  virtual const std::vector<DtString>& requiredSimDisPlugins() const;
234  virtual const std::vector<DtString>& requiredSimHla1516ePlugins() const;
235  virtual const std::vector<DtString>& requiredSimHla4Plugins() const;
237 
240  virtual void setRequiredGuiPlugins(const DtString&);
241  virtual const std::vector<DtString>& requiredGuiProtocolIndependentPlugins() const;
242  virtual const std::vector<DtString>& requiredGuiDisPlugins() const;
243  virtual const std::vector<DtString>& requiredGuiHla1516ePlugins() const;
244  virtual const std::vector<DtString>& requiredGuiHla4Plugins() const;
246 
248  virtual void saveVariableBindingsToOpdFile();
249 
250  const DtFilename& hostilityFile() const;
251  void setHostilityFile(const DtFilename& s);
252 
256  const DtFilename& scenarioDataFile() const;
257  void setScenarioDataFile(const DtFilename& n);
259 
261 
262  virtual std::vector<DtString> includedSMSs() const;
263  virtual void setIncludedSMSs(std::vector<DtString> smss);
265 
267 
268  virtual DtString shortName() const;
269  virtual void setShortName(DtString&);
271 
274 
275  virtual DtReaderWriter::SearchPaths searchPaths() const;
276  virtual void addSearchPaths(const DtReaderWriter::SearchPaths& searchPaths);
277  virtual void clearSearchPaths();
279 
280 protected:
282  virtual DtString createSubstitutedPath(const DtFilename&, const DtString& modelSetDir);
283  virtual void setupVariableSubstitutedPaths();
284  virtual void substituteVariablePaths();
285  virtual void resetVariables();
286 
288  virtual void placeOpdVariablesIntoVariableBindings();
289 
291  virtual DtReaderWriter* readOpdFile() const;
292 
294  virtual void substituteInVariables(const DtString& variable);
295 
296 protected:
311  DtFilename myPath;
312  DtFilename myFilename;
325 
326  mutable std::vector<DtString> myRequiredSimPluginsList;
327  mutable std::vector<DtString> myRequiredSimDisPluginsList;
328  mutable std::vector<DtString> myRequiredSimHla1516ePluginsList;
329  mutable std::vector<DtString> myRequiredSimHla4PluginsList;
330  mutable std::vector<DtString> myRequiredGuiPluginsList;
331  mutable std::vector<DtString> myRequiredGuiDisPluginsList;
332  mutable std::vector<DtString> myRequiredGuiHla1516ePluginsList;
333  mutable std::vector<DtString> myRequiredGuiHla4PluginsList;
334 
336  DtFilename mySubOpdFile;
344  DtFilename mySubHostilityFile;
347 
349 
351 
353 };
354 
356 {
357  return myVersion;
358 }
359 
360 inline void DtSimulationModelSet::setPhysicalWorldFile(const DtFilename& f)
361 {
363 }
364 
365 inline const DtFilename& DtSimulationModelSet::physicalWorldFile() const
366 {
367  return mySubPhysicalWorldFile;
368 }
369 
371 {
374  if (DtString(f).findChar('$') == 0)
375  {
377  }
378 
380 }
381 
382 inline const DtFilename& DtSimulationModelSet::detonationParametersFile() const
383 {
385 }
386 
387 inline void DtSimulationModelSet::setEnumerationsFile(const DtFilename& f)
388 {
391  if (DtString(f).findChar('$') == 0)
392  {
394  }
395 
397 }
398 
399 inline const DtFilename& DtSimulationModelSet::enumerationsFile() const
400 {
401  return mySubEnumerationsFile;
402 }
403 
405 {
406  if (DtString(f).findChar('$') == 0)
407  {
409  }
410 
412 }
413 
415 {
417 }
418 
420 {
423  if (DtString(f).findChar('$') == 0)
424  {
426  }
427 
429 }
430 
431 inline const DtFilename& DtSimulationModelSet::ammunitionParametersFile() const
432 {
434 }
435 
437 {
439 }
440 
441 inline const DtFilename& DtSimulationModelSet::indirectArtilleryTypesFile() const
442 {
444 }
445 
446 inline const DtFilename& DtSimulationModelSet::opdFile() const
447 {
448  return mySubOpdFile;
449 }
450 
451 inline void DtSimulationModelSet::setOpdFile(const DtFilename& f)
452 {
453  mySubOpdFile = f;
454 }
455 
456 inline const DtFilename& DtSimulationModelSet::commModelParameters() const
457 {
459 }
460 
461 inline void DtSimulationModelSet::setCommModelParameters(const DtFilename& f)
462 {
464 }
465 
467 {
469 }
470 
472 {
474 }
475 
476 inline const DtFilename& DtSimulationModelSet::filename() const
477 {
478  return myFilename;
479 }
480 
481 inline void DtSimulationModelSet::setFilename(const DtFilename& f)
482 {
483  myFilename = f;
484 }
485 
487 {
488  return myComment;
489 }
490 
492 {
493  myComment = c;
494 }
495 
497 {
498  return myPreloadParameters;
499 }
500 
502 {
504 }
505 
506 inline const DtFilename& DtSimulationModelSet::path() const
507 {
508  return myPath;
509 }
510 
511 inline const DtFilename& DtSimulationModelSet::hostilityFile() const
512 {
513  return mySubHostilityFile;
514 }
515 
516 inline void DtSimulationModelSet::setHostilityFile(const DtFilename& s)
517 {
519 }
520 
521 inline const DtFilename& DtSimulationModelSet::scenarioDataFile() const
522 {
523  return mySubScenarioDataFile;
524 }
525 
526 inline void DtSimulationModelSet::setScenarioDataFile(const DtFilename& s)
527 {
529 }
530 
532 {
533  return myValidatorString;
534 }
535 
537 {
539 }
540 
542 {
544  myRequiredSimPluginsList.clear();
545 }
546 
548 {
550  myRequiredGuiPluginsList.clear();
551 }
552 
554 {
556 }
557 
559 {
561 }
DtFilename mySubScenarioDataFile
Definition: simulationModelSet.h:345
DtFilename myFilename
Definition: simulationModelSet.h:312
void setScenarioDataFile(const DtFilename &n)
Returns the scenario data file containing spawn templates, force hostility relationships,.
Definition: simulationModelSet.h:526
DtRwString myRequiredGuiDisPlugins
Definition: simulationModelSet.h:322
DtRwString myHostilityFile
Definition: simulationModelSet.h:305
const DtFilename & physicalWorldFile() const
Get/set physical world file.
Definition: simulationModelSet.h:365
DtRwBoolean myPreloadParameters
Definition: simulationModelSet.h:310
int version() const
Definition: simulationModelSet.h:355
const DtFilename & filename() const
Filename that this simulation model set was originally loaded from.
Definition: simulationModelSet.h:476
DtRwBoolean myVisualDataInSharedData
Definition: simulationModelSet.h:314
DtRwInt myVersion
Definition: simulationModelSet.h:352
void setdetonationTerrainDeformParametersFile(const DtFilename &)
Get/set detonation terrain deformation parameters file.
Definition: simulationModelSet.h:404
const char * filename
Definition: ioapi.h:38
DtReaderWriter::SearchPaths mySearchPaths
Definition: simulationModelSet.h:350
std::vector< DtString > myRequiredGuiHla4PluginsList
Definition: simulationModelSet.h:333
const DtString & simulationObjectGroupConnection() const
Get/set simulation object group connection file to use in entity editor when launching connections...
Definition: simulationModelSet.h:553
std::vector< DtString > myRequiredSimDisPluginsList
Definition: simulationModelSet.h:327
Definition: readerWriter.h:85
Description: Readable, Writable DtString Variable substitutions are done on this object when it is re...
Definition: rwString.h:20
DtRwTemplatedListPtr< DtRwString, true > DtComponentAttachmentList
Definition: simulationModelSet.h:21
virtual void setRequiredSimPlugins(const DtString &)
The list of sim plug-in names required for this scenario to run.
Definition: simulationModelSet.h:541
void setIndirectArtilleryTypesFile(const DtFilename &)
Get/set indirect artillery types file.
Definition: simulationModelSet.h:436
DtRwString myRequiredSimHla1516ePlugins
Definition: simulationModelSet.h:319
void setHostilityFile(const DtFilename &s)
Definition: simulationModelSet.h:516
Definition: readerWriterRegistry.h:39
DtFilename mySubPhysicalWorldFile
Definition: simulationModelSet.h:337
DtRwString myScenarioDataFile
Definition: simulationModelSet.h:306
std::vector< DtString > myRequiredGuiHla1516ePluginsList
Definition: simulationModelSet.h:332
virtual void setFilename(const DtFilename &)
Definition: simulationModelSet.h:481
DtRwString myRequiredGuiHla4Plugins
Definition: simulationModelSet.h:324
ReaderWriter object that maintains a list of reader-writer variable bindings. It keeps a list of name...
Definition: rwVariableBindings.h:27
std::vector< DtString > myRequiredSimPluginsList
Definition: simulationModelSet.h:326
virtual const DtString & validatorString() const
The string that will be parsed to find out which validator(s) are to be used to validate this sms (th...
Definition: simulationModelSet.h:531
DtRwString myValidatorString
Definition: simulationModelSet.h:308
DtFilename mySubDetonationTerrainDeformParametersFile
Definition: simulationModelSet.h:340
DtFilename mySubEnumerationsFile
Definition: simulationModelSet.h:339
DtRwString myDetonationParametersFile
Definition: simulationModelSet.h:300
void setPhysicalWorldFile(const DtFilename &)
Get/set physical world file.
Definition: simulationModelSet.h:360
bool preloadParameters() const
Sets whether or not to preload parameters when loading the simulation model set. Default is false...
Definition: simulationModelSet.h:496
const DtString & comment() const
Get/set comment that will be written to top of file when saving out.
Definition: simulationModelSet.h:486
Description: Readable, Writable int.
Definition: rwInt.h:25
std::vector< DtFilename > SearchPaths
Definition: readerWriter.h:92
DtRwBoolean myReadOnly
Definition: simulationModelSet.h:315
const DtFilename & opdFile() const
Get/set object parameter database file.
Definition: simulationModelSet.h:446
std::vector< DtString > myRequiredGuiDisPluginsList
Definition: simulationModelSet.h:331
std::vector< DtString > myRequiredSimHla4PluginsList
Definition: simulationModelSet.h:329
DtRwVariableBindings * myOriginalVariableBindings
Definition: simulationModelSet.h:348
const DtFilename & ammunitionParametersFile() const
Get/set ammunition parameters file.
Definition: simulationModelSet.h:431
DtRwString myEnumerationsFile
Definition: simulationModelSet.h:299
DtFilename myPath
Definition: simulationModelSet.h:311
DtString myComment
Definition: simulationModelSet.h:313
DtFilename mySubIndirectArtilleryTypesFile
Definition: simulationModelSet.h:342
DtRwString myRequiredSimDisPlugins
Definition: simulationModelSet.h:318
const DtFilename & indirectArtilleryTypesFile() const
Get/set indirect artillery types file.
Definition: simulationModelSet.h:441
DtRwString myAmmunitionParametersFile
Definition: simulationModelSet.h:302
std::vector< DtString > myRequiredSimHla1516ePluginsList
Definition: simulationModelSet.h:328
DtRwVariableBindings * originalVariableBindings()
Definition: simulationModelSet.h:213
DtRwString myIndirectArtilleryTypesFile
Definition: simulationModelSet.h:303
virtual void setRequiredGuiPlugins(const DtString &)
The list of GUI plug-in names required for this scenario to run.
Definition: simulationModelSet.h:547
void setAmmunitionParametersFile(const DtFilename &)
Get/set ammunition parameters file.
Definition: simulationModelSet.h:419
const DtFilename & hostilityFile() const
Definition: simulationModelSet.h:511
const DtFilename & enumerationsFile() const
Get/set enumerations file.
Definition: simulationModelSet.h:399
const DtFilename & scenarioDataFile() const
Returns the scenario data file containing spawn templates, force hostility relationships,.
Definition: simulationModelSet.h:521
DtComponentAttachmentList myComponentAttachmentFileList
Definition: simulationModelSet.h:346
void setEnumerationsFile(const DtFilename &)
Get/set enumerations file.
Definition: simulationModelSet.h:387
void setPreloadParameters(bool)
Sets whether or not to preload parameters when loading the simulation model set. Default is false...
Definition: simulationModelSet.h:501
DtRwString myCommModelParameters
Definition: simulationModelSet.h:304
DtRwString myOpdFile
Definition: simulationModelSet.h:297
void setOpdFile(const DtFilename &)
Get/set object parameter database file.
Definition: simulationModelSet.h:451
A simulation model set contains all the information that can be used to support a scenario either for...
Definition: simulationModelSet.h:31
Description: Readable, Writable bool.
Definition: rwBoolean.h:26
DtRwString myDetonationTerrainDeformParametersFile
Definition: simulationModelSet.h:301
const DtFilename & detonationTerrainDeformParametersFile() const
Get/set detonation terrain deformation parameters file.
Definition: simulationModelSet.h:414
void setCommModelParameters(const DtFilename &)
Get/set communications model file.
Definition: simulationModelSet.h:461
DtRwString myRequiredSimHla4Plugins
Definition: simulationModelSet.h:320
DtRwString myPhysicalWorldFile
Definition: simulationModelSet.h:298
DtRwString myRequiredSimPlugins
Definition: simulationModelSet.h:317
DtRwString myShortname
Definition: simulationModelSet.h:316
DtFilename mySubAmmunitionParametersFile
Definition: simulationModelSet.h:341
#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
void setComment(const DtString &)
Get/set comment that will be written to top of file when saving out.
Definition: simulationModelSet.h:491
const DtFilename & path() const
The path that is used as the relative (or absolute) path to load all internal files from...
Definition: simulationModelSet.h:506
DtRwString myRequiredGuiHla1516ePlugins
Definition: simulationModelSet.h:323
const DtFilename & detonationParametersFile() const
Get/set detonation parameters file.
Definition: simulationModelSet.h:382
const DtReaderWriter & operator=(const DtReaderWriter &orig)
assignment operator
const DtFilename & commModelParameters() const
Get/set communications model file.
Definition: simulationModelSet.h:456
DtRwString mySimulationObjectGroupConnection
Definition: simulationModelSet.h:309
virtual void setUnsubstitutedString(const DtString &)
Sets the unsubstitude string value. Should not be called unless this is really an unsubstitude string...
DtFilename mySubCommModelParameters
Definition: simulationModelSet.h:343
DtFilename mySubDetonationParametersFile
Definition: simulationModelSet.h:338
void setDetonationParametersFile(const DtFilename &)
Get/set detonation parameters file.
Definition: simulationModelSet.h:370
void setSimulationObjectGroupConnection(const DtString &)
Get/set simulation object group connection file to use in entity editor when launching connections...
Definition: simulationModelSet.h:558
std::vector< DtString > myRequiredGuiPluginsList
Definition: simulationModelSet.h:330
DtRwString myRequiredGuiPlugins
Definition: simulationModelSet.h:321
DtFilename mySubHostilityFile
Definition: simulationModelSet.h:344
virtual void setValidatorString(const DtString &)
The string that will be parsed to find out which validator(s) are to be used to validate this sms (th...
Definition: simulationModelSet.h:536
DtRwString myIncludedSMSs
Definition: simulationModelSet.h:307
const DtRwVariableBindings * originalVariableBindings() const
Returns the original variable bindings before substitutions.
Definition: simulationModelSet.h:208
DtFilename mySubOpdFile
Substituted copies of name.
Definition: simulationModelSet.h:336
DtComponentAttachmentList & componentAttachmentFileList()
Returns the list of component attachment lookup files.
Definition: simulationModelSet.h:466

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)