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();
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 
70  const DtFilename& opdFile() const;
71  void setOpdFile(const DtFilename&);
73 
75 
76  const DtFilename& physicalWorldFile() const;
77  void setPhysicalWorldFile(const DtFilename&);
79 
81 
82  const DtFilename& detonationParametersFile() const;
83  void setDetonationParametersFile(const DtFilename&);
85 
87 
88  const DtFilename& enumerationsFile() const;
89  void setEnumerationsFile(const DtFilename&);
91 
93 
94  const DtFilename& detonationTerrainDeformParametersFile() const;
95  void setdetonationTerrainDeformParametersFile(const DtFilename&);
97 
99 
100  const DtFilename& ammunitionParametersFile() const;
101  void setAmmunitionParametersFile(const DtFilename&);
103 
105 
106  const DtFilename& indirectArtilleryTypesFile() const;
107  void setIndirectArtilleryTypesFile(const DtFilename&);
109 
111 
112  const DtFilename& commModelParameters() const;
113  void setCommModelParameters(const DtFilename&);
115 
117 
118  const DtString& comment() const;
119  void setComment(const DtString&);
121 
123 
124  const DtString& simulationObjectGroupConnection() const;
125  void setSimulationObjectGroupConnection(const DtString&);
127 
129 
130  virtual DtFilename defaultComponentAttachmentFile() const;
132  const DtFilename& filename() const;
134  virtual void setFilename(const DtFilename&);
135 
136  DtSimulationModelSet* clone() const;
137 
140  virtual DtFilename modelSetDirectory() const;
141 
143  virtual bool setModelSetDirectory(const DtFilename&);
144 
146 
147  DtComponentAttachmentList& componentAttachmentFileList();
148  const DtComponentAttachmentList& componentAttachmentFileList() const;
150 
152 
153  bool preloadParameters() const;
154  void setPreloadParameters(bool);
156 
159  virtual void setVisualDataInSharedData(bool);
160  virtual bool visualDataInSharedData() const;
162 
165  virtual void setReadOnly(bool);
166  virtual bool readOnly() const;
167 
170 
172  DtFilename getDataDirectory(bool warnOnFailure = true) const;
173 
175  DtFilename getGuiDirectory(bool warnOnFailure = true) const;
176 
178  DtFilename getExtrasDirectory() const;
179 
181  DtFilename getVisualsDirectory(bool warnOnFailure = true) const;
182 
184  DtFilename getRecycleBin(bool warnOnFailure = true) const;
185 
186  DtFilename getRootDirectory(bool warnOnFailure = true) const;
187  DtFilename getScriptedMovementDirectory(bool warnOnFailure = true) const;
188  DtFilename getUIDirectory(bool warnOnFailure = true) const;
189 
190  DtFilename getSystemDirectory(bool warnOnFailure = true) const;
191  DtFilename getParametersDirectory(bool warnOnFailure = true) const;
192  DtFilename getAmmoSelectDirectory(bool warnOnFailure = true) const;
193  DtFilename getNavDataDirectory(bool warnOnFailure = true) const;
194  DtFilename getHitDirectory(bool warnOnFailure = true) const;
195  DtFilename getDamageDirectory(bool warnOnFailure = true) const;
196  DtFilename getDetectionDirectory(bool warnOnFailure = true) const;
197  DtFilename getFormationDirectory(bool warnOnFailure = true) const;
198  DtFilename getObjectGroupsDirectory(bool warnOnFailure = false) const;
200 
203  {
204  return myOriginalVariableBindings;
205  }
206 
208  {
209  return myOriginalVariableBindings;
210  }
211 
219  virtual void setValidatorString(const DtString&);
220  virtual const DtString& validatorString() const;
222 
224  virtual void saveVariableBindingsToOpdFile();
225 
226  const DtFilename& hostilityFile() const;
227  void setHostilityFile(const DtFilename& s);
228 
232  const DtFilename& scenarioDataFile() const;
233  void setScenarioDataFile(const DtFilename& n);
235 
237 
238  virtual std::vector<DtString> includedSMSs() const;
239  virtual void setIncludedSMSs(std::vector<DtString> smss);
241 
243 
244  virtual DtString shortName() const;
245  virtual void setShortName(DtString&);
247 
250 
251  virtual DtReaderWriter::SearchPaths searchPaths() const;
252  virtual void addSearchPaths(const DtReaderWriter::SearchPaths& searchPaths);
253  virtual void clearSearchPaths();
255 
256 protected:
258  virtual DtString createSubstitutedPath(const DtFilename&, const DtString& modelSetDir);
259  virtual void setupVariableSubstitutedPaths();
260  virtual void substituteVariablePaths();
261  virtual void resetVariables();
262 
264  virtual void placeOpdVariablesIntoVariableBindings();
265 
267  virtual DtReaderWriter* readOpdFile() const;
268 
270  virtual void substituteInVariables(const DtString& variable);
271 
272 protected:
287  DtFilename myPath;
288  DtFilename myFilename;
293 
295  DtFilename mySubOpdFile;
303  DtFilename mySubHostilityFile;
306 
308 
310 };
311 
312 inline void DtSimulationModelSet::setPhysicalWorldFile(const DtFilename& f)
313 {
315 }
316 
317 inline const DtFilename& DtSimulationModelSet::physicalWorldFile() const
318 {
319  return mySubPhysicalWorldFile;
320 }
321 
323 {
326  if (DtString(f).findChar('$') == 0)
327  {
329  }
330 
332 }
333 
334 inline const DtFilename& DtSimulationModelSet::detonationParametersFile() const
335 {
337 }
338 
339 inline void DtSimulationModelSet::setEnumerationsFile(const DtFilename& f)
340 {
343  if (DtString(f).findChar('$') == 0)
344  {
346  }
347 
349 }
350 
351 inline const DtFilename& DtSimulationModelSet::enumerationsFile() const
352 {
353  return mySubEnumerationsFile;
354 }
355 
357 {
358  if (DtString(f).findChar('$') == 0)
359  {
361  }
362 
364 }
365 
367 {
369 }
370 
372 {
375  if (DtString(f).findChar('$') == 0)
376  {
378  }
379 
381 }
382 
383 inline const DtFilename& DtSimulationModelSet::ammunitionParametersFile() const
384 {
386 }
387 
389 {
391 }
392 
393 inline const DtFilename& DtSimulationModelSet::indirectArtilleryTypesFile() const
394 {
396 }
397 
398 inline const DtFilename& DtSimulationModelSet::opdFile() const
399 {
400  return mySubOpdFile;
401 }
402 
403 inline void DtSimulationModelSet::setOpdFile(const DtFilename& f)
404 {
405  mySubOpdFile = f;
406 }
407 
408 inline const DtFilename& DtSimulationModelSet::commModelParameters() const
409 {
411 }
412 
413 inline void DtSimulationModelSet::setCommModelParameters(const DtFilename& f)
414 {
416 }
417 
419 {
421 }
422 
424 {
426 }
427 
428 inline const DtFilename& DtSimulationModelSet::filename() const
429 {
430  return myFilename;
431 }
432 
433 inline void DtSimulationModelSet::setFilename(const DtFilename& f)
434 {
435  myFilename = f;
436 }
437 
439 {
440  return myComment;
441 }
442 
444 {
445  myComment = c;
446 }
447 
449 {
450  return myPreloadParameters;
451 }
452 
454 {
456 }
457 
458 inline const DtFilename& DtSimulationModelSet::path() const
459 {
460  return myPath;
461 }
462 
463 inline const DtFilename& DtSimulationModelSet::hostilityFile() const
464 {
465  return mySubHostilityFile;
466 }
467 
468 inline void DtSimulationModelSet::setHostilityFile(const DtFilename& s)
469 {
471 }
472 
473 inline const DtFilename& DtSimulationModelSet::scenarioDataFile() const
474 {
475  return mySubScenarioDataFile;
476 }
477 
478 inline void DtSimulationModelSet::setScenarioDataFile(const DtFilename& s)
479 {
481 }
482 
484 {
485  return myValidatorString;
486 }
487 
489 {
491 }
492 
494 {
496 }
497 
499 {
501 }
DtFilename mySubScenarioDataFile
Definition: simulationModelSet.h:304
DtFilename myFilename
Definition: simulationModelSet.h:288
void setScenarioDataFile(const DtFilename &n)
Returns the scenario data file containing spawn templates, force hostility relationships,.
Definition: simulationModelSet.h:478
DtRwString myHostilityFile
Definition: simulationModelSet.h:281
const DtFilename & physicalWorldFile() const
Get/set physical world file.
Definition: simulationModelSet.h:317
DtRwBoolean myPreloadParameters
Definition: simulationModelSet.h:286
const DtFilename & filename() const
Filename that this simulation model set was originally loaded from.
Definition: simulationModelSet.h:428
DtRwBoolean myVisualDataInSharedData
Definition: simulationModelSet.h:290
void setdetonationTerrainDeformParametersFile(const DtFilename &)
Get/set detonation terrain deformation parameters file.
Definition: simulationModelSet.h:356
const char * filename
Definition: ioapi.h:38
DtReaderWriter::SearchPaths mySearchPaths
Definition: simulationModelSet.h:309
const DtString & simulationObjectGroupConnection() const
Get/set simulation object group connection file to use in entity editor when launching connections...
Definition: simulationModelSet.h:493
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
void setIndirectArtilleryTypesFile(const DtFilename &)
Get/set indirect artillery types file.
Definition: simulationModelSet.h:388
void setHostilityFile(const DtFilename &s)
Definition: simulationModelSet.h:468
Definition: readerWriterRegistry.h:39
DtFilename mySubPhysicalWorldFile
Definition: simulationModelSet.h:296
DtRwString myScenarioDataFile
Definition: simulationModelSet.h:282
virtual void setFilename(const DtFilename &)
Definition: simulationModelSet.h:433
ReaderWriter object that maintains a list of reader-writer variable bindings. It keeps a list of name...
Definition: rwVariableBindings.h:27
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:483
DtRwString myValidatorString
Definition: simulationModelSet.h:284
DtFilename mySubDetonationTerrainDeformParametersFile
Definition: simulationModelSet.h:299
DtFilename mySubEnumerationsFile
Definition: simulationModelSet.h:298
DtRwString myDetonationParametersFile
Definition: simulationModelSet.h:276
void setPhysicalWorldFile(const DtFilename &)
Get/set physical world file.
Definition: simulationModelSet.h:312
bool preloadParameters() const
Sets whether or not to preload parameters when loading the simulation model set. Default is false...
Definition: simulationModelSet.h:448
const DtString & comment() const
Get/set comment that will be written to top of file when saving out.
Definition: simulationModelSet.h:438
std::vector< DtFilename > SearchPaths
Definition: readerWriter.h:92
DtRwBoolean myReadOnly
Definition: simulationModelSet.h:291
const DtFilename & opdFile() const
Get/set object parameter database file.
Definition: simulationModelSet.h:398
DtRwVariableBindings * myOriginalVariableBindings
Definition: simulationModelSet.h:307
const DtFilename & ammunitionParametersFile() const
Get/set ammunition parameters file.
Definition: simulationModelSet.h:383
DtRwString myEnumerationsFile
Definition: simulationModelSet.h:275
DtFilename myPath
Definition: simulationModelSet.h:287
DtString myComment
Definition: simulationModelSet.h:289
DtFilename mySubIndirectArtilleryTypesFile
Definition: simulationModelSet.h:301
const DtFilename & indirectArtilleryTypesFile() const
Get/set indirect artillery types file.
Definition: simulationModelSet.h:393
DtRwString myAmmunitionParametersFile
Definition: simulationModelSet.h:278
DtRwVariableBindings * originalVariableBindings()
Definition: simulationModelSet.h:207
DtRwString myIndirectArtilleryTypesFile
Definition: simulationModelSet.h:279
void setAmmunitionParametersFile(const DtFilename &)
Get/set ammunition parameters file.
Definition: simulationModelSet.h:371
const DtFilename & hostilityFile() const
Definition: simulationModelSet.h:463
const DtFilename & enumerationsFile() const
Get/set enumerations file.
Definition: simulationModelSet.h:351
const DtFilename & scenarioDataFile() const
Returns the scenario data file containing spawn templates, force hostility relationships,.
Definition: simulationModelSet.h:473
DtComponentAttachmentList myComponentAttachmentFileList
Definition: simulationModelSet.h:305
void setEnumerationsFile(const DtFilename &)
Get/set enumerations file.
Definition: simulationModelSet.h:339
void setPreloadParameters(bool)
Sets whether or not to preload parameters when loading the simulation model set. Default is false...
Definition: simulationModelSet.h:453
DtRwString myCommModelParameters
Definition: simulationModelSet.h:280
DtRwString myOpdFile
Definition: simulationModelSet.h:273
void setOpdFile(const DtFilename &)
Get/set object parameter database file.
Definition: simulationModelSet.h:403
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:277
const DtFilename & detonationTerrainDeformParametersFile() const
Get/set detonation terrain deformation parameters file.
Definition: simulationModelSet.h:366
void setCommModelParameters(const DtFilename &)
Get/set communications model file.
Definition: simulationModelSet.h:413
DtRwString myPhysicalWorldFile
Definition: simulationModelSet.h:274
DtRwString myShortname
Definition: simulationModelSet.h:292
DtFilename mySubAmmunitionParametersFile
Definition: simulationModelSet.h:300
#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:443
const DtFilename & path() const
The path that is used as the relative (or absolute) path to load all internal files from...
Definition: simulationModelSet.h:458
const DtFilename & detonationParametersFile() const
Get/set detonation parameters file.
Definition: simulationModelSet.h:334
const DtReaderWriter & operator=(const DtReaderWriter &orig)
assignment operator
const DtFilename & commModelParameters() const
Get/set communications model file.
Definition: simulationModelSet.h:408
DtRwString mySimulationObjectGroupConnection
Definition: simulationModelSet.h:285
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:302
DtFilename mySubDetonationParametersFile
Definition: simulationModelSet.h:297
void setDetonationParametersFile(const DtFilename &)
Get/set detonation parameters file.
Definition: simulationModelSet.h:322
void setSimulationObjectGroupConnection(const DtString &)
Get/set simulation object group connection file to use in entity editor when launching connections...
Definition: simulationModelSet.h:498
DtFilename mySubHostilityFile
Definition: simulationModelSet.h:303
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:488
DtRwString myIncludedSMSs
Definition: simulationModelSet.h:283
const DtRwVariableBindings * originalVariableBindings() const
Returns the original variable bindings before substitutions.
Definition: simulationModelSet.h:202
DtFilename mySubOpdFile
Substituted copies of name.
Definition: simulationModelSet.h:295
DtComponentAttachmentList & componentAttachmentFileList()
Returns the list of component attachment lookup files.
Definition: simulationModelSet.h:418

Document ID: Generated on Wed Mar 27 22:49:11 EDT 2024 from SVN revision 264633
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)