VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
simulationModelSetLoader.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 2020 MaK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 
8 
9 #pragma once
10 
11 #if !defined(Q_MOC_RUN)
21 
23 #include <vrfutil/rwForces.h>
29 #include <vrfutil/formationTable.h>
30 #include <vlutil/vlFilename.h>
32 #include <mtl/envValue.h>
33 #include <matrix/3dBoundingVolume.h>
35 #include <vrvUtil/DtUnicode.h>
36 #include <QtCore/QHash>
37 #include <QtGui/QPixmap>
38 #include <QtCore/QObject>
42 
44 #include <tbb/mutex.h>
45 #include <tbb/spin_mutex.h>
46 
47 #endif
48 
49 class DtEnvList;
57 class QTranslator;
59 class DtRwVisualMetaData;
60 class DtAmmunitionParams;
61 class DtDetonationParams;
70 
71 namespace makVrf
72 {
73  class DtEntityMapperKey;
74  class DtVrfVisualsManager;
75  class DtVrfEntityTypeMapper;
76  class DtVrfGuiForceManager;
77 }
78 
79 namespace makVrv
80 {
81  class DtModelDefinitionManager;
82  class DtEntityTypeMapper;
83  class DtModelDefinition;
84 }
85 
86 class DtObjectType;
87 class DtModelSet;
88 class QComboBox;
90 class DtVariableBindingList;
92 class DtEnumLoader;
93 class DtEnumDictionary;
94 
95 static const int DtTemplateKindBase = 400;
96 
98 {
99 public:
101  {
102  LoadDataFiles = 0x00000001,
103  LoadParameterFiles = 0x00000002,
104  LoadSystemFiles = 0x00000004,
105  LoadSupportingFiles = 0x00000008,
106  LoadStandardSensorObjects = 0x00000010,
107  LoadTranslationFiles = 0x00000020,
108  LoadVisualFiles = 0x00000040,
109  LoadOrCreateVisualFiles = 0x00000080,
110  LoadAutoTagInformation = 0x00000100,
111  LoadFunctionInformation = 0x00000200,
112  LoadAll = LoadDataFiles | LoadParameterFiles | LoadSystemFiles | LoadSupportingFiles | LoadStandardSensorObjects | LoadTranslationFiles | LoadOrCreateVisualFiles | LoadAutoTagInformation | LoadFunctionInformation
113  };
114 
116  {
117  SystemCategories = 0,
118  EntityCategories = 1,
119  DefaultDeployableCountries = 2,
120  DefaultOverlayLayers = 3
121  };
122 
124  {
125  ParameterStruct() : params(0), isMasterSMS(false) {};
126  ParameterStruct(DtVrfObjectParameters* p, bool b, const DtFilename& f) : params(p), isMasterSMS(b), file(f) {};
127  ParameterStruct(const ParameterStruct& orig) : params(orig.params), isMasterSMS(orig.isMasterSMS), file(orig.file) {};
128 
129  DtVrfObjectParameters* params;
131  DtFilename file;
132  };
133 
134  typedef std::map<DtString, ParameterStruct> ParametersMap;
135 
136  typedef DtAmmunitionManager*(*AmmunitionManagerCreator)();
137 
139  {
140  public:
143 
144  virtual ~EnvironmentContainer();
145 
146  void seedFrom(DtEnvironmentSP env, DtEnvValueSP root);
147 
148  DtEnvironmentSP copyEnvironment(DtEnvironmentSP) const;
149  void reparentEnvironmentChildren(DtEnvList*, DtEnvValueSP root) const;
150 
151  DtEnvValueSP backup();
152  DtEnvValueSP update();
153 
154  void remove(DtEnvValueSP originalNode, DtEnvValueSP modifiedNode);
155  bool isEmpty() const;
156 
157  DtEnvValueSP replace(DtEnvironmentSP env, DtEnvValueSP node, DtEnvValueSP replaceWith);
158  void reparentRoots(DtEnvValueSP templateRoot, DtEnvValueSP newRoot) const;
159 
162  };
163 
164  typedef boost::shared_ptr<EnvironmentContainer> EnvironmentContainerSP;
165 
166  class EntityData : public DtObjectType
167  {
168  public:
169  EntityData();
170  virtual ~EntityData();
171  EntityData(const DtObjectType& objectType, const DtObjectType& matchType = DtObjectType::nullType());
172  EntityData(const EntityData& t);
173 
174  //sets the object type
175  EntityData& operator=(const DtObjectType&);
176 
177  EntityData& operator=(const EntityData&);
178 
179  virtual EntityData* clone() const;
180 
181  //compares to the object type
182  bool operator>(const DtObjectType& rhs) const
183  {
184  if (*this < rhs)
185  {
186  return false;
187  }
188  else
189  {
190  return true;
191  }
192  }
193 
194  //compares to the object type
195  bool operator>(const EntityData& rhs) const
196  {
197  if (*this < rhs)
198  {
199  return false;
200  }
201  else
202  {
203  return true;
204  }
205  }
206 
208  std::string myDataFile;
209 
210  DtEnvValueSP myOriginalDataNode;
212  //this is the environment that includes the parent files (if they exist)
214 
217 
220 
223 
224 
227 
228  std::list<DtObjectType> myAdditionalMatchTypes;
229  std::list<DtObjectType> myOriginalAdditionalMatchTypes;
230 
233 
235  DtEnvValueSP myOriginalObjectNode;
244 
246  DtEnvValueSP myModifiedObjectNode;
254  bool myIsNew;
257 
260 
261  DtFilename myParentFile;
262  DtEnvironmentSP myParentEnvironment; //this is the environment containing only what is inherited
263 
264  std::set<DtString> elementsAddedThisSession;
265  std::set<DtVariableBindingsList> systemsAddedThisSession;
266 
268  {
269  if (myParentFile.isEmpty())
270  {
271  return false;
272  }
273 
274  return true;
275  }
276  };
277 
278  typedef std::map<std::string, EntityData*> ParametersData;
279 
280  typedef std::map<DtArtPartType, DtSimArtPartDescriptor> ArtPartMap;
281 
284 
285  virtual ~DtSimulationModelSetLoader();
286 
287  virtual bool load(const DtSimulationModelSet&, LoadFlags flags = LoadAll);
288  virtual bool save(const DtFilename&);
289 
290  static DtSimulationModelSetLoader& instance(makVrv::DtDe&);
291  static void registerInstance(makVrv::DtDe&, DtSimulationModelSetLoader*);
292 
293  virtual void setDisplayDe(makVrv::DtDe*);
294  virtual makVrv::DtDe& displayDe();
295 
296 private:
299 
300 public:
302  virtual void setLoadVisuals(bool);
303 
305  virtual bool hasFileNamed(const std::string& s) const;
306 
311  virtual bool addNewDataFile(const std::string&, bool useExactFile = false, bool loadInParallel = true, DtString* errorString = nullptr);
312 
314  virtual bool addNewSimulationObjectGroup(const std::string&);
315 
317  virtual bool addNewRandomizedObject(const std::string&);
318 
320  virtual bool readOnly() const;
321  virtual void setReadOnly(bool);
322 
324  virtual void setSaveReadOnlyFlag(bool);
325  virtual bool saveReadOnlyFlag() const;
326 
328  virtual bool hasComponentByDescriptorType(const makVrf::DtEntityMapperKey&, const DtString& descriptor) const;
329  virtual bool hasComponentByDescriptorType(const DtFilename&, const DtString& descriptor) const;
330 
332  virtual bool hasComponentByComponentType(const makVrf::DtEntityMapperKey&, const DtString& descriptor) const;
333  virtual bool hasComponentByComponentType(const DtFilename&, const DtString& descriptor) const;
334 
336  virtual bool simulationObjectGroupExists(const std::string&) const;
337 
339  virtual bool randomizedObjectExists(const std::string&) const;
340 
343  virtual DtModelSetEntry* createNewSimulationObjectGroupFromExisting(const DtObjectType& base, const std::string& newName,
344  const DtRwNLengthStringVector& categories = DtRwNLengthStringVector("categories"));
345  virtual DtModelSetEntry* createNewSimulationObjectGroupFromExisting(EntityData* data, const std::string& newName,
346  const DtRwNLengthStringVector& categories = DtRwNLengthStringVector("categories"));
347  virtual DtModelSetEntry* createNewAmmunitionEntryFromExisting(EntityData* data, const std::string& newName, const DtEntityType& newType,
348  const DtRwNLengthStringVector& categories = DtRwNLengthStringVector("categories"), bool replaceName = false);
349 
351  virtual std::string platform(const makVrf::DtEntityMapperKey& k) const;
352 
354  virtual std::string uiFilename(const makVrf::DtEntityMapperKey& k) const;
355 
357  virtual std::string uiFilename(DtComponentSystemDefinition*) const;
358 
360  virtual DtSimulationModelSet* simulationModelSet(const makVrf::DtEntityMapperKey& k) const;
361 
363  {
364  return mySimulationModelSet;
365  }
366 
368  virtual DtSimulationModelSet* simulationModelSet(const DtComponentSystemDefinition*) const;
369  virtual DtSimulationModelSet* simulationModelSet(const DtFilename&) const;
370 
372  virtual void setPartialLoad(bool);
373  bool partialLoad() const
374  {
375  return myPartialLoad;
376  }
377 
379  virtual std::string platformFileType(const makVrf::DtEntityMapperKey& k) const;
380 
382  virtual std::string platformKey(const makVrf::DtEntityMapperKey& k) const;
383 
385  virtual DtString platformDisplayName(const makVrf::DtEntityMapperKey& k) const;
386 
388  virtual DtString platformDisplayDescription(const makVrf::DtEntityMapperKey& k) const;
389 
391  virtual bool addMissingVariablesFromPlatformsAndSystems(QWidget* parent = 0, bool saveAllIfAnyModified = false);
392  virtual bool addMissingVariablesFromPlatformsAndSystems(EntityData* data, std::map<DtString, DtRwVariableBindings*>&);
393 
396  virtual bool addMissingArticulatedParts(QWidget* parent = 0, bool saveIfModified = false);
397  virtual bool addMissingArticulatedPartsForEntity(EntityData* data);
398  virtual bool addMissingArticulatedPartsForEntity(const DtObjectType& objectType,
399  DtSimArtPartDescriptorList* modifiedParts,
400  ArtPartMap& partsFromModel, ArtPartMap& partsFromSystemDefaults);
401 
403  virtual bool addMissingVariablesAndArticulatedPartsFromPlatformsAndSystems(QWidget* parent = 0, bool saveAllIfAnyModified = false);
404 
406  virtual bool getPartsFromEntityVisualModel(const DtObjectType& objectType, ArtPartMap& partsFromModel);
407 
409  virtual void regenerateOpeFiles();
410 
412  virtual void regenerateSystemFiles();
414  virtual std::vector<DtComponentSystemDefinition*> systemsThatCanBeDamagedBy(const DtString&) const;
415 
418  virtual DtString rangeTypeFromPower(const DtString&) const;
419  virtual void setDefaultRangeTypeForPower(const DtString&, const DtString&);
420  virtual std::vector<DtString> rangesByPowerType(const DtString&) const;
421  virtual void setSupportedRangesByPowerType(const DtString&, const std::vector<DtString>&);
422 
423  virtual std::set<DtString> powerTypes(bool hasHumanActuator) const;
424  virtual void addPowerType(const DtString&, const QString& withoutAddition, const QString& withAddition, bool needForceAdditional = false,
425  const QString& withoutAdditionX = "", const QString& witAdditionX = "", bool humanOnly = false, bool titleOnly = false);
426 
429  virtual QString powerTitle(const DtString&, const QString& addition = "", bool applyAdditionalToAll = false, bool xAxis = false) const;
431 
432  virtual void createSupportedDetonations();
433 
434  DtFilename getSystemDirectory() const;
435  DtFilename getNavDataDirectory() const;
436  DtFilename getFormationDirectory() const;
437  DtFilename getGuiDirectory() const;
438  DtFilename path() const;
439 
441  DtFilename simulationModelSetFilename() const;
442 
443  virtual bool checkAndLoadAll(QString text = "");
444 
445  virtual bool openSystemFiles(DtSimulationModelSet* set, const DtFilename& directory, bool isInMasterSMS);
446 
448  virtual DtString cleanStringForRwSymbol(const DtString&) const;
449 
450  virtual bool loadForceHostilityFile(const DtFilename& f);
451  virtual bool loadAmmunitionParameters(const DtFilename& f, bool inMasterSMS, DtSimulationModelSet* sms);
452  virtual bool loadDetonationParameters(const DtFilename& f, bool inMasterSMS, DtSimulationModelSet* sms);
453 
454  virtual bool loadDetTerrainDeformParameters(const DtFilename& f, bool inMasterSMS, DtSimulationModelSet* sms);
455 
458  virtual bool loadDataFiles(const DtString&, DtSimulationModelSet*, bool fromMasterSMS, LoadFlags flags = LoadAll);
459 
461  virtual void loadSimulationObjectGroupFiles(const DtString&, DtSimulationModelSet*, bool fromMasterSMS);
462 
464  virtual DtModelSetEntry* reloadSimulationObjectGroup(const DtString&);
465 
467  virtual void loadTemplates(const DtString&, DtSimulationModelSet*);
468 
469  virtual std::vector<DtComponentSystemDefinition*> systemsThatUseAmmunition(const DtString&) const;
470  virtual std::vector<DtComponentSystemDefinition*> systemsThatUseTemplate(const DtFilename&) const;
471 
473  virtual void makeTemplate(EntityData*);
474  virtual void makeTemplate(const DtObjectType&);
475 
477  virtual bool itemContains(const DtVrfSubObjectParameterList&, const DtObjectType&) const;
478 
480  virtual const std::vector<DtString>& iconLists() const;
481  virtual bool hasIconList(const DtString&) const;
482 
484  virtual void addIconList(const DtString&);
485  virtual void removeIconList(const DtString&);
486  virtual void setIconLists(const std::vector<DtString>&);
487  virtual void loadIconLists(const DtFilename&);
488  virtual void saveIconLists(const DtFilename&);
489 
491  virtual bool loadParameterFiles(DtSimulationModelSet* sms, bool inMasterSMS);
492 
494  virtual bool loadModelSet();
495 
498  virtual DtModelSetEntry* modelEntry(const DtObjectType&, bool matchPattern = false) const;
499 
501  virtual DtFilename modelDefinitionFile(const DtObjectType&, bool resolve) const;
502  virtual const makVrv::DtModelDefinition* modelDefinition(const DtObjectType& objectType, std::string& definition) const;
503  virtual std::string diGuyCharacterOMMX() const;
504  virtual std::string diGuyCharacterLeaf() const;
505 
507  virtual DtString simulationModelSetFor(const DtEntityType&) const;
508 
510  virtual DtString simulationModelSetFor(const DtFilename&) const;
511 
513  virtual DtModelSetEntry* createModelSetEntryFrom(DtEnvironmentSP env, DtEnvValueSP objectNode) const;
514  virtual DtModelSetEntry* createModelSetEntryFrom(const DtObjectType&) const;
515  virtual DtModelSetEntry* createModelSetEntryFrom(const DtAmmunitionParamsEntry*) const;
516 
518  virtual bool hasGuiKeyword(const makVrf::DtEntityMapperKey&, const std::string&) const;
519 
521  virtual void revertData(const makVrf::DtEntityMapperKey& key);
522  virtual void revertData(DtComponentSystemDefinition*);
523 
525  virtual DtVrfObjectParameters* objectParameterDataFor(const DtObjectType& o) const;
526 
528  virtual EntityData* dataFor(const DtObjectType&, bool completeLoadIfNecessary = true) const;
529 
531  virtual EntityData* dataFor(DtModelSetEntry*, bool completeLoadIfNecessary = true) const;
532 
535  virtual bool containsObjectType(const DtObjectType&, bool onlyFromMasterSMS = false, DtString* name = 0) const;
536 
538  virtual DtVariableBindingsList allVariableBindingsInSystemsFor(const DtObjectType&) const;
539 
541  virtual bool isSimulationObjectGroup(const DtObjectType&) const;
542 
545  virtual bool hasModelNamed(const DtString&, bool& isDeleted);
546 
547  virtual DtReaderWriter::SearchPaths searchPaths() const;
548  virtual std::vector<DtSimulationModelSet*> modelSets() const;
549 
550  virtual QString ammunitionDisplayName(const DtEntityType&) const;
551 
552  virtual const ParametersMap& availableParameters() const
553  {
554  return myAvailableParameters;
555  }
556 
558  virtual bool hasHumanDamageSystem(const std::vector<DtComponentSystemDefinition*>&) const;
559 
562  virtual bool createRwVariable(const DtObjectType&, const std::string& rwType, const std::string& rwName, DtReaderWriter*& original,
563  DtReaderWriter*& modified);
564 
565  virtual void replaceSystem(const DtFilename&);
566 
567  virtual bool entryIsRandomized(const DtObjectType&) const;
568  virtual bool canAddSubordinatesTo(const DtObjectType&) const;
569 
570  virtual bool isModified(const DtObjectType&) const;
571  virtual bool isModified(EntityData*) const;
572  virtual bool isModified(DtComponentSystemDefinition*) const;
573 
575  virtual bool isModified(const DtFilename&) const;
576 
577  virtual bool isModified() const;
578 
579  virtual bool isNew(const DtObjectType&) const;
580  virtual bool isNew(EntityData*) const;
581 
582  virtual bool isDeleted(const DtObjectType&) const;
583  virtual bool isDeleted(EntityData*) const;
584 
585  virtual bool isDeleted(DtComponentSystemDefinition*) const;
586  virtual bool isDeleted(const DtFilename&) const;
587 
588  virtual bool isNew(DtComponentSystemDefinition*) const;
589  virtual bool isNew(const DtFilename&) const;
590 
591  virtual std::vector<EntityData*> objectsThatUseSystems(const std::vector<DtComponentSystemDefinition*>& rw) const;
592 
593  virtual makVrf::DtVrfEntityTypeMapper& entityTypeMapper(const makVrf::DtEntityMapperKey&);
594  virtual makVrf::DtVrfEntityTypeMapper& aggregateTypeMapper(const makVrf::DtEntityMapperKey&);
595  virtual makVrf::DtVrfEntityTypeMapper& tacticalGraphicsMapper(const makVrf::DtEntityMapperKey&);
596  virtual makVrv::DtElementDefinitionTypeManager& elementDefinitionTypeManager(const makVrf::DtEntityMapperKey&);
597  virtual makVrv::DtModelDefinitionManager& modelDefinitionManager(const makVrf::DtEntityMapperKey&);
598 
599  virtual void saveModelDefinitionManager();
600  virtual void saveVisualElementsFor(makVrv::DtElementDefinitionTypeManager::BuiltInElementTypes, bool andHierarchy = false);
601  virtual makVrf::DtVrfVisualsManager* visualsManager();
602 
603  virtual makVrf::DtVrfEntityTypeMapper& defaultEntityTypeMapper();
604  virtual makVrf::DtVrfEntityTypeMapper& defaultAggregateTypeMapper();
605  virtual makVrf::DtVrfEntityTypeMapper& defaultTacticalGraphicsMapper();
606  virtual makVrv::DtElementDefinitionTypeManager& defaultElementDefinitionTypeManager();
607  virtual makVrv::DtModelDefinitionManager& defaultModelDefinitionManager();
608 
609  virtual makVrv::DtEntityTypeMapper* systemEntityTypeMapper();
610  virtual makVrv::DtEntityTypeMapper* systemAggregateTypeMapper();
611  virtual makVrv::DtEntityTypeMapper* systemTacticalGraphicsMapper();
612  virtual makVrv::DtElementDefinitionTypeManager& systemElementDefinitionTypeManager();
613  virtual makVrv::DtModelDefinitionManager& systemModelDefinitionManager();
614 
615  virtual void createSpotReportDefinitionFor(const makVrf::DtEntityMapperKey&);
616  virtual void updateVisualsFor(const makVrf::DtEntityMapperKey&);
617  virtual void removeVisualsFor(const makVrf::DtEntityMapperKey&);
618  virtual void removeElementDefinition(const makVrf::DtEntityMapperKey&);
619 
621  virtual void deleteModel(DtModelSetEntry*);
622  virtual void deleteModel(const DtObjectType&);
623  virtual void deleteModel(EntityData*);
624 
625  virtual void deleteSystem(const DtComponentSystemDefinition*);
626  virtual void deleteSystem(const DtFilename&);
627 
629  virtual bool deleteSystemFromModelSet(const DtComponentSystemDefinition*);
630 
632  virtual bool changeObjectType(const DtObjectType& oldType, const DtObjectType& newType);
633 
635  virtual bool changeMatchType(const DtObjectType& oldType, const DtObjectType& newType);
636 
637  virtual bool setAdditionalMatchTypes(const DtObjectType& key, const std::list<DtObjectType> additionalMatchTypes);
638 
642  virtual std::vector<DtString> updateGuiInformation(EntityData*, DtEnvValueSP = DtEnvValueSP());
643 
645  virtual void updateSystemData(EntityData*);
646 
648  virtual void sharedSystems(const DtFilename& systemFile, std::vector<DtModelSetEntry*>& result) const;
649 
651  virtual void updateDataInformation(EntityData*);
652 
655  virtual DtEnvironmentSP resolveParentData(EntityData*);
656 
658  virtual void convertRegistryToEnvironment(const DtReaderWriterRegistry& data, DtEnvironmentSP env, DtEnvValueSP objectNode) const;
659 
661  virtual void removeSystem(DtEnvironmentSP env, const DtString& system, DtEnvValueSP objectNode);
662 
664  virtual void addSystem(DtEnvironmentSP env, const DtRwVariableBindings*, DtEnvValueSP objectNode);
665 
666  virtual const QStringList& masterModeCategories(CategoryTypes) const;
667  virtual QStringList& masterModeCategories(CategoryTypes);
668  virtual QStringList defaultCategoriesAsStringList(CategoryTypes) const;
669 
670  DtSimulationObjectCategoryInformation& defaultCategories(CategoryTypes);
671  const DtSimulationObjectCategoryInformation& defaultCategories(CategoryTypes) const;
672 
673  DtSimulationObjectCategoryInformation& nonMasterModeCategories(CategoryTypes);
674  const DtSimulationObjectCategoryInformation& nonMasterModeCategories(CategoryTypes) const;
675 
676  virtual void loadAutoTagInformation();
677 
678  DtAutoTagInformation& autoTagInformation();
679  const DtAutoTagInformation& autoTagInformation() const;
680 
681  virtual int getFileCount(const DtSimulationModelSet&) const;
682 
683  virtual void setDefaultCategories(const DtSimulationObjectCategoryInformation&, const QStringList& masterMode, CategoryTypes);
684  virtual void revertCategories(CategoryTypes);
685  virtual bool hasModifiedCategories(CategoryTypes) const;
686  virtual bool saveDefaultCategories(const DtFilename&, CategoryTypes);
687  virtual bool loadDefaultCategories(const DtFilename&, CategoryTypes);
688 
689  void setDefaultOverlayLayers(const QStringList&);
690  const QStringList& defaultOverlayLayers();
691  virtual void revertOverlayLayers();
692  virtual bool hasModifiedOverlayLayers() const;
693  virtual void changeDefaultOverlayLayer(const QString& old, const QString& newCat);
694  virtual void addDefaultOverlayLayers(QComboBox*);
695  void addDefaultOverlayLayer(const QString&);
696 
697  virtual DtRwForces favoritesFor(const DtModelSetEntry*) const;
698  virtual DtRwForces backupFavoritesFor(const DtModelSetEntry*) const;
699  virtual void setFavoritesFor(DtModelSetEntry*, const DtRwForces&);
700 
701  virtual void changeDefaultDeployedCountry(const QString& old, const QString& newCat);
702  void setDefaultDeployedCountries(const QStringList&);
703  void addDefaultDeployedCountry(const QString&);
704  const QStringList& defaultDeployedCountries();
705  virtual void revertDeployedCountries();
706  virtual bool hasModifiedDeployedCountries() const;
707 
709  virtual void resetVisuals();
710 
712  virtual DtRwVariableBindings* createVariableBindingsForSystem(const DtFilename&, const DtString& newSystemName);
713 
715  virtual std::map<std::string, DtEntityType> templatesForKind(int) const;
716  virtual std::map<std::string, DtEntityType> templatesThatMatch(const DtEntityType&) const;
717 
720  virtual DtModelSetEntry* addNewEntity(const DtObjectType& base, const DtObjectType& newType, const DtString& name,
721  const DtRwNLengthStringVector& categories, const DtString& uniqueID, const makVrv::DtUnicode& elementDefinition = makVrv::DtUnicode::fromAscii(""),
722  bool replaceAmmoName = false);
723 
726  virtual DtModelSetEntry* addNewEntity(const std::string& platformType, const DtObjectType& newType, const DtString& name,
727  const DtRwNLengthStringVector& categories, const DtString& uniqueID, const makVrv::DtUnicode& elementDefinition = makVrv::DtUnicode::fromAscii(""));
728 
730  virtual DtModelSetEntry* addNewEntity(EntityData* baseData, const DtObjectType& newType, const DtString& name,
731  const DtRwNLengthStringVector& categories, const DtString& uniqueID, const makVrv::DtUnicode& elementDefinition = makVrv::DtUnicode::fromAscii(""),
732  bool replaceAmmoName = false);
733 
734  virtual DtModelSetEntry* addNewInheritingEntity(const DtObjectType& parent, const DtObjectType& type, const DtString& name);
735 
737  virtual void addGuiInfo(EntityData*, DtModelSetEntry*, const DtString& name, const DtObjectType&,
738  const DtRwNLengthStringVector& categories, const DtString uniqueId);
739 
741  virtual void removeSystem(const DtFilename&);
742 
743  virtual const DtRwVariableBindings* variableBindings() const;
744 
745  virtual QPixmap getIcon(const makVrf::DtEntityMapperKey& key, int pointSize = 48,
746  bool sizeToFont = false);
747 
748  virtual QPixmap getUnfilledIcon(const makVrf::DtEntityMapperKey& key, const QColor& outlineColor = Qt::black, const QColor& fillColor = Qt::transparent, int pointSize = 48,
749  bool sizeToFont = false);
750 
751  virtual void clearIcons(const makVrf::DtEntityMapperKey& key);
752 
753  static DtSimulationModelSetLoader* create(makVrv::DtDe*);
754 
756  virtual void changeSubordinateTypes(const DtObjectType& oldType, const DtObjectType& newType);
757 
758  virtual void checkParameterUpdates(EntityData*);
759  virtual void checkParameterUpdates(const std::set<makVrf::DtEntityMapperKey>&);
760 
762  virtual makVrv::DtUnicode elementDefinitionFor(const DtEntityType&);
763 
765  virtual DtVrfSubObjectParameterList subordinateObjectsFor(const DtObjectType&) const;
766  virtual DtVrfSubObjectParameterList subordinateObjectsFor(DtEnvironmentSP, DtEnvValueSP objectNode) const;
767 
769  virtual void updateSubordinateObjects(const DtObjectType&, const DtVrfSubObjectParameterList&);
770  virtual void updateSubordinateObjects(DtEnvironmentSP, DtEnvValueSP objectNode, const DtVrfSubObjectParameterList&);
771 
773  virtual void updateFormationTable(const DtObjectType&, const DtFormationTable&);
774 
776  virtual DtEmbarkationInformation embarkationInformationFor(const DtObjectType&) const;
777  virtual DtEmbarkationInformation embarkationInformationFor(DtEnvironmentSP, DtEnvValueSP objectNode) const;
778 
780  virtual void updateEmbarkationInformation(const DtObjectType&, const DtEmbarkationInformation&);
781  virtual void updateEmbarkationInformation(DtEnvironmentSP, DtEnvValueSP objectNode, const DtEmbarkationInformation&);
782 
784  virtual DtDiGuyInformation diGuyInformationFor(const DtObjectType&) const;
785 
787  virtual void updateDiGuyInformation(const DtObjectType&, const DtDiGuyInformation&);
788 
790  virtual DtSensorSignatureInformation sensorSignatureInformationFor(const DtObjectType&) const;
791  virtual DtSensorSignatureInformation sensorSignatureInformationFor(DtEnvironmentSP, DtEnvValueSP root) const;
792 
794  virtual void updateSensorSignatureInformation(const DtObjectType&, const DtSensorSignatureInformation&);
795  virtual void updateSensorSignatureInformation(DtEnvironmentSP, DtEnvValueSP root, const DtSensorSignatureInformation&);
796 
798  virtual DtFormationTable* formationTableFor(const DtObjectType&);
799  virtual DtFormationTable* originalFormationTableFor(const DtObjectType&);
800 
802  virtual Dt3dBoundingVolume boundingVolumeFor(const DtObjectType&) const;
803 
805  virtual bool isAggregate(const DtObjectType&) const;
806 
807  bool loaded() const
808  {
809  return myLoaded;
810  }
811 
813  {
814  return myEntityData;
815  }
816 
817  bool cancelledLoad() const
818  {
819  return myCancelledLoad;
820  }
821 
822  virtual bool isTemplate(const DtObjectType&) const;
823  virtual bool templateExists(const DtObjectType&) const;
824 
825  virtual void setForceManagerModified(bool);
826  virtual bool forceManagerModified() const;
827 
828  virtual DtFilename modelDefinitionsPath();
829 
830  virtual bool upgradeCountriesToCountryCodes(EntityData*);
831 
832  virtual bool isInMasterSMS(const DtObjectType&) const;
833  virtual bool isInMasterSMS(const DtFilename&) const;
834  virtual bool isInMasterSMS(const DtComponentSystemDefinition*) const;
835 
836  virtual DtString smsName(const DtObjectType&) const;
837  virtual DtString smsName(const DtFilename&) const;
838  virtual DtString smsName(const DtComponentSystemDefinition*) const;
839 
840  virtual const DtComponentSystemDefinition* originalSystemDefinitionFor(const DtComponentSystemDefinition*) const;
841  virtual const DtComponentSystemDefinition* originalSystemDefinitionFor(const DtFilename&) const;
842 
844  virtual bool saveData();
845  virtual bool saveData(EntityData* data, bool force = false);
846  virtual bool saveUserRangeRings();
847 
849  virtual bool saveFavorites();
850 
852  virtual bool saveSystems();
853 
855  virtual DtEnumDictionary* userRangeRingIds();
856  virtual DtFilename userRangeIdEnumerationFile() const;
857 
859  virtual void userRangeRingsChanged();
860 
862  virtual bool saveAmmunitionTable();
863 
865  virtual bool saveDetonationTable();
866 
867  virtual bool saveDetonationTerrainDeformationTable();
868 
870  virtual DtObjectType templateObjectType(const std::string& parameterType) const;
871 
873  virtual void addInternalItem(const std::string&, bool markDataAsWell = true);
874 
876  virtual void addIgnorePlatformType(const DtString&);
877 
880  virtual QString parameterDisplayName(const DtString& parameterType, bool stopAtFirst = true) const;
881 
883  virtual std::map<DtString, QString> availableParameterTypes(const std::set<std::string>& except = std::set<std::string>()) const;
884 
887  virtual std::vector<DtReaderWriter*> supportPointsFor(const DtObjectType&) const;
888 
890  virtual DtObjectType uniqueEntityTypeFrom(const DtObjectType&, bool onlyFromMasterSMS = false) const;
891 
893  virtual makVrv::DtUnicode systemNameForSystem(const std::string&, DtFilename& fullFilename) const;
894 
896  virtual bool hasFactoryChecksums() const;
897 
899  virtual const DtSmsChecksum& factoryChecksums() const;
900 
902  virtual DtRwVisualMetaData* addOrUpdateVisualMetaData(const DtEntityType&);
903 
905  virtual DtComponentSystemDefinition* duplicateSystem(const DtComponentSystemDefinition* base, const DtString& systemName, const DtFilename& systemFilename);
906 
908  virtual DtComponentSystemDefinition* createFromTemplate(const DtString& systemName, const DtFilename& systemFilename, const DtComponentSystemDefinition* systemTemplate);
909  virtual DtFilename filenameToSystemFilename(DtFilename systemFilename) const;
910 
913  virtual void promoteSystem(DtComponentSystemDefinition*);
914 
916  virtual std::map<DtSymbolString, DtAmmunitionParamsEntry*> ammunitionTable() const;
917 
919  virtual DtAmmunitionParamsEntry* addAmmunition(const DtString& name, const DtString& label, const DtObjectType& munitionType);
920 
922  virtual DtAmmunitionParamsEntry* ammunitionEntry(const DtSymbolString&) const;
923  virtual DtAmmunitionParamsEntry* ammunitionEntry(const DtObjectType&) const;
924 
926  virtual DtMunitionDetonationPowerEntry* detonationPowerEntry(const DtObjectType&) const;
927 
928  virtual std::set<DtEntityType> detonationTypes() const;
929  virtual DtMunitionDetonationPowerEntry* duplicatePowerEntry(const DtObjectType&, const DtEntityType&);
930 
931  virtual std::vector<const DtComponentSystemDescriptor*> matchingSystemDescriptors(const makVrf::DtEntityMapperKey&, const DtComponentSystemDescriptor* fromSystemDatabase,
932  const DtString& systemPath) const;
933  virtual std::vector<const DtComponentSystemDescriptor*> matchingSystemDescriptors(const DtComponentSystemDescriptor* fromEntity, const DtComponentSystemDescriptor* fromSystemDatabase,
934  DtString currentPath, const DtString& systemPathToCheck) const;
935 
937  virtual std::vector<DtTargetingControlTable*> getTargetingControlTables(const makVrf::DtEntityMapperKey&) const;
938 
940  virtual std::map<DtComponentSystemDefinition*, const DtRangeProbabilityTable*> getSystemsAndHitTables() const;
941 
943  typedef std::map<const DtComponentSystemDefinition*, std::pair<const DtTargetingControlTable*,
945  virtual TargetingControlAndRangeTables getTargetingControlAndRangeTables(const makVrf::DtEntityMapperKey&) const;
946 
948  {
949  AmmunitionInformation() : controlTable(0), maximumRange(0.) {};
950  AmmunitionInformation(const DtTargetingControlTable* c, double r) : controlTable(c), maximumRange(r) {};
951  AmmunitionInformation(const AmmunitionInformation& orig) : controlTable(orig.controlTable), maximumRange(orig.maximumRange) {};
952 
953  const DtTargetingControlTable* controlTable;
954  double maximumRange;
955  };
956 
957  typedef std::map<const DtAmmunitionParamsEntry*, AmmunitionInformation> AmmunitionMap;
958  virtual AmmunitionMap ammunitionFromTargetTables(const DtSimulationModelSetLoader::TargetingControlAndRangeTables& targets) const;
959 
960  virtual void findAllTargetingControlAndRangeTables(const DtString&, TargetingControlAndRangeTables&) const;
961 
963  virtual DtRwDamageByMunitionPowerMap* damageTableFor(const makVrf::DtEntityMapperKey&, DtComponentSystemDefinition** system = 0) const;
964 
965  virtual QString translatedSystemName(const DtComponentSystemDefinition* definition) const;
966  virtual QString translatedSystemDescription(const DtComponentSystemDefinition* definition) const;
967 
969  virtual DtObjectType ammunitionType(const DtSymbolString&) const;
970 
972  virtual QString ammunitionDisplayName(const DtSymbolString&) const;
973  virtual void setAmmoEntryIfNecessary(EntityData* data, const DtAmmunitionParamsEntry* templateEntry = 0);
974 
976  virtual bool ammunitionCanTarget(const DtSymbolString&, const DtEntityType&) const;
977 
978  void setNeedsPruning(bool b) { myNeedsPruning = b; };
979  bool needsPruning() const
980  {
981  return myNeedsPruning;
982  }
983 
984  boost::signals2::signal<void()> signal_preloadSimulationModelSet;
985  boost::signals2::signal<void()> signal_simulationModelSetLoaded;
986  boost::signals2::signal<void(std::vector<EntityData*>)> signal_newDataFileAdded;
987  boost::signals2::signal<void(EntityData*)> signal_entityEntryAboutToBeRemoved;
988  boost::signals2::signal<void(EntityData*)> signal_entityEntryAdded;
989  boost::signals2::signal<void(EntityData*)> signal_visualMappingsModified;
990  boost::signals2::signal<void()> signal_resetVisuals;
991  boost::signals2::signal<void(bool)> signal_readOnlyChanged;
992  boost::signals2::signal<void(DtComponentSystemDefinition*)> signal_systemEntryAdded;
993  boost::signals2::signal<void(const DtFilename&)> signal_systemRemoved;
994  boost::signals2::signal<void(DtComponentSystemDefinition*)> signal_systemAboutToBeRemoved;
995  boost::signals2::signal<void(const DtObjectType&, const DtObjectType&)> signal_objectTypeAboutToBeChanged;
996  boost::signals2::signal<void(const DtObjectType&, const DtObjectType&)> signal_objectTypeChanged;
997 
999  boost::signals2::signal<void(makVrv::DtDe*)> signal_displayDeSet;
1000 
1001 public:
1002  const DtModelSet* modelSet() const;
1003  DtModelSet* modelSet();
1004 
1005  virtual makVrf::DtVrfGuiForceManager* forceManager();
1006 
1007  const DtSimulationModelSet& simulationModelSet() const;
1008  bool hasSimulationModelSet() const;
1009  DtSimulationModelSet& simulationModelSet();
1010  const DtFilename& parameterFilename() const;
1011  const DtSimulationObjectEditorComponentSystemDatabase* originalSystemDatabase() const;
1012  const DtSimulationObjectEditorComponentSystemDatabase* modifiedSystemDatabase() const;
1013  const DtSimulationObjectEditorComponentSystemDatabase* templateSystemDatabase() const;
1014  DtSimulationObjectEditorComponentSystemDatabase* modifiedSystemDatabase();
1015  DtFilename modelSetDirectory() const;
1016 
1017  virtual void forceRemoved(DtForceType forceType);
1018 
1019  const DtRwForces& allForces() const;
1020 
1021  virtual std::vector<const DtComponentSystemDefinition*> systemDefinitionsFor(const DtObjectType& o) const;
1022  virtual std::vector<const DtComponentSystemDefinition*> systemDefinitionsFor(const DtObjectType& o, const DtString& category) const;
1023 
1024  virtual const DtReaderWriter* findVariable(const DtVariableBindingsList&, const DtString&) const;
1025  virtual const DtReaderWriter* findOriginalVariable(const makVrf::DtEntityMapperKey& emk, const DtString&) const;
1026  virtual const DtReaderWriter* findModifiedVariable(const makVrf::DtEntityMapperKey& emk, const DtString&, bool completeLoadIfNecessary = true) const;
1027  virtual DtReaderWriter* findVariable(const DtVariableBindingsList&, const DtString&);
1028  virtual DtReaderWriter* findOriginalVariable(const makVrf::DtEntityMapperKey& emk, const DtString&);
1029  virtual DtReaderWriter* findModifiedVariable(const makVrf::DtEntityMapperKey& emk, const DtString&, bool completeLoadIfNecessary = true);
1030  virtual const DtReaderWriter* variableFromAnyPlatform(const DtString& varName) const;
1031 
1032  virtual void addModifiedVariable(const makVrf::DtEntityMapperKey& emk, DtReaderWriter* rw);
1033 
1034  virtual DtVrfObjectParameters* platformParameters(const makVrf::DtEntityMapperKey& key) const;
1035 
1036  virtual const DtStandardSensorObjects& standardSensorObjects() const;
1037  virtual DtStandardSensorObjects& standardSensorObjects();
1038  virtual bool processModelSet(DtSimulationModelSet*, LoadFlags flags = LoadAll, bool isMasterSMS = false);
1039 
1040  virtual std::vector<EntityData*> addDataFromFile(const DtString& file,
1041  DtSimulationModelSet* set, bool isMasterSMS,
1042  bool signalAddition = true, bool isTemplate= false, LoadFlags flags = LoadAll, bool loadInParallel = true, DtString* errorResult = nullptr);
1043 
1044  virtual DtVariableBindingsList* copyBindingsList(const DtVariableBindingsList* orig) const;
1045 
1049  virtual void getSubordinateFunctions(DtSubordinateFunctionTable& functions) const;
1050 
1054  virtual const std::vector<DtSubordinateFunctionTable>& subordinateFunctionTables() const;
1055  virtual std::vector<DtSubordinateFunctionTable>& subordinateFunctionTables();
1057 
1058  virtual EntityData* completeDataIfNecessary(EntityData* data);
1059 
1060 protected:
1061  virtual bool updateRangeNameAndRangeId(DtVariableBindingsList* data);
1062 
1063  virtual void replaceVariableNamesWithUpdatedVariableNames(DtRwVariableBindings*, const DtComponentSystemDefinition*);
1064 
1068  virtual void markInternalItemsAsReadOnly(DtVariableBindingsList*);
1069 
1070  virtual const DtReaderWriter* findVariable(const DtString& var, const DtReaderWriter* rw) const;
1071 
1072  virtual void loadSystemFilesFromDirectory(const QString& directoryName, const DtVariableBindingsList& variableBindings, DtSimulationModelSet*, bool isInMasterSMS,
1073  bool loadTemplates = false);
1074 
1075  virtual void addVariableReferences(DtReaderWriter* source, DtRwVariableBindings* toBindings) const;
1076 
1077  virtual void cleanup();
1078  virtual bool ignorePlatformType(const DtString&) const;
1079 
1080  virtual bool saveForceHostility(const DtFilename& filename);
1081 
1082  virtual bool warned(const DtFilename&);
1083  virtual void removeEntityFromSubObjects(const DtObjectType&);
1084 
1085  virtual void mergeFavoritesIntoModelSet(DtModelSet* favorites, DtModelSet* set);
1086 
1087  virtual void setupParametersForDataFiles(std::vector<EntityData*>&, DtSimulationModelSet* set);
1088 
1089  virtual EntityData* createParameterDataFrom(DtVrfObjectParameters*) const;
1090 
1092  virtual bool updateFromPlatform(EntityData* data, const DtReaderWriter* oldRegData, DtEnvironmentSP env, DtEnvValueSP objectNode) const;
1093 
1095  virtual bool traverseRwObject(const DtReaderWriter* rwObject, DtEnvironmentSP env, DtEnvValueSP objectNode) const;
1096  virtual void addElementFromSystemBinding(DtEnvironmentSP env,
1097  DtEnvValueSP parentElement, DtSystemParameterData* paramData) const;
1098 
1099  virtual DtFormationTable* formationTableFor(DtEnvironmentSP, DtEnvValueSP objectNode) const;
1100 
1102  virtual void updateFormationTable(DtEnvironmentSP, DtEnvValueSP objectNode, const DtFormationTable&);
1103 
1104 public:
1105  virtual void addToInternalCategories(DtModelSetEntry* entry, bool isInMasterSMS);
1106 
1107  virtual DtModelSetEntry* addModelSetEntryFromEnvironment(DtEnvironmentSP, DtEnvValueSP node);
1108  virtual DtModelSetEntry* addModelSetEntryFromSimulationObjectGroup(EntityData*);
1109 
1111  virtual void swapCurrentEntry(EntityData*, DtModelSetEntry*);
1112 
1113 protected:
1114  virtual void cancelLoad();
1115  virtual void addToInternalCategories(const DtComponentSystemDefinition* entry, bool isInMasterSMS);
1116 
1117  virtual void addEntityDataEntry(EntityData*, bool signal = true);
1118  virtual void removeEntityDataEntry(EntityData*, bool signal = true, bool removeFromVisualsToo = true);
1119 
1121  virtual ParametersMap::const_iterator findAvailablePlatform(const DtString& platform) const;
1122  virtual ParametersData::const_iterator findAvailableParameter(const DtString& platform) const;
1123  virtual ParametersData::const_iterator findAvailableParameterFromFile(const DtFilename& platform) const;
1124  virtual ParametersData::const_iterator findAvailableParameterType(const DtString& parameterType) const;
1125 
1127  virtual DtString filenameFromEntityName(const DtString& name) const;
1128 
1130  virtual DtString uniqueEntityFilename(const DtString& name) const;
1131 
1133  virtual void loadVisuals(DtSimulationModelSet*, bool createIfDoesNotExist = false);
1134 
1136  virtual bool updateAndAddMatchTypeVisuals(EntityData* baseType, const DtEntityType& matchType);
1137 
1139  virtual bool removeMatchingTypeFromVisuals(const DtEntityType& matchType);
1140 
1141  virtual void finalizeCategoryInformationFor(const DtSimulationModelSet& sms, CategoryTypes type = EntityCategories);
1142 
1143  virtual DtFilename categoryFilename(const DtSimulationModelSet& sms, CategoryTypes type = EntityCategories) const;
1144 
1145  static DtAmmunitionManager* createAmmunitionManager();
1146  static void setAmmunitionManagerCreator(AmmunitionManagerCreator creator);
1147 
1148  virtual void convertAmmunitionToEntityData(DtAmmunitionParams*, bool inMasterSMS, DtSimulationModelSet* sms);
1149  virtual DtAmmunitionParams* createAmmunitionParameters() const;
1150  virtual DtDetonationParams* createDetonationParameters() const;
1151 
1152  virtual DtTerrainDeformationParams* createDetonationTerrainDeformationParams() const;
1153 
1154  virtual void getPartsFromModel(const DtObjectType& objectType, std::list<DtSimArtPartDescriptor>& artParts);
1155  virtual void parsePowerTypes();
1156 
1157 protected:
1158 
1160 
1161  QStringList myWarned;
1166 
1167  typedef std::map<DtFilename, bool> SystemIsInMasterSMSMap;
1169 
1173 
1174  typedef std::map<int, DtSimulationObjectCategoryInformation> CategoriesMap;
1178 
1179  typedef std::map<int, QStringList> StringCategoriesMap;
1186  bool myLoaded;
1189 
1190  DtEnumLoader* myEnumLoader = nullptr;
1191  DtEnumDictionary* myUserRangeRingIds = nullptr;
1192  bool myUserRangeRingsChanged = false;
1193 
1196 
1199 
1201 
1203 
1206 
1207  std::set<std::string> myInternalItems;
1208  std::set<DtString> myIgnorePlatformType;
1211 
1212  typedef std::map<DtModelSetEntry*, EntityData*> EntityDataByEntry;
1214 
1215  std::vector<QTranslator*> myTranslators;
1217 
1219 
1220  std::map<DtString, int> myMatchingVisualTypes;
1222 
1226 
1228 
1232 
1233  mutable std::string myDiGuyCharacterOMMX;
1234  mutable std::string myDiGuyCharacterLeaf;
1235 
1236  std::map<DtString, DtString> myDefaultRangeForPowerType;
1237  std::map<DtString, std::vector<DtString> > mySupportedRangesByPowerType;
1238  std::vector<bool> myNeedsSort;
1239 
1240  struct PowerTitle
1241  {
1243  QString withAdditionX;
1245  QString withAdditionY;
1249  };
1250 
1251  std::vector<DtString> myIconLists;
1252  std::vector<DtString> myOriginalIconLists;
1253  std::map<DtString, PowerTitle> myPowerTypes;
1254  std::vector<DtSubordinateFunctionTable> mySubordinateFunctionTables;
1258  tbb::mutex myDataEntryMutex;
1260  tbb::spin_mutex mySwapCurrentEntryMutex;
1261 
1262  static AmmunitionManagerCreator theAmmunitionManagerCreator;
1263 
1265 };
1266 
1268 {
1270  {
1271  return mySimulationModelSet->filename();
1272  }
1273  else
1274  {
1275  return "";
1276  }
1277 }
1278 
1280 {
1281  return (mySimulationModelSet != 0);
1282 }
1283 
1285 {
1286  return *mySimulationModelSet;
1287 }
1288 
1290 {
1291  return *mySimulationModelSet;
1292 }
1293 
1295 {
1296  return myModelSet;
1297 }
1298 
1300 {
1301  return myModelSet;
1302 }
1303 
1304 inline const DtFilename& DtSimulationModelSetLoader::parameterFilename() const
1305 {
1306  return myParameterFilename;
1307 }
1308 
1310 {
1311  return myAllForces;
1312 }
1313 
1315 {
1316  return myAutoTagInformation;
1317 }
1318 
1320 {
1321  return myAutoTagInformation;
1322 }
1323 
1325 {
1326  CategoriesMap::const_iterator iter = myDefaultCategories.find(type);
1327 
1328  return iter->second;
1329 }
1330 
1332 {
1333  return myDefaultCategories[type];
1334 }
1335 
1337 {
1338  CategoriesMap::const_iterator iter = myNonMasterModeCategories.find(type);
1339 
1340  return iter->second;
1341 }
1342 
1344 {
1345  return myNonMasterModeCategories[type];
1346 }
1347 
1349 {
1351  {
1353  myDefaultOverlayLayers.sort();
1354  }
1355 
1356  return myDefaultOverlayLayers;
1357 }
1358 
1360 {
1362 }
1363 
1365 {
1366  myDefaultOverlayLayers.push_back(l);
1367 }
1368 
1370 {
1372  {
1375  }
1376 
1378 }
1379 
1381 {
1383 }
1384 
1386 {
1387  myDefaultDeployedCountries.push_back(l);
1389 }
1390 
1392 
1394 {
1395  return !(lhs.operator<(rhs));
1396 }
1397 
1399 {
1400 public:
1402 
1404 
1405  bool loading() const
1406  {
1407  return myLoading;
1408  }
1409 
1410  virtual void loadAllSmsFiles();
1411 
1412 protected:
1413  virtual void processModelSet(DtSimulationModelSet*);
1414 
1415 protected:
1417  bool myLoading = false;
1421 };
std::map< DtModelSetEntry *, EntityData * > EntityDataByEntry
Definition: simulationModelSetLoader.h:1212
Definition: simulationModelSetLoader.h:166
Definition: simulationModelSetLoader.h:1398
Instances of DtVrfObjectParameters are the readable/writeable objects that contain the information ne...
Definition: vrfObjectParameters.h:63
LoadFlags myLoadFlags
Definition: simulationModelSetLoader.h:211
BuiltInElementTypes
These types are all automatically registered when the manager is created. This enum is linked with Dt...
Definition: DtElementDefinitionManager.h:562
std::map< std::string, EntityData * > ParametersData
Definition: simulationModelSetLoader.h:278
std::map< int, QStringList > StringCategoriesMap
Definition: simulationModelSetLoader.h:1179
Definition: simulationModelSetLoader.h:138
std::vector< bool > myNeedsSort
Definition: simulationModelSetLoader.h:1238
Definition: entityMapperKey.h:23
Definition: simulationModelSetLoader.h:120
DtRwVariableBindingsList * myOriginalSystems
Definition: simulationModelSetLoader.h:234
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
A unicode string. DtUnicode stores a UTF-16 encoded unicode string. Code Point, a Unicode character...
Definition: DtUnicode.h:33
The DtAmmunitionManager is a clas that will maintain ammunition (that which is not published...
Definition: ammunitionManager.h:17
bool isMasterSMS
Definition: simulationModelSetLoader.h:130
Definition: rwVariableBindingsList.h:16
bool humanOnly
Definition: simulationModelSetLoader.h:1247
DtModelSetEntry * myCurrentModelSetEntry
Definition: simulationModelSetLoader.h:242
This class allows one to collect and compare strings using an index number instead of having to do st...
Definition: symbolString.h:27
tbb::mutex myDataEntryMutex
Definition: simulationModelSetLoader.h:1258
DtVariableBindingsList * myOriginalVariableBindings
Definition: simulationModelSetLoader.h:236
DtRwForces myAllForces
Definition: simulationModelSetLoader.h:1172
Definition: simulationModelSetLoader.h:123
The DtSimulationObjectCategoryInformation class is a class that will read the comma delimited categor...
Definition: simulationObjectCategoryInformation.h:24
int myLastModifiedDate
Definition: simulationModelSetLoader.h:231
bool myIsInMasterSMS
Definition: simulationModelSetLoader.h:207
std::vector< DtString > myIconLists
Definition: simulationModelSetLoader.h:1251
DtSimulationObjectCategoryInformation & nonMasterModeCategories(CategoryTypes)
Definition: simulationModelSetLoader.h:1343
The model definition manager is responsible to managing all of the model definitions the IG knows abo...
Definition: DtModelDefinitionManager.h:78
DtVrfSubObjectParameterList * myModifiedSubordinateInformation
Definition: simulationModelSetLoader.h:249
Definition: simulationModelSetLoader.h:947
bool cancelledLoad() const
Definition: simulationModelSetLoader.h:817
An EntityType to Definition mapper.
Definition: DtEntityTypeMapper.h:34
const DtFilename & filename() const
Filename that this simulation model set was originally loaded from.
Definition: simulationModelSet.h:428
std::vector< DtString > myOriginalIconLists
Definition: simulationModelSetLoader.h:1252
std::string myDiGuyCharacterOMMX
Definition: simulationModelSetLoader.h:1233
bool needsForceAddition
Definition: simulationModelSetLoader.h:1246
boost::signals2::signal< void(bool)> signal_readOnlyChanged
Definition: simulationModelSetLoader.h:991
DtTerrainDeformationParams * myMasterModeDetTerrainDeformParameters
Definition: simulationModelSetLoader.h:1197
Readable-writable class holding all parameters to configure the DtDetonationManager.
Definition: detonationParams.h:22
DtEnvironmentSP myModified
Definition: simulationModelSetLoader.h:161
DtRwNLengthStringVector is a named, readable/writable vector of strings of arbitrary length...
Definition: rwNLengthStringVector.h:28
boost::signals2::signal< void(const DtObjectType &, const DtObjectType &)> signal_objectTypeChanged
Definition: simulationModelSetLoader.h:996
tbb::spin_mutex mySwapCurrentEntryMutex
Definition: simulationModelSetLoader.h:1260
DtEnvironmentSP myParentEnvironment
Definition: simulationModelSetLoader.h:262
std::vector< QTranslator * > myTranslators
Definition: simulationModelSetLoader.h:1215
boost::signals2::signal< void()> signal_simulationModelSetLoaded
Definition: simulationModelSetLoader.h:985
SystemIsInMasterSMSMap mySystemIsInMasterSMSMap
Definition: simulationModelSetLoader.h:1168
double maximumRange
Definition: simulationModelSetLoader.h:954
std::map< const DtAmmunitionParamsEntry *, AmmunitionInformation > AmmunitionMap
Definition: simulationModelSetLoader.h:957
class DtScenarioExplorer:
Definition: scenarioExplorer.h:26
boost::signals2::signal< void(DtComponentSystemDefinition *)> signal_systemEntryAdded
Definition: simulationModelSetLoader.h:992
tbb::mutex myAddToInternalCategoriesMutex
Definition: simulationModelSetLoader.h:1259
DT_DLL_readerWriter DtBoost::shared_ptr< DtEnvironment > DtEnvironmentSP
Definition: readerWriter.h:30
DtTerrainDeformationParams * myDetonationTerrainDeformationParameters
Definition: simulationModelSetLoader.h:1198
boost::signals2::signal< void(EntityData *)> signal_entityEntryAdded
Definition: simulationModelSetLoader.h:988
DtDiGuyInformation * myOriginalDiGuyInformation
Definition: simulationModelSetLoader.h:240
DtVrfSubObjectParameterList is a readable/writable list of DtVrfSubObjectParameterEntrys.
Definition: vrfSubObjectParameterList.h:21
static const DtObjectType & nullType()
List of DtComponentSystemDescriptor instances.
Definition: componentSystemDescriptorList.h:20
DtSimulationObjectEditorComponentSystemDatabase * myTemplateSystems
Definition: simulationModelSetLoader.h:1165
Definition: simulationModelSetLoader.h:119
QString withAdditionX
Definition: simulationModelSetLoader.h:1243
Maintains a list of enumerations read in from files. The dictionary supports two different types of e...
Definition: enumDictionary.h:98
boost::signals2::signal< void(const DtObjectType &, const DtObjectType &)> signal_objectTypeAboutToBeChanged
Definition: simulationModelSetLoader.h:995
bool partialLoad() const
Definition: simulationModelSetLoader.h:373
virtual const ParametersMap & availableParameters() const
Definition: simulationModelSetLoader.h:552
Definition: readerWriter.h:85
Extends the force manager to add country codes.
Definition: vrfGuiForceManager.h:24
Definition: autoTagInformation.h:19
DtSimulationModelSetLoadProgressWidget * myProgressWidget
Definition: simulationModelSetLoader.h:1159
Simple asynchronous callback queue.
Definition: vrfCallbackQueue.h:32
std::map< DtFilename, bool > SystemIsInMasterSMSMap
Definition: simulationModelSetLoader.h:1167
std::map< DtString, std::vector< DtString > > mySupportedRangesByPowerType
Definition: simulationModelSetLoader.h:1237
DtSimulationModelSet * mySimulationModelSet
Definition: simulationModelSetLoader.h:1418
Definition: readerWriterRegistry.h:39
ParametersData myParametersData
Definition: simulationModelSetLoader.h:1205
DtEnvValueSP myOriginalDataNode
Definition: simulationModelSetLoader.h:210
DtSimulationModelSetLoader * mySimulationModelSetLoader
Definition: simulationModelSetLoader.h:1419
class DtStandardSensorObjects:
Definition: standardSensorObjects.h:23
const QStringList & defaultDeployedCountries()
Definition: simulationModelSetLoader.h:1369
ParameterStruct(DtVrfObjectParameters *p, bool b, const DtFilename &f)
Definition: simulationModelSetLoader.h:126
std::map< DtString, DtString > myDefaultRangeForPowerType
Definition: simulationModelSetLoader.h:1236
std::string myDataFile
Definition: simulationModelSetLoader.h:208
Definition: smsChecksum.h:15
int myTotalNumberOfEntityFiles
Definition: simulationModelSetLoader.h:1227
std::map< DtString, int > myMatchingVisualTypes
Definition: simulationModelSetLoader.h:1220
DtVrfCallbackQueue myDataJobLoader
Definition: simulationModelSetLoader.h:1264
DtFilename myParentFile
Definition: simulationModelSetLoader.h:261
bool needsPruning() const
Definition: simulationModelSetLoader.h:979
QString withAdditionY
Definition: simulationModelSetLoader.h:1245
std::map< DtString, PowerTitle > myPowerTypes
Definition: simulationModelSetLoader.h:1253
bool myCancelledLoad
Definition: simulationModelSetLoader.h:1231
DtDiGuyInformation * myModifiedDiGuyInformation
Definition: simulationModelSetLoader.h:251
std::map< DtArtPartType, DtSimArtPartDescriptor > ArtPartMap
Definition: simulationModelSetLoader.h:280
The element type manager is responsible for knowing about the types of elements as well as owning the...
Definition: DtElementDefinitionManager.h:551
std::map< const DtComponentSystemDefinition *, std::pair< const DtTargetingControlTable *, const DtRangeProbabilityTable * > > TargetingControlAndRangeTables
Returns the targeting control and range tables.
Definition: simulationModelSetLoader.h:944
A model definition Interaction any number of named parameters, and also can be used to store cached d...
Definition: DtModelDefinition.h:42
bool hasSimulationModelSet() const
Definition: simulationModelSetLoader.h:1279
bool myIsDeleted
Definition: simulationModelSetLoader.h:255
CategoriesMap myNonMasterModeCategories
Definition: simulationModelSetLoader.h:1176
Description: A model is a set of items that defines a model to create in the back-end from the front-...
Definition: simulationObjectGroupModelSetEntry.h:161
Definition: simulationModelSetLoadProgressWidget.h:27
Definition: objectType.h:27
DtStandardSensorObjects myStandardSensorObjects
Definition: simulationModelSetLoader.h:1187
Instances of DtSimArtPartDescriptorList are lists of DtSimArtPartDescriptors. This is an optional par...
Definition: simArtPartDescriptorList.h:16
ReaderWriter object that maintains a list of reader-writer variable bindings. It keeps a list of name...
Definition: rwVariableBindings.h:27
DtAmmunitionManager * myAmmunitionManager
Definition: simulationModelSetLoader.h:1188
Class that will keep track of all embarkation information.
Definition: embarkationInformation.h:22
DtRangeProbabilityTable is a readable/writable list of DtRangeProbEntrys. It&#39;s sorted by the entity t...
Definition: rangeProbabilityTable.h:31
StringCategoriesMap myOriginalMasterModeCategories
Definition: simulationModelSetLoader.h:1181
DtSmsChecksum myFactorySmsChecksum
Definition: simulationModelSetLoader.h:1229
DtMunitionDetonationPowerEntry * myModifiedPowerTableEntry
Definition: simulationModelSetLoader.h:222
makVrv::DtDe & myDe
Definition: simulationModelSetLoader.h:1416
bool mySaveReadOnlyFlag
Definition: simulationModelSetLoader.h:1230
DtComponentSystemDefinition.
Definition: componentSystemDefinition.h:25
DtEnvValueSP myOriginalObjectNode
Definition: simulationModelSetLoader.h:235
DtAmmunitionParamsEntry * myOriginalAmmunitionParameters
Definition: simulationModelSetLoader.h:218
DtVrfObjectParameters * myParameters
Definition: simulationModelSetLoader.h:253
DtMunitionDetonationPowerEntry * myOriginalPowerTableEntry
Definition: simulationModelSetLoader.h:221
Definition: modelSetEntry.h:34
DtEmbarkationInformation * myOriginalEmbarkationInformation
Definition: simulationModelSetLoader.h:239
boost::signals2::signal< void(DtComponentSystemDefinition *)> signal_systemAboutToBeRemoved
Definition: simulationModelSetLoader.h:994
bool loaded() const
Definition: simulationModelSetLoader.h:807
std::string myDiGuyCharacterLeaf
Definition: simulationModelSetLoader.h:1234
const DtOrderedObjectTypeList< EntityData * > & entityData() const
Definition: simulationModelSetLoader.h:812
DtObjectType myOriginalMatchType
Definition: simulationModelSetLoader.h:226
Contains makVrv::DtVirtualBaseClass class.
The DtVrfVisualsManager class is a class that allows for the loading of visuals (definitions, mappings and model definitions) for a given simulation model set. It will also provide routines to create visual mappings from a model set.
Definition: vrfVisualsManager.h:170
DtRwVariableBindingsList * myModifiedSystems
Definition: simulationModelSetLoader.h:245
Definition: detonationDeformationParams.h:9
CategoriesMap myDefaultCategories
Definition: simulationModelSetLoader.h:1175
bool myLoadedAllFromPartialLoad
Definition: simulationModelSetLoader.h:1257
static AmmunitionManagerCreator theAmmunitionManagerCreator
Definition: simulationModelSetLoader.h:1262
makVrv::DtDe & myDe
Definition: simulationModelSetLoader.h:1184
Definition: simulationModelSetLoader.h:97
DtRwVisualMetaData is a container for a visual meta data file, and, with the meta data within that fi...
Definition: rwVisualMetaData.h:18
bool operator>(const DtObjectType &rhs) const
Definition: simulationModelSetLoader.h:182
DtAutoTagInformation & autoTagInformation()
Definition: simulationModelSetLoader.h:1319
void addDefaultDeployedCountry(const QString &)
Definition: simulationModelSetLoader.h:1385
std::list< const DtRwVariableBindings * > DtVariableBindingsList
Definition: readerWriterRegistry.h:29
Definition: simulationModelSetLoader.h:1240
const QStringList & defaultOverlayLayers()
Definition: simulationModelSetLoader.h:1348
bool loading() const
Definition: simulationModelSetLoader.h:1405
boost::shared_ptr< EnvironmentContainer > EnvironmentContainerSP
Definition: simulationModelSetLoader.h:164
std::set< DtVariableBindingsList > systemsAddedThisSession
Definition: simulationModelSetLoader.h:265
CategoriesMap myOriginalDefaultCategories
Definition: simulationModelSetLoader.h:1177
Readable-writable class holding all parameters to configure the DtAmmunitionManager.
Definition: ammunitionParams.h:20
DtFilename file
Definition: simulationModelSetLoader.h:131
DtSensorSignatureInformation * myOriginalSensorSignatureInformation
Definition: simulationModelSetLoader.h:241
DtFilename myParameterFilename
Definition: simulationModelSetLoader.h:1170
DtFormationTable.
Definition: formationTable.h:23
std::vector< DtFilename > SearchPaths
Definition: readerWriter.h:92
DtSimulationModelSetLoader::LoadFlags myLoadFlags
Definition: simulationModelSetLoader.h:1420
EntityDataByEntry myEntityDataByEntry
Definition: simulationModelSetLoader.h:1213
const DtModelSet * modelSet() const
Definition: simulationModelSetLoader.h:1294
StringCategoriesMap myMasterModeCategories
Definition: simulationModelSetLoader.h:1180
DtFormationTable * myModifiedFormationTable
Definition: simulationModelSetLoader.h:248
This class extends the component system database to add a bit more information that the simulation ob...
Definition: simulationObjectEditorComponentSystemDatabase.h:19
bool myLoadVisuals
Definition: simulationModelSetLoader.h:1221
DtDamageProbabilityTable.
Definition: damageProbabilityTable.h:20
DtOrderedObjectTypeList< EntityData * > myEntityData
Definition: simulationModelSetLoader.h:1200
DtSensorSignatureInformation * myModifiedSensorSignatureInformation
Definition: simulationModelSetLoader.h:252
std::map< int, DtSimulationObjectCategoryInformation > CategoriesMap
Definition: simulationModelSetLoader.h:1174
bool myReadOnly
Definition: simulationModelSetLoader.h:1224
DtFormationTable * myOriginalFormationTable
Definition: simulationModelSetLoader.h:237
DtSimulationModelSet * masterSMS() const
Definition: simulationModelSetLoader.h:362
QStringList myDefaultDeployedCountries
Definition: simulationModelSetLoader.h:1183
bool myLoaded
Definition: simulationModelSetLoader.h:1186
DtFilename simulationModelSetFilename() const
Returns the filename of the current simulation model set file.
Definition: simulationModelSetLoader.h:1267
bool operator>(const DtObjectType &lhs, const DtSimulationModelSetLoader::EntityData &rhs)
Definition: simulationModelSetLoader.h:1393
const char * source
Definition: lz4.h:442
DtMunitionDetonationPowerEntry.
Definition: munitionDetonationPowerEntry.h:19
DtSimulationObjectEditorComponentSystemDatabase * myModifiedSystemDatabase
Definition: simulationModelSetLoader.h:1164
std::set< std::string > myInternalItems
Definition: simulationModelSetLoader.h:1207
Loads entity type enumerations from an XML file into a DtEnumDictionary.
Definition: enumLoader.h:22
std::set< DtString > elementsAddedThisSession
Definition: simulationModelSetLoader.h:264
std::list< DtObjectType > myAdditionalMatchTypes
Definition: simulationModelSetLoader.h:228
Base class for RW objects that describe a system parameter. This data is used by the entity editor to...
Definition: systemParameterData.h:30
DtSimulationModelSet * mySimulationModelSet
Definition: simulationModelSetLoader.h:259
QString withoutAdditionY
Definition: simulationModelSetLoader.h:1244
Description: A readable, writable list of DtForceType.
Definition: rwForces.h:34
std::map< DtString, ParameterStruct > ParametersMap
Definition: simulationModelSetLoader.h:134
void addDefaultOverlayLayer(const QString &)
Definition: simulationModelSetLoader.h:1364
DT_DLL_simulationObjectEditorimpl makVrf::DtEntityMapperKey mapperKeyConversion(const DtObjectType &, int force)
DtAmmunitionParamsEntry; descriptor that represents members of a DtAmmunitionParams.
Definition: ammunitionParamsEntry.h:20
Subclass to allow for setting of filename.
Definition: vrfVisualsManager.h:40
DtSimulationObjectGroupModelSetEntry * myOriginalSOGData
Definition: simulationModelSetLoader.h:215
virtual void processModelSet(DtSimulationModelSet *)
boost::signals2::signal< void(const DtFilename &)> signal_systemRemoved
Definition: simulationModelSetLoader.h:993
DtSimulationObjectCategoryInformation & defaultCategories(CategoryTypes)
Definition: simulationModelSetLoader.h:1331
DtSimulationObjectGroupModelSetEntry * myModifiedSOGData
Definition: simulationModelSetLoader.h:216
bool titleOnly
Definition: simulationModelSetLoader.h:1248
LoadFlags
Definition: simulationModelSetLoader.h:100
void setDefaultOverlayLayers(const QStringList &)
Definition: simulationModelSetLoader.h:1359
Descriptor for a DtComponentSystem. Specified a system being added to an entity. This does not actual...
Definition: componentSystemDescriptor.h:23
A simulation model set contains all the information that can be used to support a scenario either for...
Definition: simulationModelSet.h:31
std::set< DtString > myIgnorePlatformType
Definition: simulationModelSetLoader.h:1208
boost::signals2::signal< void(EntityData *)> signal_entityEntryAboutToBeRemoved
Definition: simulationModelSetLoader.h:987
void setDefaultDeployedCountries(const QStringList &)
Definition: simulationModelSetLoader.h:1380
bool myNeedsPruning
Definition: simulationModelSetLoader.h:1255
vrlink
Definition: subordinateFunctionTable.h:20
ParametersMap myAvailableParameters
Definition: simulationModelSetLoader.h:1204
makVrf::DtVrfVisualsManager * myVrfVisualsManager
Definition: simulationModelSetLoader.h:1218
DtEnvValueSP myModifiedObjectNode
Definition: simulationModelSetLoader.h:246
ParameterStruct()
Definition: simulationModelSetLoader.h:125
Contains the DtDiGuyInformation class declaration.
bool operator>(const EntityData &rhs) const
Definition: simulationModelSetLoader.h:195
DtVariableBindingsList * myModifiedVariableBindings
Definition: simulationModelSetLoader.h:247
bool myForceManagerModified
Definition: simulationModelSetLoader.h:1216
bool myIsModified
Definition: simulationModelSetLoader.h:256
boost::signals2::signal< void(EntityData *)> signal_visualMappingsModified
Definition: simulationModelSetLoader.h:989
boost::signals2::signal< void()> signal_resetVisuals
Definition: simulationModelSetLoader.h:990
bool hasParentFile()
Definition: simulationModelSetLoader.h:267
bool myIsNew
Definition: simulationModelSetLoader.h:254
CategoryTypes
Definition: simulationModelSetLoader.h:115
EnvironmentContainerSP myEnvironment
Definition: simulationModelSetLoader.h:213
DtEnvironmentSP myOriginal
Definition: simulationModelSetLoader.h:160
bool myLoadingSMSFiles
Definition: simulationModelSetLoader.h:1225
DtSimulationObjectEditorScenarioExplorer * myScenarioExplorer
Definition: simulationModelSetLoader.h:1202
DtModelSet * myFavoritesModelSet
Definition: simulationModelSetLoader.h:1209
EntityData * myIsReplacing
Definition: simulationModelSetLoader.h:258
DtModelSet * myBackupFavoritesModelSet
Definition: simulationModelSetLoader.h:1210
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:72
Class that will keep track of all sensor signature information.
Definition: sensorSignatureInformation.h:17
Contains information about the current DI-Guy character instance and some of its available options...
Definition: diGuyInformation.h:22
DtVrfSubObjectParameterList * myOriginalSubordinateInformation
Definition: simulationModelSetLoader.h:238
DtEmbarkationInformation * myModifiedEmbarkationInformation
Definition: simulationModelSetLoader.h:250
boost::signals2::signal< void()> signal_preloadSimulationModelSet
Definition: simulationModelSetLoader.h:984
DtModelSetEntry * myOriginalModelSetEntry
Definition: simulationModelSetLoader.h:243
static DtUnicode fromAscii(const std::string &ascii)
Create a unicode string from an ascii string, the string MUST be zero terminated if the length is not...
DtDetonationParams * myDetonationParameters
Definition: simulationModelSetLoader.h:1195
bool myPartialLoad
Definition: simulationModelSetLoader.h:1256
static const int DtTemplateKindBase
Definition: simulationModelSetLoader.h:95
QStringList myWarned
Definition: simulationModelSetLoader.h:1161
const DtFilename & parameterFilename() const
Definition: simulationModelSetLoader.h:1304
boost::signals2::signal< void(makVrv::DtDe *)> signal_displayDeSet
Signal sent when display de is set. Connect to this signal so you can add new visualizers for display...
Definition: simulationModelSetLoader.h:999
DtSimulationObjectEditorComponentSystemDatabase * myOriginalSystemDatabase
Definition: simulationModelSetLoader.h:1163
bool myResolvedParent
Definition: simulationModelSetLoader.h:232
DtSimulationModelSet * mySimulationModelSet
Definition: simulationModelSetLoader.h:1162
std::vector< DtSubordinateFunctionTable > mySubordinateFunctionTables
Definition: simulationModelSetLoader.h:1254
QString withoutAdditionX
Definition: simulationModelSetLoader.h:1242
std::list< DtObjectType > myOriginalAdditionalMatchTypes
Definition: simulationModelSetLoader.h:229
An ordered key list will allow lookup by entity key type. All entries added to this list must be a su...
Definition: orderedObjectTypeList.h:20
const DtRwForces & allForces() const
Definition: simulationModelSetLoader.h:1309
AmmunitionInformation()
Definition: simulationModelSetLoader.h:949
Definition: targetingControlTable.h:20
AmmunitionInformation(const DtTargetingControlTable *c, double r)
Definition: simulationModelSetLoader.h:950
DtAmmunitionParamsEntry * myModifiedAmmunitionParameters
Definition: simulationModelSetLoader.h:219
Definition: modelSet.h:35
DtObjectType myMatchType
Definition: simulationModelSetLoader.h:225
#define DT_DLL_simulationObjectEditorimpl
This file is used to determine how to build.
Definition: simulationObjectEditorImplDefines.h:33
DtAutoTagInformation myAutoTagInformation
Definition: simulationModelSetLoader.h:1223
DtModelSet * myModelSet
Definition: simulationModelSetLoader.h:1171
const DtSimulationModelSet & simulationModelSet() const
Definition: simulationModelSetLoader.h:1284
QStringList myDefaultOverlayLayers
Definition: simulationModelSetLoader.h:1182
void setNeedsPruning(bool b)
Definition: simulationModelSetLoader.h:978
DtDetonationParams * myMasterModeDetonationParameters
Definition: simulationModelSetLoader.h:1194
makVrv::DtDe * myDisplayDe
Definition: simulationModelSetLoader.h:1185

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)