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>
26 
31 #include <vrfutil/formationTable.h>
32 #include <vlutil/vlFilename.h>
34 #include <mtl/envValue.h>
35 #include <matrix/3dBoundingVolume.h>
37 #include <vrvUtil/DtUnicode.h>
38 #include <QtCore/QHash>
39 #include <QtGui/QPixmap>
40 #include <QtCore/QObject>
44 
45 #include <vlpi/entityType.h>
46 #include <tbb/mutex.h>
47 #include <tbb/spin_mutex.h>
48 
49 #endif
50 
51 class DtEnvList;
59 class QTranslator;
61 class DtRwVisualMetaData;
62 class DtAmmunitionParams;
63 class DtDetonationParams;
72 class QProgressBar;
73 class QLabel;
74 
75 namespace makVrf
76 {
77  class DtEntityMapperKey;
78  class DtVrfVisualsManager;
79  class DtVrfEntityTypeMapper;
80  class DtVrfGuiForceManager;
81 }
82 
83 namespace makVrv
84 {
85  class DtModelDefinitionManager;
86  class DtEntityTypeMapper;
87  class DtModelDefinition;
88 }
89 
90 class DtEntityType;
91 class DtModelSet;
92 class QComboBox;
94 class DtVariableBindingList;
96 class DtEnumLoader;
97 class DtEnumDictionary;
98 
99 static const int DtTemplateKindBase = 400;
100 
102 {
103 public:
105  {
106  LoadDataFiles = 0x00000001,
107  LoadParameterFiles = 0x00000002,
108  LoadSystemFiles = 0x00000004,
109  LoadSupportingFiles = 0x00000008,
110  LoadStandardSensorObjects = 0x00000010,
111  LoadTranslationFiles = 0x00000020,
112  LoadVisualFiles = 0x00000040,
113  LoadOrCreateVisualFiles = 0x00000080,
114  LoadAutoTagInformation = 0x00000100,
115  LoadFunctionInformation = 0x00000200,
116  LoadAll = LoadDataFiles | LoadParameterFiles | LoadSystemFiles | LoadSupportingFiles | LoadStandardSensorObjects | LoadTranslationFiles | LoadOrCreateVisualFiles | LoadAutoTagInformation | LoadFunctionInformation
117  };
118 
120  {
121  SystemCategories = 0,
122  EntityCategories = 1,
123  DefaultDeployableCountries = 2,
124  DefaultOverlayLayers = 3
125  };
126 
128  {
129  ParameterStruct() : params(0), isMasterSMS(false) {};
130  ParameterStruct(DtVrfObjectParameters* p, bool b, const DtFilename& f) : params(p), isMasterSMS(b), file(f) {};
131  ParameterStruct(const ParameterStruct& orig) : params(orig.params), isMasterSMS(orig.isMasterSMS), file(orig.file) {};
132 
133  DtVrfObjectParameters* params;
135  DtFilename file;
136  };
137 
138  typedef std::map<DtString, ParameterStruct> ParametersMap;
139 
140  typedef DtAmmunitionManager*(*AmmunitionManagerCreator)();
141 
143  {
144  public:
147 
148  virtual ~EnvironmentContainer();
149 
150  void seedFrom(DtEnvironmentSP env, DtEnvValueSP root);
151 
152  DtEnvironmentSP copyEnvironment(DtEnvironmentSP) const;
153  void reparentEnvironmentChildren(DtEnvList*, DtEnvValueSP root) const;
154 
155  DtEnvValueSP backup();
156  DtEnvValueSP update();
157 
158  void remove(DtEnvValueSP originalNode, DtEnvValueSP modifiedNode);
159  bool isEmpty() const;
160 
161  DtEnvValueSP replace(DtEnvironmentSP env, DtEnvValueSP node, DtEnvValueSP replaceWith);
162  void reparentRoots(DtEnvValueSP templateRoot, DtEnvValueSP newRoot) const;
163 
166  };
167 
168  typedef std::shared_ptr<EnvironmentContainer> EnvironmentContainerSP;
169 
170  class EntityData : public DtEntityType
171  {
172  public:
173  EntityData();
174  virtual ~EntityData() override;
175  EntityData(const DtEntityType& objectType, const DtEntityType& matchType = DtEntityType::nullType());
176  EntityData(const EntityData& t);
177 
178  //sets the object type
179  EntityData& operator=(const DtEntityType&);
180 
181  EntityData& operator=(const EntityData&);
182 
183  virtual EntityData* clone() const;
184 
185  //compares to the object type
186  bool operator>(const DtEntityType& rhs) const
187  {
188  if (*this < rhs)
189  {
190  return false;
191  }
192  else
193  {
194  return true;
195  }
196  }
197 
198  //compares to the object type
199  bool operator>(const EntityData& rhs) const
200  {
201  if (*this < rhs)
202  {
203  return false;
204  }
205  else
206  {
207  return true;
208  }
209  }
210 
212  std::string myDataFile;
213 
214  DtEnvValueSP myOriginalDataNode;
216  //this is the environment that includes the parent files (if they exist)
218 
221 
224 
227 
228 
229  DtEntityType myMatchType;
230  DtEntityType myOriginalMatchType;
231 
232  std::list<DtEntityType> myAdditionalMatchTypes;
233  std::list<DtEntityType> myOriginalAdditionalMatchTypes;
234 
237 
239  DtEnvValueSP myOriginalObjectNode;
248 
250  DtEnvValueSP myModifiedObjectNode;
258  bool myIsNew;
261 
264 
265  DtFilename myParentFile;
266  DtEnvironmentSP myParentEnvironment; //this is the environment containing only what is inherited
267 
268  std::set<DtString> elementsAddedThisSession;
269  std::set<DtVariableBindingsList> systemsAddedThisSession;
270 
272  {
273  if (myParentFile.isEmpty())
274  {
275  return false;
276  }
277 
278  return true;
279  }
280  };
281 
282  typedef std::map<std::string, EntityData*> ParametersData;
283 
284  typedef std::map<DtArtPartType, DtSimArtPartDescriptor> ArtPartMap;
285 
288 
289  virtual ~DtSimulationModelSetLoader() override;
290 
291  virtual void setForceSaveAll(bool b) { myForceSaveAll = b; };
292  bool forceSaveAll() const { return myForceSaveAll; };
293 
294  virtual bool load(const DtSimulationModelSet&, LoadFlags flags = LoadAll);
295  virtual bool save(const DtFilename&, bool forceSaveAll = false, QProgressBar* progressBar = nullptr, QLabel* fileLabel = nullptr);
296 
297  static DtSimulationModelSetLoader& instance(makVrv::DtDe&);
298  static void registerInstance(makVrv::DtDe&, DtSimulationModelSetLoader*);
299 
300  virtual void setDisplayDe(makVrv::DtDe*);
301  virtual makVrv::DtDe& displayDe();
302 
303 private:
306 
307 public:
309  virtual void setLoadVisuals(bool);
310 
312  virtual bool hasFileNamed(const std::string& s) const;
313 
318  virtual bool addNewDataFile(const std::string&, bool useExactFile = false, bool loadInParallel = true, DtString* errorString = nullptr);
319 
321  virtual bool addNewSimulationObjectGroup(const std::string&);
322 
324  virtual bool addNewRandomizedObject(const std::string&);
325 
327  virtual bool readOnly() const;
328  virtual void setReadOnly(bool);
329 
331  virtual void setSaveReadOnlyFlag(bool);
332  virtual bool saveReadOnlyFlag() const;
333 
335  virtual bool hasComponentByDescriptorType(const makVrf::DtEntityMapperKey&, const DtString& descriptor) const;
336  virtual bool hasComponentByDescriptorType(const DtFilename&, const DtString& descriptor) const;
337 
339  virtual bool hasComponentByComponentType(const makVrf::DtEntityMapperKey&, const DtString& descriptor) const;
340  virtual bool hasComponentByComponentType(const DtFilename&, const DtString& descriptor) const;
341 
343  virtual bool simulationObjectGroupExists(const std::string&) const;
344 
346  virtual bool randomizedObjectExists(const std::string&) const;
347 
350  virtual DtModelSetEntry* createNewSimulationObjectGroupFromExisting(const DtEntityType& base, const std::string& newName,
351  const DtRwNLengthStringVector& categories = DtRwNLengthStringVector("categories"));
352  virtual DtModelSetEntry* createNewSimulationObjectGroupFromExisting(EntityData* data, const std::string& newName,
353  const DtRwNLengthStringVector& categories = DtRwNLengthStringVector("categories"));
354  virtual DtModelSetEntry* createNewAmmunitionEntryFromExisting(EntityData* data, const std::string& newName, const DtEntityType& newType,
355  const DtRwNLengthStringVector& categories = DtRwNLengthStringVector("categories"), bool replaceName = false);
356 
358  virtual std::string platform(const makVrf::DtEntityMapperKey& k) const;
359 
361  virtual std::string uiFilename(const makVrf::DtEntityMapperKey& k) const;
362 
364  virtual std::string uiFilename(DtComponentSystemDefinition*) const;
365 
367  virtual DtSimulationModelSet* simulationModelSet(const makVrf::DtEntityMapperKey& k) const;
368 
370  {
371  return mySimulationModelSet;
372  }
373 
375  virtual DtSimulationModelSet* simulationModelSet(const DtComponentSystemDefinition*) const;
376  virtual DtSimulationModelSet* simulationModelSet(const DtFilename&) const;
377 
379  virtual void setPartialLoad(bool);
380  bool partialLoad() const
381  {
382  return myPartialLoad;
383  }
384 
386  virtual std::string platformFileType(const makVrf::DtEntityMapperKey& k) const;
387 
389  virtual std::string platformKey(const makVrf::DtEntityMapperKey& k) const;
390 
392  virtual DtString platformDisplayName(const makVrf::DtEntityMapperKey& k) const;
393 
395  virtual DtString platformDisplayDescription(const makVrf::DtEntityMapperKey& k) const;
396 
398  virtual bool addMissingVariablesFromPlatformsAndSystems(QWidget* parent = 0, bool saveAllIfAnyModified = false, QProgressBar* progressBar = nullptr, QLabel* fileLabel = nullptr);
399  virtual bool addMissingVariablesFromPlatformsAndSystems(EntityData* data, std::map<DtString, DtRwVariableBindings*>&);
400 
401  virtual DtSimResourceManager resourcesFor(const DtEntityType&) const;
402  virtual DtSimResourceManager resourcesFor(EntityData*) const;
403 
404  virtual void restoreDefaultResources(QProgressBar* progressBar = nullptr, QLabel* fileLabel = nullptr);
405  virtual bool restoreDefaultResources(EntityData* data);
406  virtual bool restoreDefaultResources(const DtEntityType& key);
407  virtual void restoreDefaultResources(const DtComponentSystemDefinition* key);
408 
410  virtual bool restoreResourcesToParent(const DtEntityType&);
411  virtual bool restoreResourcesToParent(EntityData*);
412 
413  virtual DtReaderWriter* parentValue(const DtEntityType& t, std::string element);
414  virtual DtReaderWriter* parentValue(EntityData*, std::string element);
415 
419  virtual bool addMissingArticulatedParts(QWidget* parent = 0, bool saveIfModified = false);
420  virtual bool addMissingArticulatedPartsForEntity(EntityData* data);
421  virtual bool addMissingArticulatedPartsForEntity(const DtEntityType& objectType,
422  DtSimArtPartDescriptorList* modifiedParts,
423  ArtPartMap& partsFromModel, ArtPartMap& partsFromSystemDefaults);
424 
426  virtual bool addMissingVariablesAndArticulatedPartsFromPlatformsAndSystems(QWidget* parent = 0, bool saveAllIfAnyModified = false, QProgressBar* progressBar = nullptr, QLabel* fileLAbel = nullptr);
427 
429  virtual bool getPartsFromEntityVisualModel(const DtEntityType& objectType, ArtPartMap& partsFromModel);
430 
432  virtual void regenerateOpeFiles();
433 
435  virtual void regenerateSystemFiles();
437  virtual std::vector<DtComponentSystemDefinition*> systemsThatCanBeDamagedBy(const DtString&) const;
438  virtual std::vector<const DtComponentSystemDefinition*> entitiesSystemsThatUseResource(const DtEntityType& eneity, const DtEntityType& resource, int bin) const;
439 
442  virtual DtString rangeTypeFromPower(const DtString&) const;
443  virtual void setDefaultRangeTypeForPower(const DtString&, const DtString&);
444  virtual std::vector<DtString> rangesByPowerType(const DtString&) const;
445  virtual void setSupportedRangesByPowerType(const DtString&, const std::vector<DtString>&);
446 
447  virtual std::set<DtString> powerTypes(bool hasHumanActuator) const;
448  virtual void addPowerType(const DtString&, const QString& withoutAddition, const QString& withAddition, bool needForceAdditional = false,
449  const QString& withoutAdditionX = "", const QString& witAdditionX = "", bool humanOnly = false, bool titleOnly = false);
450 
453  virtual QString powerTitle(const DtString&, const QString& addition = "", bool applyAdditionalToAll = false, bool xAxis = false) const;
455 
456  virtual void createSupportedDetonations();
457 
458  DtFilename getSystemDirectory() const;
459  DtFilename getNavDataDirectory() const;
460  DtFilename getFormationDirectory() const;
461  DtFilename getGuiDirectory() const;
462  DtFilename path() const;
463 
465  DtFilename simulationModelSetFilename() const;
466 
467  virtual bool checkAndLoadAll(QString text = "");
468 
469  virtual bool openSystemFiles(DtSimulationModelSet* set, const DtFilename& directory, bool isInMasterSMS);
470 
472  virtual DtString cleanStringForRwSymbol(const DtString&) const;
473 
474  virtual bool loadForceHostilityFile(const DtFilename& f);
475  virtual bool loadAmmunitionParameters(const DtFilename& f, bool inMasterSMS, DtSimulationModelSet* sms);
476  virtual bool loadDetonationParameters(const DtFilename& f, bool inMasterSMS, DtSimulationModelSet* sms);
477 
478  virtual bool loadDetTerrainDeformParameters(const DtFilename& f, bool inMasterSMS, DtSimulationModelSet* sms);
479 
482  virtual bool loadDataFiles(const DtString&, DtSimulationModelSet*, bool fromMasterSMS, LoadFlags flags = LoadAll);
483 
485  virtual void loadSimulationObjectGroupFiles(const DtString&, DtSimulationModelSet*, bool fromMasterSMS);
486 
488  virtual DtModelSetEntry* reloadSimulationObjectGroup(const DtString&);
489 
491  virtual void loadTemplates(const DtString&, DtSimulationModelSet*);
492 
493  virtual std::vector<DtComponentSystemDefinition*> systemsThatUseAmmunition(const DtString&) const;
494  virtual std::vector<DtComponentSystemDefinition*> systemsThatUseTemplate(const DtFilename&) const;
495 
497  virtual void makeTemplate(EntityData*);
498  virtual void makeTemplate(const DtEntityType&);
499 
501  virtual bool itemContains(const DtVrfSubObjectParameterList&, const DtEntityType&) const;
502 
504  virtual const std::vector<DtString>& iconLists() const;
505  virtual bool hasIconList(const DtString&) const;
506 
508  virtual void addIconList(const DtString&);
509  virtual void removeIconList(const DtString&);
510  virtual void setIconLists(const std::vector<DtString>&);
511  virtual void loadIconLists(const DtFilename&);
512  virtual void saveIconLists(const DtFilename&);
513 
515  virtual bool loadParameterFiles(DtSimulationModelSet* sms, bool inMasterSMS);
516 
518  virtual bool loadModelSet();
519 
522  virtual DtModelSetEntry* modelEntry(const DtEntityType&, bool matchPattern = false) const;
523 
525  virtual DtFilename modelDefinitionFile(const DtEntityType&, bool resolve) const;
526  virtual const makVrv::DtModelDefinition* modelDefinition(const DtEntityType& objectType, std::string& definition) const;
527  virtual std::string diGuyCharacterOMMX() const;
528  virtual std::string diGuyCharacterLeaf() const;
529 
531  virtual DtString simulationModelSetFor(const DtEntityType&) const;
532 
534  virtual DtString simulationModelSetFor(const DtFilename&) const;
535 
537  virtual DtModelSetEntry* createModelSetEntryFrom(DtEnvironmentSP env, DtEnvValueSP objectNode) const;
538  virtual DtModelSetEntry* createModelSetEntryFrom(const DtEntityType&) const;
539  virtual DtModelSetEntry* createModelSetEntryFrom(const DtAmmunitionParamsEntry*) const;
540 
542  virtual bool hasGuiKeyword(const makVrf::DtEntityMapperKey&, const std::string&) const;
543 
545  virtual void revertData(const makVrf::DtEntityMapperKey& key);
546  virtual void revertData(DtComponentSystemDefinition*);
547 
549  virtual DtVrfObjectParameters* objectParameterDataFor(const DtEntityType& o) const;
550 
552  virtual EntityData* dataFor(const DtEntityType&, bool completeLoadIfNecessary = true) const;
553 
555  virtual EntityData* dataFor(DtModelSetEntry*, bool completeLoadIfNecessary = true) const;
556 
559  virtual bool containsObjectType(const DtEntityType&, bool onlyFromMasterSMS = false, DtString* name = 0) const;
560 
562  virtual DtVariableBindingsList allVariableBindingsInSystemsFor(const DtEntityType&) const;
563 
565  virtual bool isSimulationObjectGroup(const DtEntityType&) const;
566 
569  virtual bool hasModelNamed(const DtString&, bool& isDeleted);
570 
571  virtual DtReaderWriter::SearchPaths searchPaths() const;
572  virtual std::vector<DtSimulationModelSet*> modelSets() const;
573 
574  virtual QString ammunitionDisplayName(const DtEntityType&) const;
575  virtual QString resourceDisplayName(const DtEntityType&) const;
576 
577  virtual const ParametersMap& availableParameters() const
578  {
579  return myAvailableParameters;
580  }
581 
583  virtual bool hasHumanDamageSystem(const std::vector<DtComponentSystemDefinition*>&) const;
584 
586  virtual bool hasMultiHitDamageSystem(const std::vector<DtComponentSystemDefinition*>& systems) const;
587 
590  virtual bool createRwVariable(const DtEntityType&, const std::string& rwType, const std::string& rwName, DtReaderWriter*& original,
591  DtReaderWriter*& modified);
592 
593  virtual void replaceSystem(const DtFilename&);
594 
595  virtual bool entryIsRandomized(const DtEntityType&) const;
596  virtual bool canAddSubordinatesTo(const DtEntityType&) const;
597 
598  virtual bool isModified(const DtEntityType&) const;
599  virtual bool isModified(EntityData*) const;
600  virtual bool isModified(DtComponentSystemDefinition*) const;
601 
603  virtual bool isModified(const DtFilename&) const;
604 
605  virtual bool isModified() const;
606 
607  virtual bool isNew(const DtEntityType&) const;
608  virtual bool isNew(EntityData*) const;
609 
610  virtual bool isDeleted(const DtEntityType&) const;
611  virtual bool isDeleted(EntityData*) const;
612 
613  virtual bool isDeleted(DtComponentSystemDefinition*) const;
614  virtual bool isDeleted(const DtFilename&) const;
615 
616  virtual bool isNew(DtComponentSystemDefinition*) const;
617  virtual bool isNew(const DtFilename&) const;
618 
619  virtual std::vector<EntityData*> objectsThatUseSystems(const std::vector<const DtComponentSystemDefinition*>& rw) const;
620  virtual std::vector<EntityData*> objectsThatUseSystems(const std::vector<DtComponentSystemDefinition*>& rw) const;
621 
622  virtual makVrf::DtVrfEntityTypeMapper& entityTypeMapper(const makVrf::DtEntityMapperKey&);
623  virtual makVrf::DtVrfEntityTypeMapper& aggregateTypeMapper(const makVrf::DtEntityMapperKey&);
624  virtual makVrf::DtVrfEntityTypeMapper& tacticalGraphicsMapper(const makVrf::DtEntityMapperKey&);
625  virtual makVrv::DtElementDefinitionTypeManager& elementDefinitionTypeManager(const makVrf::DtEntityMapperKey&);
626  virtual makVrv::DtModelDefinitionManager& modelDefinitionManager(const makVrf::DtEntityMapperKey&);
627 
628  virtual void saveModelDefinitionManager();
629  virtual void saveVisualElementsFor(makVrv::DtElementDefinitionTypeManager::BuiltInElementTypes, bool andHierarchy = false);
630  virtual makVrf::DtVrfVisualsManager* visualsManager();
631 
632  virtual makVrf::DtVrfEntityTypeMapper& defaultEntityTypeMapper();
633  virtual makVrf::DtVrfEntityTypeMapper& defaultAggregateTypeMapper();
634  virtual makVrf::DtVrfEntityTypeMapper& defaultTacticalGraphicsMapper();
635  virtual makVrv::DtElementDefinitionTypeManager& defaultElementDefinitionTypeManager();
636  virtual makVrv::DtModelDefinitionManager& defaultModelDefinitionManager();
637 
638  virtual makVrv::DtEntityTypeMapper* systemEntityTypeMapper();
639  virtual makVrv::DtEntityTypeMapper* systemAggregateTypeMapper();
640  virtual makVrv::DtEntityTypeMapper* systemTacticalGraphicsMapper();
641  virtual makVrv::DtElementDefinitionTypeManager& systemElementDefinitionTypeManager();
642  virtual makVrv::DtModelDefinitionManager& systemModelDefinitionManager();
643 
644  virtual void createSpotReportDefinitionFor(const makVrf::DtEntityMapperKey&);
645  virtual void updateVisualsFor(const makVrf::DtEntityMapperKey&);
646  virtual void removeVisualsFor(const makVrf::DtEntityMapperKey&);
647  virtual void removeElementDefinition(const makVrf::DtEntityMapperKey&);
648 
650  virtual void deleteModel(DtModelSetEntry*);
651  virtual void deleteModel(const DtEntityType&);
652  virtual void deleteModel(EntityData*);
653 
654  virtual void deleteSystem(const DtComponentSystemDefinition*);
655  virtual void deleteSystem(const DtFilename&);
656 
658  virtual bool deleteSystemFromModelSet(const DtComponentSystemDefinition*);
659 
661  virtual bool changeObjectType(const DtEntityType& oldType, const DtEntityType& newType);
662 
664  virtual bool changeMatchType(const DtEntityType& oldType, const DtEntityType& newType);
665 
666  virtual bool setAdditionalMatchTypes(const DtEntityType& key, const std::list<DtEntityType> additionalMatchTypes);
667 
671  virtual std::vector<DtString> updateGuiInformation(EntityData*, DtEnvValueSP = DtEnvValueSP());
672 
674  virtual void updateSystemData(EntityData*);
675 
677  virtual void sharedSystems(const DtFilename& systemFile, std::vector<DtModelSetEntry*>& result) const;
678 
680  virtual void updateDataInformation(EntityData*);
681 
684  virtual DtEnvironmentSP resolveParentData(EntityData*);
685 
687  virtual void convertRegistryToEnvironment(const DtReaderWriterRegistry& data, DtEnvironmentSP env, DtEnvValueSP objectNode) const;
688 
690  virtual void removeSystem(DtEnvironmentSP env, const DtString& system, DtEnvValueSP objectNode);
691 
693  virtual void addSystem(DtEnvironmentSP env, const DtRwVariableBindings*, DtEnvValueSP objectNode);
694 
695  virtual const QStringList& masterModeCategories(CategoryTypes) const;
696  virtual QStringList& masterModeCategories(CategoryTypes);
697  virtual QStringList defaultCategoriesAsStringList(CategoryTypes) const;
698 
699  DtSimulationObjectCategoryInformation& defaultCategories(CategoryTypes);
700  const DtSimulationObjectCategoryInformation& defaultCategories(CategoryTypes) const;
701 
702  DtSimulationObjectCategoryInformation& nonMasterModeCategories(CategoryTypes);
703  const DtSimulationObjectCategoryInformation& nonMasterModeCategories(CategoryTypes) const;
704 
705  virtual void loadAutoTagInformation();
706 
707  DtAutoTagInformation& autoTagInformation();
708  const DtAutoTagInformation& autoTagInformation() const;
709 
710  virtual int getFileCount(const DtSimulationModelSet&) const;
711 
712  virtual void setDefaultCategories(const DtSimulationObjectCategoryInformation&, const QStringList& masterMode, CategoryTypes);
713  virtual void revertCategories(CategoryTypes);
714  virtual bool hasModifiedCategories(CategoryTypes) const;
715  virtual bool saveDefaultCategories(const DtFilename&, CategoryTypes);
716  virtual bool loadDefaultCategories(const DtFilename&, CategoryTypes);
717 
718  void setDefaultOverlayLayers(const QStringList&);
719  const QStringList& defaultOverlayLayers();
720  virtual void revertOverlayLayers();
721  virtual bool hasModifiedOverlayLayers() const;
722  virtual void changeDefaultOverlayLayer(const QString& old, const QString& newCat);
723  virtual void addDefaultOverlayLayers(QComboBox*);
724  void addDefaultOverlayLayer(const QString&);
725 
726  virtual DtRwForces favoritesFor(const DtModelSetEntry*) const;
727  virtual DtRwForces backupFavoritesFor(const DtModelSetEntry*) const;
728  virtual void setFavoritesFor(DtModelSetEntry*, const DtRwForces&);
729 
730  virtual void changeDefaultDeployedCountry(const QString& old, const QString& newCat);
731  void setDefaultDeployedCountries(const QStringList&);
732  void addDefaultDeployedCountry(const QString&);
733  const QStringList& defaultDeployedCountries();
734  virtual void revertDeployedCountries();
735  virtual bool hasModifiedDeployedCountries() const;
736 
738  virtual void resetVisuals();
739 
741  virtual DtRwVariableBindings* createVariableBindingsForSystem(const DtFilename&, const DtString& newSystemName);
742 
744  virtual std::map<std::string, DtEntityType> templatesForKind(int) const;
745  virtual std::map<std::string, DtEntityType> templatesThatMatch(const DtEntityType&) const;
746 
749  virtual DtModelSetEntry* addNewEntity(const DtEntityType& base, const DtEntityType& newType, const DtString& name,
750  const DtRwNLengthStringVector& categories, const DtString& uniqueID, const makVrv::DtUnicode& elementDefinition = makVrv::DtUnicode::fromAscii(""),
751  bool replaceAmmoName = false);
752 
755  virtual DtModelSetEntry* addNewEntity(const std::string& platformType, const DtEntityType& newType, const DtString& name,
756  const DtRwNLengthStringVector& categories, const DtString& uniqueID, const makVrv::DtUnicode& elementDefinition = makVrv::DtUnicode::fromAscii(""));
757 
759  virtual DtModelSetEntry* addNewEntity(EntityData* baseData, const DtEntityType& newType, const DtString& name,
760  const DtRwNLengthStringVector& categories, const DtString& uniqueID, const makVrv::DtUnicode& elementDefinition = makVrv::DtUnicode::fromAscii(""),
761  bool replaceAmmoName = false);
762 
763  virtual DtModelSetEntry* addNewInheritingEntity(const DtEntityType& parent, const DtEntityType& type, const DtString& name);
764 
766  virtual void addGuiInfo(EntityData*, DtModelSetEntry*, const DtString& name, const DtEntityType&,
767  const DtRwNLengthStringVector& categories, const DtString uniqueId);
768 
770  virtual void removeSystem(const DtFilename&);
771 
772  virtual const DtRwVariableBindings* variableBindings() const;
773 
774  virtual QPixmap getIcon(const makVrf::DtEntityMapperKey& key, int pointSize = 48,
775  bool sizeToFont = false);
776 
777  virtual QPixmap getUnfilledIcon(const makVrf::DtEntityMapperKey& key, const QColor& outlineColor = Qt::black, const QColor& fillColor = Qt::transparent, int pointSize = 48,
778  bool sizeToFont = false);
779 
780  virtual void clearIcons(const makVrf::DtEntityMapperKey& key);
781 
782  static DtSimulationModelSetLoader* create(makVrv::DtDe*);
783 
785  virtual void changeSubordinateTypes(const DtEntityType& oldType, const DtEntityType& newType);
786 
787  virtual void checkParameterUpdates(EntityData*);
788  virtual void checkParameterUpdates(const std::set<makVrf::DtEntityMapperKey>&);
789 
791  virtual makVrv::DtUnicode elementDefinitionFor(const DtEntityType&);
792 
794  virtual DtVrfSubObjectParameterList subordinateObjectsFor(const DtEntityType&) const;
795  virtual DtVrfSubObjectParameterList subordinateObjectsFor(DtEnvironmentSP, DtEnvValueSP objectNode) const;
796 
798  virtual void updateSubordinateObjects(const DtEntityType&, const DtVrfSubObjectParameterList&);
799  virtual void updateSubordinateObjects(DtEnvironmentSP, DtEnvValueSP objectNode, const DtVrfSubObjectParameterList&);
800 
802  virtual void updateFormationTable(const DtEntityType&, const DtFormationTable&);
803 
805  virtual DtEmbarkationInformation embarkationInformationFor(const DtEntityType&) const;
806  virtual DtEmbarkationInformation embarkationInformationFor(DtEnvironmentSP, DtEnvValueSP objectNode) const;
807 
809  virtual void updateEmbarkationInformation(const DtEntityType&, const DtEmbarkationInformation&);
810  virtual void updateEmbarkationInformation(DtEnvironmentSP, DtEnvValueSP objectNode, const DtEmbarkationInformation&);
811 
813  virtual DtDiGuyInformation diGuyInformationFor(const DtEntityType&) const;
814 
816  virtual void updateDiGuyInformation(const DtEntityType&, const DtDiGuyInformation&);
817 
819  virtual DtSensorSignatureInformation sensorSignatureInformationFor(const DtEntityType&) const;
820  virtual DtSensorSignatureInformation sensorSignatureInformationFor(DtEnvironmentSP, DtEnvValueSP root) const;
821 
823  virtual void updateSensorSignatureInformation(const DtEntityType&, const DtSensorSignatureInformation&);
824  virtual void updateSensorSignatureInformation(DtEnvironmentSP, DtEnvValueSP root, const DtSensorSignatureInformation&);
825 
827  virtual DtFormationTable* formationTableFor(const DtEntityType&);
828  virtual DtFormationTable* originalFormationTableFor(const DtEntityType&);
829 
831  virtual Dt3dBoundingVolume boundingVolumeFor(const DtEntityType&) const;
832 
834  virtual bool isAggregate(const DtEntityType&) const;
835 
836  bool loaded() const
837  {
838  return myLoaded;
839  }
840 
842  {
843  return myEntityData;
844  }
845 
846  bool cancelledLoad() const
847  {
848  return myCancelledLoad;
849  }
850 
851  virtual bool isTemplate(const DtEntityType&) const;
852  virtual bool templateExists(const DtEntityType&) const;
853 
854  virtual void setForceManagerModified(bool);
855  virtual bool forceManagerModified() const;
856 
857  virtual DtFilename modelDefinitionsPath();
858 
859  virtual bool upgradeCountriesToCountryCodes(EntityData*);
860  virtual bool upgradeTopLevelCategories(EntityData*);
861 
862  virtual bool isInMasterSMS(const DtEntityType&) const;
863  virtual bool isInMasterSMS(const DtFilename&) const;
864  virtual bool isInMasterSMS(const DtComponentSystemDefinition*) const;
865 
866  virtual DtString smsName(const DtEntityType&) const;
867  virtual DtString smsName(const DtFilename&) const;
868  virtual DtString smsName(const DtComponentSystemDefinition*) const;
869 
870  virtual const DtComponentSystemDefinition* originalSystemDefinitionFor(const DtComponentSystemDefinition*) const;
871  virtual const DtComponentSystemDefinition* originalSystemDefinitionFor(const DtFilename&) const;
872 
874  virtual bool saveData(QProgressBar* progressBar = nullptr, QLabel* fileLabel = nullptr);
875  virtual bool saveData(EntityData* data, bool force = false);
876  virtual bool saveUserRangeRings();
877 
879  virtual void setSaveVrfRangeRings(bool b);
880  bool saveVrfRangeRings() const
881  {
882  return mySaveVrfRangeRings;
883  }
884 
886  virtual bool saveFavorites();
887 
889  virtual bool saveSystems();
890 
892  virtual DtEnumDictionary* userRangeRingIds();
893  virtual DtFilename userRangeIdEnumerationFile() const;
894 
896  virtual void userRangeRingsChanged();
897 
899  virtual bool saveAmmunitionTable();
900 
902  virtual bool saveDetonationTable();
903 
904  virtual bool saveDetonationTerrainDeformationTable();
905 
907  virtual DtEntityType templateObjectType(const std::string& parameterType) const;
908 
910  virtual void addInternalItem(const std::string&, bool markDataAsWell = true);
911 
913  virtual void addIgnorePlatformType(const DtString&);
914 
917  virtual QString parameterDisplayName(const DtString& parameterType, bool stopAtFirst = true) const;
918 
920  virtual std::map<DtString, QString> availableParameterTypes(const std::set<std::string>& except = std::set<std::string>()) const;
921 
924  virtual std::vector<DtReaderWriter*> supportPointsFor(const DtEntityType&) const;
925 
927  virtual DtEntityType uniqueEntityTypeFrom(const DtEntityType&, bool onlyFromMasterSMS = false) const;
928 
930  virtual makVrv::DtUnicode systemNameForSystem(const std::string&, DtFilename& fullFilename) const;
931 
933  virtual bool hasFactoryChecksums() const;
934 
936  virtual const DtSmsChecksum& factoryChecksums() const;
937 
939  virtual DtRwVisualMetaData* addOrUpdateVisualMetaData(const DtEntityType&);
940 
942  virtual DtComponentSystemDefinition* duplicateSystem(const DtComponentSystemDefinition* base, const DtString& systemName, const DtFilename& systemFilename);
943 
945  virtual DtComponentSystemDefinition* createFromTemplate(const DtString& systemName, const DtFilename& systemFilename, const DtComponentSystemDefinition* systemTemplate);
946  virtual DtFilename filenameToSystemFilename(DtFilename systemFilename) const;
947 
950  virtual void promoteSystem(DtComponentSystemDefinition*);
951 
953  virtual std::map<DtSymbolString, DtAmmunitionParamsEntry*> ammunitionTable() const;
954 
956  virtual DtAmmunitionParamsEntry* addAmmunition(const DtString& name, const DtString& label, const DtEntityType& munitionType);
957 
959  virtual DtAmmunitionParamsEntry* ammunitionEntry(const DtSymbolString&) const;
960  virtual DtAmmunitionParamsEntry* ammunitionEntry(const DtEntityType&) const;
961 
963  virtual DtMunitionDetonationPowerEntry* detonationPowerEntry(const DtEntityType&) const;
964 
965  virtual std::set<DtEntityType> detonationTypes() const;
966  virtual DtMunitionDetonationPowerEntry* duplicatePowerEntry(const DtEntityType&, const DtEntityType&);
967 
968  virtual std::vector<const DtComponentSystemDescriptor*> matchingSystemDescriptors(const makVrf::DtEntityMapperKey&, const DtComponentSystemDescriptor* fromSystemDatabase,
969  const DtString& systemPath) const;
970  virtual std::vector<const DtComponentSystemDescriptor*> matchingSystemDescriptors(const DtComponentSystemDescriptor* fromEntity, const DtComponentSystemDescriptor* fromSystemDatabase,
971  DtString currentPath, const DtString& systemPathToCheck) const;
972 
974  using TargetingControlTables = std::map<DtString, std::vector<std::pair<DtTargetingControlTable*, const DtComponentSystemDefinition*>>>;
975  virtual TargetingControlTables getTargetingControlTables(const makVrf::DtEntityMapperKey&) const;
976 
978  virtual std::map<DtComponentSystemDefinition*, const DtRangeProbabilityTable*> getSystemsAndHitTables() const;
979 
981  typedef std::map<const DtComponentSystemDefinition*, std::pair<const DtTargetingControlTable*,
983  virtual TargetingControlAndRangeTables getTargetingControlAndRangeTables(const makVrf::DtEntityMapperKey&) const;
984 
986  {
987  AmmunitionInformation() : controlTable(0), maximumRange(0.) {};
988  AmmunitionInformation(const DtTargetingControlTable* c, double r) : controlTable(c), maximumRange(r) {};
989  AmmunitionInformation(const AmmunitionInformation& orig) : controlTable(orig.controlTable), maximumRange(orig.maximumRange) {};
990 
991  const DtTargetingControlTable* controlTable;
992  double maximumRange;
993  };
994 
995  typedef std::map<const DtAmmunitionParamsEntry*, AmmunitionInformation> AmmunitionMap;
996  virtual AmmunitionMap ammunitionFromTargetTables(const DtSimulationModelSetLoader::TargetingControlAndRangeTables& targets) const;
997 
998  virtual void findAllTargetingControlAndRangeTables(const DtString&, TargetingControlAndRangeTables&) const;
999 
1001  virtual DtRwDamageByMunitionPowerMap* damageTableFor(const makVrf::DtEntityMapperKey&, DtComponentSystemDefinition** system = 0) const;
1002 
1003  virtual QString translatedSystemName(const DtComponentSystemDefinition* definition) const;
1004  virtual QString translatedSystemDescription(const DtComponentSystemDefinition* definition) const;
1005 
1007  virtual DtEntityType ammunitionType(const DtSymbolString&) const;
1008 
1010  virtual QString ammunitionDisplayName(const DtSymbolString&) const;
1011  virtual void setAmmoEntryIfNecessary(EntityData* data, const DtAmmunitionParamsEntry* templateEntry = 0);
1012 
1014  virtual bool ammunitionCanTarget(const DtEntityType&, const DtEntityType&) const;
1015 
1016  void setNeedsPruning(bool b) { myNeedsPruning = b; };
1017  bool needsPruning() const
1018  {
1019  return myNeedsPruning;
1020  }
1021 
1022  virtual DtSimResourceManager getAllVariableResources(EntityData*) const;
1023 
1024  boost::signals2::signal<void()> signal_preloadSimulationModelSet;
1025  boost::signals2::signal<void()> signal_simulationModelSetLoaded;
1026  boost::signals2::signal<void(std::vector<EntityData*>)> signal_newDataFileAdded;
1027  boost::signals2::signal<void(EntityData*)> signal_entityEntryAboutToBeRemoved;
1028  boost::signals2::signal<void(EntityData*)> signal_entityEntryAdded;
1029  boost::signals2::signal<void(EntityData*)> signal_visualMappingsModified;
1030  boost::signals2::signal<void()> signal_resetVisuals;
1031  boost::signals2::signal<void(bool)> signal_readOnlyChanged;
1032  boost::signals2::signal<void(DtComponentSystemDefinition*)> signal_systemEntryAdded;
1033  boost::signals2::signal<void(const DtFilename&)> signal_systemRemoved;
1034  boost::signals2::signal<void(DtComponentSystemDefinition*)> signal_systemAboutToBeRemoved;
1035  boost::signals2::signal<void(const DtEntityType&, const DtEntityType&)> signal_objectTypeAboutToBeChanged;
1036  boost::signals2::signal<void(const DtEntityType&, const DtEntityType&)> signal_objectTypeChanged;
1037 
1039  boost::signals2::signal<void(makVrv::DtDe*)> signal_displayDeSet;
1040 
1041 public:
1042  const DtModelSet* modelSet() const;
1043  DtModelSet* modelSet();
1044 
1045  virtual makVrf::DtVrfGuiForceManager* forceManager();
1046 
1047  const DtSimulationModelSet& simulationModelSet() const;
1048  bool hasSimulationModelSet() const;
1049  DtSimulationModelSet& simulationModelSet();
1050  const DtFilename& parameterFilename() const;
1051  const DtSimulationObjectEditorComponentSystemDatabase* originalSystemDatabase() const;
1052  const DtSimulationObjectEditorComponentSystemDatabase* modifiedSystemDatabase() const;
1053  const DtSimulationObjectEditorComponentSystemDatabase* templateSystemDatabase() const;
1054  DtSimulationObjectEditorComponentSystemDatabase* modifiedSystemDatabase();
1055  DtFilename modelSetDirectory() const;
1056 
1057  virtual void forceRemoved(DtForceType forceType);
1058 
1059  const DtRwForces& allForces() const;
1060 
1061  virtual std::map<DtString, const DtComponentSystemDefinition*> systemDefinitionsFor(const DtEntityType& o) const;
1062  virtual std::map<DtString, const DtComponentSystemDefinition*> systemDefinitionsFor(const DtEntityType& o, const DtString& category) const;
1063  virtual void writeEnums(int id, DtEnvironment*);
1064 
1065  virtual const DtReaderWriter* findVariable(const DtVariableBindingsList&, const DtString&) const;
1066  virtual const DtReaderWriter* findOriginalVariable(const makVrf::DtEntityMapperKey& emk, const DtString&) const;
1067  virtual const DtReaderWriter* findModifiedVariable(const makVrf::DtEntityMapperKey& emk, const DtString&, bool completeLoadIfNecessary = true) const;
1068  virtual DtReaderWriter* findVariable(const DtVariableBindingsList&, const DtString&);
1069  virtual DtReaderWriter* findOriginalVariable(const makVrf::DtEntityMapperKey& emk, const DtString&);
1070  virtual DtReaderWriter* findModifiedVariable(const makVrf::DtEntityMapperKey& emk, const DtString&, bool completeLoadIfNecessary = true);
1071  virtual const DtReaderWriter* variableFromAnyPlatform(const DtString& varName) const;
1072 
1073  virtual void addModifiedVariable(const makVrf::DtEntityMapperKey& emk, DtReaderWriter* rw);
1074 
1075  virtual DtVrfObjectParameters* platformParameters(const makVrf::DtEntityMapperKey& key) const;
1076 
1077  virtual const DtStandardSensorObjects& standardSensorObjects() const;
1078  virtual DtStandardSensorObjects& standardSensorObjects();
1079  virtual bool processModelSet(DtSimulationModelSet*, LoadFlags flags = LoadAll, bool isMasterSMS = false);
1080 
1081  virtual std::vector<EntityData*> addDataFromFile(const DtString& file,
1082  DtSimulationModelSet* set, bool isMasterSMS,
1083  bool signalAddition = true, bool isTemplate= false, LoadFlags flags = LoadAll, bool loadInParallel = true, DtString* errorResult = nullptr);
1084 
1085  virtual DtVariableBindingsList* copyBindingsList(const DtVariableBindingsList* orig) const;
1086 
1090  virtual void getSubordinateFunctions(DtSubordinateFunctionTable& functions) const;
1091 
1095  virtual const std::vector<DtSubordinateFunctionTable>& subordinateFunctionTables() const;
1096  virtual std::vector<DtSubordinateFunctionTable>& subordinateFunctionTables();
1098 
1099  virtual EntityData* completeDataIfNecessary(EntityData* data);
1100 
1101 protected:
1102  virtual DtSimResourceManager getAllVariableResourcesFromFile(const DtFilename&) const;
1103  virtual bool updateRangeNameAndRangeId(DtVariableBindingsList* data);
1104 
1105  virtual void replaceVariableNamesWithUpdatedVariableNames(DtRwVariableBindings*, const DtComponentSystemDefinition*);
1106 
1110  virtual void markInternalItemsAsReadOnly(DtVariableBindingsList*);
1111 
1112  virtual const DtReaderWriter* findVariable(const DtString& var, const DtReaderWriter* rw) const;
1113 
1114  virtual void loadSystemFilesFromDirectory(const QString& directoryName, const DtVariableBindingsList& variableBindings, DtSimulationModelSet*, bool isInMasterSMS,
1115  bool loadTemplates = false);
1116 
1117  virtual void addVariableReferences(DtReaderWriter* source, DtRwVariableBindings* toBindings) const;
1118 
1119  virtual void cleanup();
1120  virtual bool ignorePlatformType(const DtString&) const;
1121 
1122  virtual bool saveForceHostility(const DtFilename& filename);
1123 
1124  virtual bool warned(const DtFilename&);
1125  virtual void removeEntityFromSubObjects(const DtEntityType&);
1126 
1127  virtual void mergeFavoritesIntoModelSet(DtModelSet* favorites, DtModelSet* set);
1128 
1129  virtual void setupParametersForDataFiles(std::vector<EntityData*>&, DtSimulationModelSet* set, QProgressBar* progressBar = nullptr, QLabel* fileLabel = nullptr);
1130 
1131  virtual EntityData* createParameterDataFrom(DtVrfObjectParameters*) const;
1132 
1134  virtual bool updateFromPlatform(EntityData* data, const DtReaderWriter* oldRegData, DtEnvironmentSP env, DtEnvValueSP objectNode) const;
1135 
1137  virtual bool traverseRwObject(const DtReaderWriter* rwObject, DtEnvironmentSP env, DtEnvValueSP objectNode) const;
1138  virtual void addElementFromSystemBinding(DtEnvironmentSP env,
1139  DtEnvValueSP parentElement, DtSystemParameterData* paramData) const;
1140 
1141  virtual DtFormationTable* formationTableFor(DtEnvironmentSP, DtEnvValueSP objectNode) const;
1142 
1144  virtual void updateFormationTable(DtEnvironmentSP, DtEnvValueSP objectNode, const DtFormationTable&);
1145 
1146 public:
1147  virtual void addToInternalCategories(DtModelSetEntry* entry, bool isInMasterSMS);
1148  virtual void addToInternalCategories(const std::vector<std::string>&, bool isInMasterSMS);
1149 
1150  virtual DtModelSetEntry* addModelSetEntryFromEnvironment(DtEnvironmentSP, DtEnvValueSP node);
1151  virtual DtModelSetEntry* addModelSetEntryFromSimulationObjectGroup(EntityData*);
1152 
1154  virtual void swapCurrentEntry(EntityData*, DtModelSetEntry*);
1155 
1156 protected:
1157  virtual void cancelLoad();
1158  virtual void addToInternalCategories(const DtComponentSystemDefinition* entry, bool isInMasterSMS);
1159 
1160  virtual void addEntityDataEntry(EntityData*, bool signal = true);
1161  virtual void removeEntityDataEntry(EntityData*, bool signal = true, bool removeFromVisualsToo = true);
1162 
1164  virtual ParametersMap::const_iterator findAvailablePlatform(const DtString& platform) const;
1165  virtual ParametersData::const_iterator findAvailableParameter(const DtString& platform) const;
1166  virtual ParametersData::const_iterator findAvailableParameterFromFile(const DtFilename& platform) const;
1167  virtual ParametersData::const_iterator findAvailableParameterType(const DtString& parameterType) const;
1168 
1170  virtual DtString filenameFromEntityName(const DtString& name) const;
1171 
1173  virtual DtString uniqueEntityFilename(const DtString& name) const;
1174 
1176  virtual void loadVisuals(DtSimulationModelSet*, bool createIfDoesNotExist = false);
1177 
1179  virtual bool updateAndAddMatchTypeVisuals(EntityData* baseType, const DtEntityType& matchType);
1180 
1182  virtual bool removeMatchingTypeFromVisuals(const DtEntityType& matchType);
1183 
1184  virtual void finalizeCategoryInformationFor(const DtSimulationModelSet& sms, CategoryTypes type = EntityCategories);
1185 
1186  virtual DtFilename categoryFilename(const DtSimulationModelSet& sms, CategoryTypes type = EntityCategories) const;
1187 
1188  static DtAmmunitionManager* createAmmunitionManager();
1189  static void setAmmunitionManagerCreator(AmmunitionManagerCreator creator);
1190 
1191  virtual void convertAmmunitionToEntityData(DtAmmunitionParams*, bool inMasterSMS, DtSimulationModelSet* sms);
1192  virtual DtAmmunitionParams* createAmmunitionParameters() const;
1193  virtual DtDetonationParams* createDetonationParameters() const;
1194 
1195  virtual DtTerrainDeformationParams* createDetonationTerrainDeformationParams() const;
1196 
1197  virtual void getPartsFromModel(const DtEntityType& objectType, std::list<DtSimArtPartDescriptor>& artParts);
1198  virtual void parsePowerTypes();
1199 
1200 protected:
1201 
1203 
1204  QStringList myWarned;
1209 
1211  typedef std::map<DtFilename, bool> SystemIsInMasterSMSMap;
1213 
1217 
1218  typedef std::map<int, DtSimulationObjectCategoryInformation> CategoriesMap;
1222 
1223  typedef std::map<int, QStringList> StringCategoriesMap;
1230  bool myLoaded;
1233 
1234  DtEnumLoader* myEnumLoader = nullptr;
1235  DtEnumDictionary* myUserRangeRingIds = nullptr;
1236  bool myUserRangeRingsChanged = false;
1237 
1240 
1243 
1245 
1247 
1250 
1251  std::set<std::string> myInternalItems;
1252  std::set<DtString> myIgnorePlatformType;
1255 
1256  typedef std::map<DtModelSetEntry*, EntityData*> EntityDataByEntry;
1258 
1259  std::vector<QTranslator*> myTranslators;
1261 
1263 
1264  std::map<DtString, int> myMatchingVisualTypes;
1266 
1270 
1272 
1276 
1277  mutable std::string myDiGuyCharacterOMMX;
1278  mutable std::string myDiGuyCharacterLeaf;
1279 
1280  std::map<DtString, DtString> myDefaultRangeForPowerType;
1281  std::map<DtString, std::vector<DtString> > mySupportedRangesByPowerType;
1282  std::vector<bool> myNeedsSort;
1283  bool myForceSaveAll = false;
1284 
1285  struct PowerTitle
1286  {
1288  QString withAdditionX;
1290  QString withAdditionY;
1294  };
1295 
1296  std::vector<DtString> myIconLists;
1297  std::vector<DtString> myOriginalIconLists;
1298  std::map<DtString, PowerTitle> myPowerTypes;
1299  std::vector<DtSubordinateFunctionTable> mySubordinateFunctionTables;
1303  tbb::mutex myDataEntryMutex;
1305  tbb::spin_mutex mySwapCurrentEntryMutex;
1306 
1307  static AmmunitionManagerCreator theAmmunitionManagerCreator;
1308 
1310 };
1311 
1313 {
1315  {
1316  return mySimulationModelSet->filename();
1317  }
1318  else
1319  {
1320  return "";
1321  }
1322 }
1323 
1325 {
1326  return (mySimulationModelSet != 0);
1327 }
1328 
1330 {
1331  return *mySimulationModelSet;
1332 }
1333 
1335 {
1336  return *mySimulationModelSet;
1337 }
1338 
1340 {
1341  return myModelSet;
1342 }
1343 
1345 {
1346  return myModelSet;
1347 }
1348 
1349 inline const DtFilename& DtSimulationModelSetLoader::parameterFilename() const
1350 {
1351  return myParameterFilename;
1352 }
1353 
1355 {
1356  return myAllForces;
1357 }
1358 
1360 {
1361  return myAutoTagInformation;
1362 }
1363 
1365 {
1366  return myAutoTagInformation;
1367 }
1368 
1370 {
1371  CategoriesMap::const_iterator iter = myDefaultCategories.find(type);
1372 
1373  return iter->second;
1374 }
1375 
1377 {
1378  return myDefaultCategories[type];
1379 }
1380 
1382 {
1383  CategoriesMap::const_iterator iter = myNonMasterModeCategories.find(type);
1384 
1385  return iter->second;
1386 }
1387 
1389 {
1390  return myNonMasterModeCategories[type];
1391 }
1392 
1394 {
1396  {
1398  myDefaultOverlayLayers.sort();
1399  }
1400 
1401  return myDefaultOverlayLayers;
1402 }
1403 
1405 {
1407 }
1408 
1410 {
1411  myDefaultOverlayLayers.push_back(l);
1412 }
1413 
1415 {
1417  {
1420  }
1421 
1423 }
1424 
1426 {
1428 }
1429 
1431 {
1432  myDefaultDeployedCountries.push_back(l);
1434 }
1435 
1437 
1439 {
1440 public:
1442 
1443  virtual ~DtSimulationObjectEditorScenarioExplorer() override;
1444 
1445  bool loading() const
1446  {
1447  return myLoading;
1448  }
1449 
1450  virtual void loadAllSmsFiles();
1451 
1452 protected:
1453  virtual void processModelSet(DtSimulationModelSet*) override;
1454 
1455 protected:
1457  bool myLoading = false;
1461 };
std::map< DtModelSetEntry *, EntityData * > EntityDataByEntry
Definition: simulationModelSetLoader.h:1256
Definition: simulationModelSetLoader.h:170
Definition: simulationModelSetLoader.h:1438
Instances of DtVrfObjectParameters are the readable/writeable objects that contain the information ne...
Definition: vrfObjectParameters.h:64
LoadFlags myLoadFlags
Definition: simulationModelSetLoader.h:215
BuiltInElementTypes
These types are all automatically registered when the manager is created. This enum is linked with Dt...
Definition: DtElementDefinitionManager.h:572
std::map< std::string, EntityData * > ParametersData
Definition: simulationModelSetLoader.h:282
makVrf::DtOrderedKeyList< EntityData * > myEntityData
Definition: simulationModelSetLoader.h:1244
std::map< int, QStringList > StringCategoriesMap
Definition: simulationModelSetLoader.h:1223
Definition: simulationModelSetLoader.h:142
std::vector< bool > myNeedsSort
Definition: simulationModelSetLoader.h:1282
virtual void setForceSaveAll(bool b)
Definition: simulationModelSetLoader.h:291
Definition: entityMapperKey.h:19
Definition: simulationModelSetLoader.h:124
DtRwVariableBindingsList * myOriginalSystems
Definition: simulationModelSetLoader.h:238
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:134
Definition: rwVariableBindingsList.h:16
bool humanOnly
Definition: simulationModelSetLoader.h:1292
DtModelSetEntry * myCurrentModelSetEntry
Definition: simulationModelSetLoader.h:246
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:1303
DtVariableBindingsList * myOriginalVariableBindings
Definition: simulationModelSetLoader.h:240
DtRwForces myAllForces
Definition: simulationModelSetLoader.h:1216
Definition: simulationModelSetLoader.h:127
The DtSimulationObjectCategoryInformation class is a class that will read the comma delimited categor...
Definition: simulationObjectCategoryInformation.h:24
int myLastModifiedDate
Definition: simulationModelSetLoader.h:235
bool myIsInMasterSMS
Definition: simulationModelSetLoader.h:211
std::vector< DtString > myIconLists
Definition: simulationModelSetLoader.h:1296
DtSimulationObjectCategoryInformation & nonMasterModeCategories(CategoryTypes)
Definition: simulationModelSetLoader.h:1388
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:253
Definition: simulationModelSetLoader.h:985
bool cancelledLoad() const
Definition: simulationModelSetLoader.h:846
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:476
std::vector< DtString > myOriginalIconLists
Definition: simulationModelSetLoader.h:1297
std::string myDiGuyCharacterOMMX
Definition: simulationModelSetLoader.h:1277
std::map< DtString, std::vector< std::pair< DtTargetingControlTable *, const DtComponentSystemDefinition * >>> TargetingControlTables
Returns the targeting control tables for the given entity.
Definition: simulationModelSetLoader.h:974
bool needsForceAddition
Definition: simulationModelSetLoader.h:1291
boost::signals2::signal< void(bool)> signal_readOnlyChanged
Definition: simulationModelSetLoader.h:1031
DtTerrainDeformationParams * myMasterModeDetTerrainDeformParameters
Definition: simulationModelSetLoader.h:1241
Readable-writable class holding all parameters to configure the DtDetonationManager.
Definition: detonationParams.h:22
DtEnvironmentSP myModified
Definition: simulationModelSetLoader.h:165
DtRwNLengthStringVector is a named, readable/writable vector of strings of arbitrary length...
Definition: rwNLengthStringVector.h:28
tbb::spin_mutex mySwapCurrentEntryMutex
Definition: simulationModelSetLoader.h:1305
DtEnvironmentSP myParentEnvironment
Definition: simulationModelSetLoader.h:266
std::vector< QTranslator * > myTranslators
Definition: simulationModelSetLoader.h:1259
boost::signals2::signal< void()> signal_simulationModelSetLoaded
Definition: simulationModelSetLoader.h:1025
SystemIsInMasterSMSMap mySystemIsInMasterSMSMap
Definition: simulationModelSetLoader.h:1212
double maximumRange
Definition: simulationModelSetLoader.h:992
std::map< const DtAmmunitionParamsEntry *, AmmunitionInformation > AmmunitionMap
Definition: simulationModelSetLoader.h:995
Definition: orderedKeyList.h:25
class DtScenarioExplorer:
Definition: scenarioExplorer.h:26
boost::signals2::signal< void(DtComponentSystemDefinition *)> signal_systemEntryAdded
Definition: simulationModelSetLoader.h:1032
tbb::mutex myAddToInternalCategoriesMutex
Definition: simulationModelSetLoader.h:1304
DtTerrainDeformationParams * myDetonationTerrainDeformationParameters
Definition: simulationModelSetLoader.h:1242
boost::signals2::signal< void(EntityData *)> signal_entityEntryAdded
Definition: simulationModelSetLoader.h:1028
DtDiGuyInformation * myOriginalDiGuyInformation
Definition: simulationModelSetLoader.h:244
DtVrfSubObjectParameterList is a readable/writable list of DtVrfSubObjectParameterEntrys.
Definition: vrfSubObjectParameterList.h:21
List of DtComponentSystemDescriptor instances.
Definition: componentSystemDescriptorList.h:20
DtSimulationObjectEditorComponentSystemDatabase * myTemplateSystems
Definition: simulationModelSetLoader.h:1208
Definition: simulationModelSetLoader.h:123
QString withAdditionX
Definition: simulationModelSetLoader.h:1288
std::list< DtEntityType > myAdditionalMatchTypes
Definition: simulationModelSetLoader.h:232
bool partialLoad() const
Definition: simulationModelSetLoader.h:380
virtual const ParametersMap & availableParameters() const
Definition: simulationModelSetLoader.h:577
Definition: readerWriter.h:85
class DtSimResourceManager:
Definition: simResourceManager.h:19
Extends the force manager to add country codes.
Definition: vrfGuiForceManager.h:24
Definition: autoTagInformation.h:19
DtSimulationModelSetLoadProgressWidget * myProgressWidget
Definition: simulationModelSetLoader.h:1202
Simple asynchronous callback queue.
Definition: vrfCallbackQueue.h:29
std::map< DtFilename, bool > SystemIsInMasterSMSMap
Definition: simulationModelSetLoader.h:1211
std::map< DtString, std::vector< DtString > > mySupportedRangesByPowerType
Definition: simulationModelSetLoader.h:1281
DtSimulationModelSet * mySimulationModelSet
Definition: simulationModelSetLoader.h:1458
Definition: readerWriterRegistry.h:39
ParametersData myParametersData
Definition: simulationModelSetLoader.h:1249
DtEnvValueSP myOriginalDataNode
Definition: simulationModelSetLoader.h:214
DtSimulationModelSetLoader * mySimulationModelSetLoader
Definition: simulationModelSetLoader.h:1459
class DtStandardSensorObjects:
Definition: standardSensorObjects.h:23
const QStringList & defaultDeployedCountries()
Definition: simulationModelSetLoader.h:1414
ParameterStruct(DtVrfObjectParameters *p, bool b, const DtFilename &f)
Definition: simulationModelSetLoader.h:130
std::map< DtString, DtString > myDefaultRangeForPowerType
Definition: simulationModelSetLoader.h:1280
std::string myDataFile
Definition: simulationModelSetLoader.h:212
Definition: smsChecksum.h:15
int myTotalNumberOfEntityFiles
Definition: simulationModelSetLoader.h:1271
std::map< DtString, int > myMatchingVisualTypes
Definition: simulationModelSetLoader.h:1264
DtVrfCallbackQueue myDataJobLoader
Definition: simulationModelSetLoader.h:1309
DtFilename myParentFile
Definition: simulationModelSetLoader.h:265
bool needsPruning() const
Definition: simulationModelSetLoader.h:1017
QString withAdditionY
Definition: simulationModelSetLoader.h:1290
std::map< DtString, PowerTitle > myPowerTypes
Definition: simulationModelSetLoader.h:1298
bool myCancelledLoad
Definition: simulationModelSetLoader.h:1275
DtDiGuyInformation * myModifiedDiGuyInformation
Definition: simulationModelSetLoader.h:255
std::map< DtArtPartType, DtSimArtPartDescriptor > ArtPartMap
Definition: simulationModelSetLoader.h:284
const makVrf::DtOrderedKeyList< EntityData * > & entityData() const
Definition: simulationModelSetLoader.h:841
The element type manager is responsible for knowing about the types of elements as well as owning the...
Definition: DtElementDefinitionManager.h:561
std::map< const DtComponentSystemDefinition *, std::pair< const DtTargetingControlTable *, const DtRangeProbabilityTable * > > TargetingControlAndRangeTables
Returns the targeting control and range tables.
Definition: simulationModelSetLoader.h:982
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:1324
bool myIsDeleted
Definition: simulationModelSetLoader.h:259
CategoriesMap myNonMasterModeCategories
Definition: simulationModelSetLoader.h:1220
DtEntityType myOriginalMatchType
Definition: simulationModelSetLoader.h:230
Description: A model is a set of items that defines a model to create in the back-end from the front-...
Definition: simulationObjectGroupModelSetEntry.h:157
Definition: simulationModelSetLoadProgressWidget.h:27
std::list< DtEntityType > myOriginalAdditionalMatchTypes
Definition: simulationModelSetLoader.h:233
bool operator>(const DtEntityType &rhs) const
Definition: simulationModelSetLoader.h:186
DtStandardSensorObjects myStandardSensorObjects
Definition: simulationModelSetLoader.h:1231
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:1232
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:1225
DtSmsChecksum myFactorySmsChecksum
Definition: simulationModelSetLoader.h:1273
DtMunitionDetonationPowerEntry * myModifiedPowerTableEntry
Definition: simulationModelSetLoader.h:226
makVrv::DtDe & myDe
Definition: simulationModelSetLoader.h:1456
bool mySaveReadOnlyFlag
Definition: simulationModelSetLoader.h:1274
DtComponentSystemDefinition.
Definition: componentSystemDefinition.h:27
DtEnvValueSP myOriginalObjectNode
Definition: simulationModelSetLoader.h:239
boost::signals2::signal< void(const DtEntityType &, const DtEntityType &)> signal_objectTypeChanged
Definition: simulationModelSetLoader.h:1036
DtAmmunitionParamsEntry * myOriginalAmmunitionParameters
Definition: simulationModelSetLoader.h:222
DtVrfObjectParameters * myParameters
Definition: simulationModelSetLoader.h:257
DtMunitionDetonationPowerEntry * myOriginalPowerTableEntry
Definition: simulationModelSetLoader.h:225
Definition: modelSetEntry.h:34
DtEmbarkationInformation * myOriginalEmbarkationInformation
Definition: simulationModelSetLoader.h:243
boost::signals2::signal< void(DtComponentSystemDefinition *)> signal_systemAboutToBeRemoved
Definition: simulationModelSetLoader.h:1034
bool loaded() const
Definition: simulationModelSetLoader.h:836
std::string myDiGuyCharacterLeaf
Definition: simulationModelSetLoader.h:1278
Contains makVrv::DtVirtualBaseClass class.
bool saveVrfRangeRings() const
Definition: simulationModelSetLoader.h:880
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:249
Definition: detonationDeformationParams.h:9
DtEntityType myMatchType
Definition: simulationModelSetLoader.h:229
CategoriesMap myDefaultCategories
Definition: simulationModelSetLoader.h:1219
bool myLoadedAllFromPartialLoad
Definition: simulationModelSetLoader.h:1302
static AmmunitionManagerCreator theAmmunitionManagerCreator
Definition: simulationModelSetLoader.h:1307
makVrv::DtDe & myDe
Definition: simulationModelSetLoader.h:1228
Definition: simulationModelSetLoader.h:101
DtRwVisualMetaData is a container for a visual meta data file, and, with the meta data within that fi...
Definition: rwVisualMetaData.h:18
DtAutoTagInformation & autoTagInformation()
Definition: simulationModelSetLoader.h:1364
void addDefaultDeployedCountry(const QString &)
Definition: simulationModelSetLoader.h:1430
std::list< const DtRwVariableBindings * > DtVariableBindingsList
Definition: readerWriterRegistry.h:29
Definition: simulationModelSetLoader.h:1285
const QStringList & defaultOverlayLayers()
Definition: simulationModelSetLoader.h:1393
bool loading() const
Definition: simulationModelSetLoader.h:1445
std::set< DtVariableBindingsList > systemsAddedThisSession
Definition: simulationModelSetLoader.h:269
CategoriesMap myOriginalDefaultCategories
Definition: simulationModelSetLoader.h:1221
Readable-writable class holding all parameters to configure the DtAmmunitionManager.
Definition: ammunitionParams.h:20
DtFilename file
Definition: simulationModelSetLoader.h:135
DtSensorSignatureInformation * myOriginalSensorSignatureInformation
Definition: simulationModelSetLoader.h:245
DtFilename myParameterFilename
Definition: simulationModelSetLoader.h:1214
DtFormationTable.
Definition: formationTable.h:23
std::vector< DtFilename > SearchPaths
Definition: readerWriter.h:92
bool mySaveVrfRangeRings
Definition: simulationModelSetLoader.h:1210
DtSimulationModelSetLoader::LoadFlags myLoadFlags
Definition: simulationModelSetLoader.h:1460
EntityDataByEntry myEntityDataByEntry
Definition: simulationModelSetLoader.h:1257
const DtModelSet * modelSet() const
Definition: simulationModelSetLoader.h:1339
StringCategoriesMap myMasterModeCategories
Definition: simulationModelSetLoader.h:1224
DtFormationTable * myModifiedFormationTable
Definition: simulationModelSetLoader.h:252
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:1265
DtDamageProbabilityTable.
Definition: damageProbabilityTable.h:20
DtSensorSignatureInformation * myModifiedSensorSignatureInformation
Definition: simulationModelSetLoader.h:256
std::map< int, DtSimulationObjectCategoryInformation > CategoriesMap
Definition: simulationModelSetLoader.h:1218
bool myReadOnly
Definition: simulationModelSetLoader.h:1268
DtFormationTable * myOriginalFormationTable
Definition: simulationModelSetLoader.h:241
DtSimulationModelSet * masterSMS() const
Definition: simulationModelSetLoader.h:369
QStringList myDefaultDeployedCountries
Definition: simulationModelSetLoader.h:1227
bool myLoaded
Definition: simulationModelSetLoader.h:1230
DtFilename simulationModelSetFilename() const
Returns the filename of the current simulation model set file.
Definition: simulationModelSetLoader.h:1312
const char * source
Definition: lz4.h:442
DtMunitionDetonationPowerEntry.
Definition: munitionDetonationPowerEntry.h:19
DtSimulationObjectEditorComponentSystemDatabase * myModifiedSystemDatabase
Definition: simulationModelSetLoader.h:1207
std::set< std::string > myInternalItems
Definition: simulationModelSetLoader.h:1251
std::set< DtString > elementsAddedThisSession
Definition: simulationModelSetLoader.h:268
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:263
QString withoutAdditionY
Definition: simulationModelSetLoader.h:1289
Description: A readable, writable list of DtForceType.
Definition: rwForces.h:34
std::map< DtString, ParameterStruct > ParametersMap
Definition: simulationModelSetLoader.h:138
void addDefaultOverlayLayer(const QString &)
Definition: simulationModelSetLoader.h:1409
std::shared_ptr< EnvironmentContainer > EnvironmentContainerSP
Definition: simulationModelSetLoader.h:168
Definition: ammunitionParamsEntry.h:24
Subclass to allow for setting of filename.
Definition: vrfVisualsManager.h:40
DtSimulationObjectGroupModelSetEntry * myOriginalSOGData
Definition: simulationModelSetLoader.h:219
virtual void processModelSet(DtSimulationModelSet *)
boost::signals2::signal< void(const DtFilename &)> signal_systemRemoved
Definition: simulationModelSetLoader.h:1033
DtSimulationObjectCategoryInformation & defaultCategories(CategoryTypes)
Definition: simulationModelSetLoader.h:1376
DtSimulationObjectGroupModelSetEntry * myModifiedSOGData
Definition: simulationModelSetLoader.h:220
bool titleOnly
Definition: simulationModelSetLoader.h:1293
LoadFlags
Definition: simulationModelSetLoader.h:104
void setDefaultOverlayLayers(const QStringList &)
Definition: simulationModelSetLoader.h:1404
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:1252
boost::signals2::signal< void(EntityData *)> signal_entityEntryAboutToBeRemoved
Definition: simulationModelSetLoader.h:1027
void setDefaultDeployedCountries(const QStringList &)
Definition: simulationModelSetLoader.h:1425
bool myNeedsPruning
Definition: simulationModelSetLoader.h:1300
vrlink
Definition: subordinateFunctionTable.h:20
ParametersMap myAvailableParameters
Definition: simulationModelSetLoader.h:1248
makVrf::DtVrfVisualsManager * myVrfVisualsManager
Definition: simulationModelSetLoader.h:1262
DtEnvValueSP myModifiedObjectNode
Definition: simulationModelSetLoader.h:250
ParameterStruct()
Definition: simulationModelSetLoader.h:129
DT_DLL_simulationObjectEditorimpl makVrf::DtEntityMapperKey mapperKeyConversion(const DtEntityType &, int force)
Contains the DtDiGuyInformation class declaration.
bool operator>(const EntityData &rhs) const
Definition: simulationModelSetLoader.h:199
DtVariableBindingsList * myModifiedVariableBindings
Definition: simulationModelSetLoader.h:251
bool myForceManagerModified
Definition: simulationModelSetLoader.h:1260
bool myIsModified
Definition: simulationModelSetLoader.h:260
boost::signals2::signal< void(EntityData *)> signal_visualMappingsModified
Definition: simulationModelSetLoader.h:1029
boost::signals2::signal< void()> signal_resetVisuals
Definition: simulationModelSetLoader.h:1030
bool hasParentFile()
Definition: simulationModelSetLoader.h:271
bool myIsNew
Definition: simulationModelSetLoader.h:258
CategoryTypes
Definition: simulationModelSetLoader.h:119
EnvironmentContainerSP myEnvironment
Definition: simulationModelSetLoader.h:217
DtEnvironmentSP myOriginal
Definition: simulationModelSetLoader.h:164
bool myLoadingSMSFiles
Definition: simulationModelSetLoader.h:1269
DtSimulationObjectEditorScenarioExplorer * myScenarioExplorer
Definition: simulationModelSetLoader.h:1246
DtModelSet * myFavoritesModelSet
Definition: simulationModelSetLoader.h:1253
EntityData * myIsReplacing
Definition: simulationModelSetLoader.h:262
DtModelSet * myBackupFavoritesModelSet
Definition: simulationModelSetLoader.h:1254
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:76
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:242
DtEmbarkationInformation * myModifiedEmbarkationInformation
Definition: simulationModelSetLoader.h:254
DT_DLL_readerWriter std::shared_ptr< DtEnvironment > DtEnvironmentSP
Definition: readerWriter.h:30
boost::signals2::signal< void()> signal_preloadSimulationModelSet
Definition: simulationModelSetLoader.h:1024
DtModelSetEntry * myOriginalModelSetEntry
Definition: simulationModelSetLoader.h:247
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:1239
bool myPartialLoad
Definition: simulationModelSetLoader.h:1301
static const int DtTemplateKindBase
Definition: simulationModelSetLoader.h:99
QStringList myWarned
Definition: simulationModelSetLoader.h:1204
const DtFilename & parameterFilename() const
Definition: simulationModelSetLoader.h:1349
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:1039
DtSimulationObjectEditorComponentSystemDatabase * myOriginalSystemDatabase
Definition: simulationModelSetLoader.h:1206
bool myResolvedParent
Definition: simulationModelSetLoader.h:236
DtSimulationModelSet * mySimulationModelSet
Definition: simulationModelSetLoader.h:1205
std::vector< DtSubordinateFunctionTable > mySubordinateFunctionTables
Definition: simulationModelSetLoader.h:1299
QString withoutAdditionX
Definition: simulationModelSetLoader.h:1287
const DtRwForces & allForces() const
Definition: simulationModelSetLoader.h:1354
AmmunitionInformation()
Definition: simulationModelSetLoader.h:987
Definition: targetingControlTable.h:19
bool forceSaveAll() const
Definition: simulationModelSetLoader.h:292
AmmunitionInformation(const DtTargetingControlTable *c, double r)
Definition: simulationModelSetLoader.h:988
DtAmmunitionParamsEntry * myModifiedAmmunitionParameters
Definition: simulationModelSetLoader.h:223
Definition: modelSet.h:35
#define DT_DLL_simulationObjectEditorimpl
This file is used to determine how to build.
Definition: simulationObjectEditorImplDefines.h:33
boost::signals2::signal< void(const DtEntityType &, const DtEntityType &)> signal_objectTypeAboutToBeChanged
Definition: simulationModelSetLoader.h:1035
DtAutoTagInformation myAutoTagInformation
Definition: simulationModelSetLoader.h:1267
DtModelSet * myModelSet
Definition: simulationModelSetLoader.h:1215
const DtSimulationModelSet & simulationModelSet() const
Definition: simulationModelSetLoader.h:1329
QStringList myDefaultOverlayLayers
Definition: simulationModelSetLoader.h:1226
void setNeedsPruning(bool b)
Definition: simulationModelSetLoader.h:1016
DtDetonationParams * myMasterModeDetonationParameters
Definition: simulationModelSetLoader.h:1238
makVrv::DtDe * myDisplayDe
Definition: simulationModelSetLoader.h:1229

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)