VR-Forces 4.10 Class Documentation
 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)
20 
21 #include <vrvUtil/signalslib.h>
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 
45 #endif
46 
47 class DtEnvList;
55 class QTranslator;
57 class DtRwVisualMetaData;
58 class DtAmmunitionParams;
59 class DtDetonationParams;
66 
67 namespace makVrf
68 {
69  class DtEntityMapperKey;
70  class DtVrfVisualsManager;
71  class DtVrfEntityTypeMapper;
72  class DtVrfGuiForceManager;
73 }
74 
75 namespace makVrv
76 {
77  class DtModelDefinitionManager;
78  class DtEntityTypeMapper;
79  class DtModelDefinition;
80 }
81 
82 class DtObjectType;
83 class DtModelSet;
84 class QComboBox;
86 class DtEnvironment;
87 class DtVariableBindingList;
89 
90 static const int DtTemplateKindBase = 400;
91 
93 {
94 public:
95  enum LoadFlags
96  {
97  LoadDataFiles = 0x00000001,
98  LoadParameterFiles = 0x00000002,
99  LoadSystemFiles = 0x00000004,
100  LoadSupportingFiles = 0x00000008,
101  LoadStandardSensorObjects = 0x00000010,
102  LoadTranslationFiles = 0x00000020,
103  LoadVisualFiles = 0x00000040,
104  LoadOrCreateVisualFiles = 0x00000080,
105  LoadAutoTagInformation = 0x00000100,
106  LoadFunctionInformation = 0x00000200,
107  LoadAll = LoadDataFiles | LoadParameterFiles | LoadSystemFiles | LoadSupportingFiles | LoadStandardSensorObjects | LoadTranslationFiles | LoadOrCreateVisualFiles | LoadAutoTagInformation | LoadFunctionInformation
108  };
109 
111  {
112  SystemCategories = 0,
113  EntityCategories = 1
114  };
115 
117  {
118  ParameterStruct() : params(0), isMasterSMS(false) {};
119  ParameterStruct(DtVrfObjectParameters* p, bool b, const DtFilename& f) : params(p), isMasterSMS(b), file(f) {};
120  ParameterStruct(const ParameterStruct& orig) : params(orig.params), isMasterSMS(orig.isMasterSMS), file(orig.file) {};
121 
122  DtVrfObjectParameters* params;
124  DtFilename file;
125  };
126 
127  typedef std::map<DtString, ParameterStruct> ParametersMap;
128 
129  typedef DtAmmunitionManager*(*AmmunitionManagerCreator)();
130 
132  {
133  public:
136 
137  virtual ~EnvironmentContainer();
138 
139  void seedFrom(DtEnvironmentSP env, DtEnvValueSP root);
140 
141  DtEnvironmentSP copyEnvironment(DtEnvironmentSP) const;
142  void reparentEnvironmentChildren(DtEnvList*, DtEnvValueSP root) const;
143 
144  DtEnvValueSP backup();
145  DtEnvValueSP update();
146 
147  void remove(DtEnvValueSP originalNode, DtEnvValueSP modifiedNode);
148  bool isEmpty() const;
149 
150  DtEnvValueSP replace(DtEnvironmentSP env, DtEnvValueSP node, DtEnvValueSP replaceWith);
151  void reparentRoots(DtEnvValueSP templateRoot, DtEnvValueSP newRoot) const;
152 
155  };
156 
157  typedef boost::shared_ptr<EnvironmentContainer> EnvironmentContainerSP;
158 
159  class EntityData : public DtObjectType
160  {
161  public:
162  EntityData();
163  virtual ~EntityData();
165  EntityData(const EntityData& t);
166 
167  //sets the object type
168  EntityData& operator=(const DtObjectType&);
169 
170  EntityData& operator=(const EntityData&);
171 
172  virtual EntityData* clone() const;
173 
174  //compares to the object type
175  bool operator>(const DtObjectType& rhs) const
176  {
177  if (*this < rhs)
178  {
179  return false;
180  }
181  else
182  {
183  return true;
184  }
185  }
186 
187  //compares to the object type
188  bool operator>(const EntityData& rhs) const
189  {
190  if (*this < rhs)
191  {
192  return false;
193  }
194  else
195  {
196  return true;
197  }
198  }
199 
201  std::string myDataFile;
202 
203  //this is the environment that includes the parent files (if they exist)
205 
208 
211 
214 
215 
218 
219  std::list<DtObjectType> myAdditionalMatchTypes;
220  std::list<DtObjectType> myOriginalAdditionalMatchTypes;
221 
223 
225  DtEnvValueSP myOriginalObjectNode;
234 
236  DtEnvValueSP myModifiedObjectNode;
244  bool myIsNew;
246 
249 
250  DtFilename myParentFile;
251  DtEnvironmentSP myParentEnvironment; //this is the environment containing only what is inherited
252 
253  std::set<DtString> elementsAddedThisSession;
254  std::set<DtVariableBindingsList> systemsAddedThisSession;
255 
257  {
258  if (myParentFile.isEmpty())
259  {
260  return false;
261  }
262 
263  return true;
264  }
265  };
266 
267  typedef std::map<std::string, EntityData*> ParametersData;
268 
269  typedef std::map<DtArtPartType, DtSimArtPartDescriptor> ArtPartMap;
270 
273 
274  virtual ~DtSimulationModelSetLoader();
275 
276  virtual bool load(const DtSimulationModelSet&, LoadFlags flags = LoadAll);
277  virtual bool save(const DtFilename&);
278 
279  static DtSimulationModelSetLoader& instance(makVrv::DtDe&);
280  static void registerInstance(makVrv::DtDe&, DtSimulationModelSetLoader*);
281 
282  virtual void setDisplayDe(makVrv::DtDe*);
283  virtual makVrv::DtDe& displayDe();
284 
285 private:
288 
289 public:
291  virtual void setLoadVisuals(bool);
292 
294  virtual bool hasFileNamed(const std::string& s) const;
295 
298  virtual bool addNewDataFile(const std::string&);
299 
301  virtual bool addNewSimulationObjectGroup(const std::string&);
302 
304  virtual bool addNewRandomizedObject(const std::string&);
305 
307  virtual bool readOnly() const;
308  virtual void setReadOnly(bool);
309 
311  virtual void setSaveReadOnlyFlag(bool);
312  virtual bool saveReadOnlyFlag() const;
313 
315  virtual bool hasComponentByDescriptorType(const makVrf::DtEntityMapperKey&, const DtString& descriptor) const;
316  virtual bool hasComponentByDescriptorType(const DtFilename&, const DtString& descriptor) const;
317 
319  virtual bool hasComponentByComponentType(const makVrf::DtEntityMapperKey&, const DtString& descriptor) const;
320  virtual bool hasComponentByComponentType(const DtFilename&, const DtString& descriptor) const;
321 
323  virtual bool simulationObjectGroupExists(const std::string&) const;
324 
326  virtual bool randomizedObjectExists(const std::string&) const;
327 
328  virtual QImage* warningIcon() const;
329 
332  virtual DtModelSetEntry* createNewSimulationObjectGroupFromExisting(const DtObjectType& base, const std::string& newName,
333  const DtRwNLengthStringVector& categories = DtRwNLengthStringVector("categories"));
334  virtual DtModelSetEntry* createNewSimulationObjectGroupFromExisting(EntityData* data, const std::string& newName,
335  const DtRwNLengthStringVector& categories = DtRwNLengthStringVector("categories"));
336  virtual DtModelSetEntry* createNewAmmunitionEntryFromExisting(EntityData* data, const std::string& newName, const DtEntityType& newType,
337  const DtRwNLengthStringVector& categories = DtRwNLengthStringVector("categories"), bool replaceName = false);
338 
340  virtual std::string platform(const makVrf::DtEntityMapperKey& k) const;
341 
343  virtual std::string uiFilename(const makVrf::DtEntityMapperKey& k) const;
344 
346  virtual std::string uiFilename(DtComponentSystemDefinition*) const;
347 
349  virtual DtSimulationModelSet* simulationModelSet(const makVrf::DtEntityMapperKey& k) const;
350 
352  {
353  return mySimulationModelSet;
354  }
355 
357  virtual DtSimulationModelSet* simulationModelSet(const DtComponentSystemDefinition*) const;
358  virtual DtSimulationModelSet* simulationModelSet(const DtFilename&) const;
359 
361  virtual std::string platformFileType(const makVrf::DtEntityMapperKey& k) const;
362 
364  virtual std::string platformKey(const makVrf::DtEntityMapperKey& k) const;
365 
367  virtual DtString platformDisplayName(const makVrf::DtEntityMapperKey& k) const;
368 
370  virtual DtString platformDisplayDescription(const makVrf::DtEntityMapperKey& k) const;
371 
373  virtual bool addMissingVariablesFromPlatformsAndSystems(QWidget* parent = 0, bool saveAllIfAnyModified = false);
374  virtual bool addMissingVariablesFromPlatformsAndSystems(EntityData* data, std::map<DtString, DtRwVariableBindings*>&);
375 
378  virtual bool addMissingArticulatedParts(bool saveIfModified = false);
379  virtual bool addMissingArticulatedPartsForEntity(EntityData* data);
380  virtual bool addMissingArticulatedPartsForEntity(const DtObjectType& objectType,
381  DtSimArtPartDescriptorList* modifiedParts,
382  ArtPartMap& partsFromModel, ArtPartMap& partsFromSystemDefaults);
383 
385  virtual bool getPartsFromEntityVisualModel(const DtObjectType& objectType, ArtPartMap& partsFromModel);
386 
388  virtual void regenerateOpeFiles();
389 
391  virtual void regenerateSystemFiles();
392 
394  virtual std::vector<DtComponentSystemDefinition*> systemsThatCanBeDamagedBy(const DtString&) const;
395 
398  virtual DtString rangeTypeFromPower(const DtString&) const;
399  virtual void setDefaultRangeTypeForPower(const DtString&, const DtString&);
400  virtual std::vector<DtString> rangesByPowerType(const DtString&) const;
401  virtual void setSupportedRangesByPowerType(const DtString&, const std::vector<DtString>&);
402 
403  virtual std::set<DtString> powerTypes(bool hasHumanActuator) const;
404  virtual void addPowerType(const DtString&, const QString& withoutAddition, const QString& withAddition, bool needForceAdditional = false,
405  const QString& withoutAdditionX = "", const QString& witAdditionX = "", bool humanOnly = false, bool titleOnly = false);
406 
409  virtual QString powerTitle(const DtString&, const QString& addition = "", bool applyAdditionalToAll = false, bool xAxis = false) const;
411 
412  virtual void createSupportedDetonations();
413 
414  DtFilename getSystemDirectory() const;
415  DtFilename getNavDataDirectory() const;
416  DtFilename getFormationDirectory() const;
417  DtFilename getGuiDirectory() const;
418  DtFilename path() const;
419 
421  DtFilename simulationModelSetFilename() const;
422 
423  virtual bool openSystemFiles(DtSimulationModelSet* set, const DtFilename& directory, bool isInMasterSMS);
424 
425  virtual DtString cleanAmmunitionName(const DtString&) const;
426 
427  virtual bool loadForceHostilityFile(const DtFilename& f);
428  virtual bool loadAmmunitionParameters(const DtFilename& f, bool inMasterSMS, DtSimulationModelSet* sms);
429  virtual bool loadDetonationParameters(const DtFilename& f, bool inMasterSMS, DtSimulationModelSet* sms);
430 
431  virtual bool loadDetTerrainDeformParameters(const DtFilename& f, bool inMasterSMS, DtSimulationModelSet* sms);
432 
435  virtual bool loadDataFiles(const DtString&, DtSimulationModelSet*, bool fromMasterSMS, LoadFlags flags = LoadAll);
436 
438  virtual void loadSimulationObjectGroupFiles(const DtString&, DtSimulationModelSet*, bool fromMasterSMS);
439 
441  virtual DtModelSetEntry* reloadSimulationObjectGroup(const DtString&);
442 
444  virtual void loadTemplates(const DtString&, DtSimulationModelSet*);
445 
446  virtual std::vector<DtComponentSystemDefinition*> systemsThatUseAmmunition(const DtString&) const;
447  virtual std::vector<DtComponentSystemDefinition*> systemsThatUseTemplate(const DtFilename&) const;
448 
450  virtual void makeTemplate(EntityData*);
451  virtual void makeTemplate(const DtObjectType&);
452 
454  virtual bool itemContains(const DtVrfSubObjectParameterList&, const DtObjectType&) const;
455 
457  virtual const std::vector<DtString>& iconLists() const;
458  virtual bool hasIconList(const DtString&) const;
459 
461  virtual void addIconList(const DtString&);
462  virtual void removeIconList(const DtString&);
463  virtual void setIconLists(const std::vector<DtString>&);
464  virtual void loadIconLists(const DtFilename&);
465  virtual void saveIconLists(const DtFilename&);
466 
468  virtual bool loadParameterFiles(DtSimulationModelSet* sms, bool inMasterSMS);
469 
471  virtual bool loadModelSet();
472 
475  virtual DtModelSetEntry* modelEntry(const DtObjectType&, bool matchPattern = false) const;
476 
478  virtual DtFilename modelDefinitionFile(const DtObjectType&, bool resolve) const;
479  virtual const makVrv::DtModelDefinition* modelDefinition(const DtObjectType& objectType, std::string& definition) const;
480  virtual std::string diGuyCharacterOMMX() const;
481  virtual std::string diGuyCharacterLeaf() const;
482 
484  virtual DtString simulationModelSetFor(const DtEntityType&) const;
485 
487  virtual DtString simulationModelSetFor(const DtFilename&) const;
488 
490  virtual DtModelSetEntry createModelSetEntryFrom(DtEnvironmentSP env, DtEnvValueSP objectNode) const;
491  virtual DtModelSetEntry createModelSetEntryFrom(const DtObjectType&) const;
492  virtual DtModelSetEntry createModelSetEntryFrom(const DtAmmunitionParamsEntry*) const;
493 
495  virtual bool hasGuiKeyword(const makVrf::DtEntityMapperKey&, const std::string&) const;
496 
498  virtual void revertData(const makVrf::DtEntityMapperKey& key);
499  virtual void revertData(DtComponentSystemDefinition*);
500 
502  virtual DtVrfObjectParameters* objectParameterDataFor(const DtObjectType& o) const;
503 
505  virtual EntityData* dataFor(const DtObjectType&) const;
506 
508  virtual EntityData* dataFor(DtModelSetEntry*) const;
509 
512  virtual bool containsObjectType(const DtObjectType&, bool onlyFromMasterSMS = false, DtString* name = 0) const;
513 
515  virtual DtVariableBindingsList allVariableBindingsInSystemsFor(const DtObjectType&) const;
516 
518  virtual bool isSimulationObjectGroup(const DtObjectType&) const;
519 
522  virtual bool hasModelNamed(const DtString&, bool& isDeleted);
523 
524  virtual DtReaderWriter::SearchPaths searchPaths() const;
525  virtual std::vector<DtSimulationModelSet*> modelSets() const;
526 
527  virtual QString ammunitionDisplayName(const DtEntityType&) const;
528 
529  virtual const ParametersMap& availableParameters() const
530  {
531  return myAvailableParameters;
532  }
533 
535  virtual bool hasHumanDamageSystem(const std::vector<DtComponentSystemDefinition*>&) const;
536 
539  virtual bool createRwVariable(const DtObjectType&, const std::string& rwType, const std::string& rwName, DtReaderWriter*& original,
540  DtReaderWriter*& modified);
541 
542  virtual void replaceSystem(const DtFilename&);
543 
544  virtual bool entryIsRandomized(const DtObjectType&) const;
545  virtual bool canAddSubordinatesTo(const DtObjectType&) const;
546 
547  virtual bool isModified(const DtObjectType&) const;
548  virtual bool isModified(EntityData*) const;
549  virtual bool isModified(DtComponentSystemDefinition*) const;
550 
552  virtual bool isModified(const DtFilename&) const;
553 
554  virtual bool isModified() const;
555 
556  virtual bool isNew(const DtObjectType&) const;
557  virtual bool isNew(EntityData*) const;
558 
559  virtual bool isDeleted(const DtObjectType&) const;
560  virtual bool isDeleted(EntityData*) const;
561 
562  virtual bool isDeleted(DtComponentSystemDefinition*) const;
563  virtual bool isDeleted(const DtFilename&) const;
564 
565  virtual bool isNew(DtComponentSystemDefinition*) const;
566  virtual bool isNew(const DtFilename&) const;
567 
568  virtual std::vector<EntityData*> objectsThatUseSystems(const std::vector<DtComponentSystemDefinition*>& rw) const;
569 
570  virtual makVrf::DtVrfEntityTypeMapper& entityTypeMapper(const makVrf::DtEntityMapperKey&);
571  virtual makVrf::DtVrfEntityTypeMapper& aggregateTypeMapper(const makVrf::DtEntityMapperKey&);
572  virtual makVrf::DtVrfEntityTypeMapper& tacticalGraphicsMapper(const makVrf::DtEntityMapperKey&);
573  virtual makVrv::DtElementDefinitionTypeManager& elementDefinitionTypeManager(const makVrf::DtEntityMapperKey&);
574  virtual makVrv::DtModelDefinitionManager& modelDefinitionManager(const makVrf::DtEntityMapperKey&);
575 
576  virtual void saveModelDefinitionManager();
577  virtual void saveVisualElementsFor(makVrv::DtElementDefinitionTypeManager::BuiltInElementTypes);
578  virtual makVrf::DtVrfVisualsManager* visualsManager();
579 
580  virtual makVrf::DtVrfEntityTypeMapper& defaultEntityTypeMapper();
581  virtual makVrf::DtVrfEntityTypeMapper& defaultAggregateTypeMapper();
582  virtual makVrf::DtVrfEntityTypeMapper& defaultTacticalGraphicsMapper();
583  virtual makVrv::DtElementDefinitionTypeManager& defaultElementDefinitionTypeManager();
584  virtual makVrv::DtModelDefinitionManager& defaultModelDefinitionManager();
585 
586  virtual makVrv::DtEntityTypeMapper* systemEntityTypeMapper();
587  virtual makVrv::DtEntityTypeMapper* systemAggregateTypeMapper();
588  virtual makVrv::DtEntityTypeMapper* systemTacticalGraphicsMapper();
589  virtual makVrv::DtElementDefinitionTypeManager& systemElementDefinitionTypeManager();
590  virtual makVrv::DtModelDefinitionManager& systemModelDefinitionManager();
591 
592  virtual void createSpotReportDefinitionFor(const makVrf::DtEntityMapperKey&);
593  virtual void updateVisualsFor(const makVrf::DtEntityMapperKey&);
594  virtual void removeVisualsFor(const makVrf::DtEntityMapperKey&);
595  virtual void removeElementDefinition(const makVrf::DtEntityMapperKey&);
596 
598  virtual void deleteModel(DtModelSetEntry*);
599  virtual void deleteModel(const DtObjectType&);
600  virtual void deleteModel(EntityData*);
601 
602  virtual void deleteSystem(const DtComponentSystemDefinition*);
603  virtual void deleteSystem(const DtFilename&);
604 
606  virtual bool deleteSystemFromModelSet(const DtComponentSystemDefinition*);
607 
609  virtual bool changeObjectType(const DtObjectType& oldType, const DtObjectType& newType);
610 
612  virtual bool changeMatchType(const DtObjectType& oldType, const DtObjectType& newType);
613 
614  virtual bool setAdditionalMatchTypes(const DtObjectType& key, const std::list<DtObjectType> additionalMatchTypes);
615 
619  virtual std::vector<DtString> updateGuiInformation(EntityData*, DtEnvValueSP = DtEnvValueSP());
620 
622  virtual void updateSystemData(EntityData*);
623 
625  virtual void sharedSystems(const DtFilename& systemFile, std::vector<DtModelSetEntry*>& result) const;
626 
628  virtual void updateDataInformation(EntityData*);
629 
632  virtual DtEnvironmentSP resolveParentData(EntityData*);
633 
635  virtual void convertRegistryToEnvironment(const DtReaderWriterRegistry& data, DtEnvironmentSP env, DtEnvValueSP objectNode) const;
636 
638  virtual void removeSystem(DtEnvironmentSP env, const DtString& system, DtEnvValueSP objectNode);
639 
641  virtual void addSystem(DtEnvironmentSP env, const DtRwVariableBindings*, DtEnvValueSP objectNode);
642 
643  virtual const QStringList& masterModeCategories(CategoryTypes) const;
644  virtual QStringList& masterModeCategories(CategoryTypes);
645  virtual QStringList defaultCategoriesAsStringList(CategoryTypes) const;
646 
647  DtSimulationObjectCategoryInformation& defaultCategories(CategoryTypes);
648  const DtSimulationObjectCategoryInformation& defaultCategories(CategoryTypes) const;
649 
650  DtSimulationObjectCategoryInformation& nonMasterModeCategories(CategoryTypes);
651  const DtSimulationObjectCategoryInformation& nonMasterModeCategories(CategoryTypes) const;
652 
653  virtual void loadAutoTagInformation();
654 
655  DtAutoTagInformation& autoTagInformation();
656  const DtAutoTagInformation& autoTagInformation() const;
657 
658  virtual void setDefaultCategories(const DtSimulationObjectCategoryInformation&, const QStringList& masterMode, CategoryTypes);
659  virtual void revertCategories(CategoryTypes);
660  virtual bool hasModifiedCategories(CategoryTypes) const;
661  virtual bool saveDefaultCategories(const DtFilename&, CategoryTypes);
662  virtual bool loadDefaultCategories(const DtFilename&, CategoryTypes);
663 
664  void setDefaultOverlayLayers(const QStringList&);
665  const QStringList& defaultOverlayLayers() const;
666  virtual void revertOverlayLayers();
667  virtual bool hasModifiedOverlayLayers() const;
668  virtual void changeDefaultOverlayLayer(const QString& old, const QString& newCat);
669  virtual void addDefaultOverlayLayers(QComboBox*);
670  void addDefaultOverlayLayer(const QString&);
671 
672  virtual DtRwForces favoritesFor(const DtModelSetEntry*) const;
673  virtual DtRwForces backupFavoritesFor(const DtModelSetEntry*) const;
674  virtual void setFavoritesFor(DtModelSetEntry*, const DtRwForces&);
675 
676  virtual void changeDefaultDeployedCountry(const QString& old, const QString& newCat);
677  void setDefaultDeployedCountries(const QStringList&);
678  void addDefaultDeployedCountry(const QString&);
679  const QStringList& defaultDeployedCountries() const;
680  virtual void revertDeployedCountries();
681  virtual bool hasModifiedDeployedCountries() const;
682 
684  virtual void resetVisuals();
685 
687  virtual DtRwVariableBindings* createVariableBindingsForSystem(const DtFilename&, const DtString& newSystemName);
688 
690  virtual std::map<std::string, DtEntityType> templatesForKind(int) const;
691  virtual std::map<std::string, DtEntityType> templatesThatMatch(const DtEntityType&) const;
692 
695  virtual DtModelSetEntry* addNewEntity(const DtObjectType& base, const DtObjectType& newType, const DtString& name,
696  const DtRwNLengthStringVector& categories, const DtString& uniqueID, const makVrv::DtUnicode& elementDefinition = makVrv::DtUnicode::fromAscii(""),
697  bool replaceAmmoName = false);
698 
701  virtual DtModelSetEntry* addNewEntity(const std::string& platformType, const DtObjectType& newType, const DtString& name,
702  const DtRwNLengthStringVector& categories, const DtString& uniqueID, const makVrv::DtUnicode& elementDefinition = makVrv::DtUnicode::fromAscii(""));
703 
705  virtual DtModelSetEntry* addNewEntity(EntityData* baseData, const DtObjectType& newType, const DtString& name,
706  const DtRwNLengthStringVector& categories, const DtString& uniqueID, const makVrv::DtUnicode& elementDefinition = makVrv::DtUnicode::fromAscii(""),
707  bool replaceAmmoName = false);
708 
709  virtual DtModelSetEntry* addNewInheritingEntity(const DtObjectType& parent, const DtObjectType& type, const DtString& name);
710 
712  virtual void addGuiInfo(EntityData*, DtModelSetEntry*, const DtString& name, const DtObjectType&,
713  const DtRwNLengthStringVector& categories, const DtString uniqueId);
714 
716  virtual void removeSystem(const DtFilename&);
717 
718  virtual const DtRwVariableBindings* variableBindings() const;
719 
720  virtual QPixmap getIcon(const makVrf::DtEntityMapperKey& key, int pointSize = 48,
721  bool sizeToFont = false);
722 
723  virtual QPixmap getUnfilledIcon(const makVrf::DtEntityMapperKey& key, const QColor& outlineColor = Qt::black, int pointSize = 48,
724  bool sizeToFont = false);
725 
726  virtual void clearIcons(const makVrf::DtEntityMapperKey& key);
727 
728  static DtSimulationModelSetLoader* create(makVrv::DtDe*);
729 
731  virtual void changeSubordinateTypes(const DtObjectType& oldType, const DtObjectType& newType);
732 
733  virtual void checkParameterUpdates(EntityData*);
734  virtual void checkParameterUpdates(const std::set<makVrf::DtEntityMapperKey>&);
735 
737  virtual makVrv::DtUnicode elementDefinitionFor(const DtEntityType&);
738 
740  virtual DtVrfSubObjectParameterList subordinateObjectsFor(const DtObjectType&) const;
741  virtual DtVrfSubObjectParameterList subordinateObjectsFor(DtEnvironmentSP, DtEnvValueSP objectNode) const;
742 
744  virtual void updateSubordinateObjects(const DtObjectType&, const DtVrfSubObjectParameterList&);
745  virtual void updateSubordinateObjects(DtEnvironmentSP, DtEnvValueSP objectNode, const DtVrfSubObjectParameterList&);
746 
748  virtual void updateFormationTable(const DtObjectType&, const DtFormationTable&);
749 
751  virtual DtEmbarkationInformation embarkationInformationFor(const DtObjectType&) const;
752  virtual DtEmbarkationInformation embarkationInformationFor(DtEnvironmentSP, DtEnvValueSP objectNode) const;
753 
755  virtual void updateEmbarkationInformation(const DtObjectType&, const DtEmbarkationInformation&);
756  virtual void updateEmbarkationInformation(DtEnvironmentSP, DtEnvValueSP objectNode, const DtEmbarkationInformation&);
757 
759  virtual DtDiGuyInformation diGuyInformationFor(const DtObjectType&) const;
760 
762  virtual void updateDiGuyInformation(const DtObjectType&, const DtDiGuyInformation&);
763 
765  virtual DtSensorSignatureInformation sensorSignatureInformationFor(const DtObjectType&) const;
766  virtual DtSensorSignatureInformation sensorSignatureInformationFor(DtEnvironmentSP, DtEnvValueSP root) const;
767 
769  virtual void updateSensorSignatureInformation(const DtObjectType&, const DtSensorSignatureInformation&);
770  virtual void updateSensorSignatureInformation(DtEnvironmentSP, DtEnvValueSP root, const DtSensorSignatureInformation&);
771 
773  virtual DtFormationTable* formationTableFor(const DtObjectType&);
774  virtual DtFormationTable* originalFormationTableFor(const DtObjectType&);
775 
777  virtual Dt3dBoundingVolume boundingVolumeFor(const DtObjectType&) const;
778 
780  virtual bool isAggregate(const DtObjectType&) const;
781 
782  bool loaded() const
783  {
784  return myLoaded;
785  }
786 
788  {
789  return myEntityData;
790  }
791 
792  virtual bool isTemplate(const DtObjectType&) const;
793  virtual bool templateExists(const DtObjectType&) const;
794 
795  virtual void setForceManagerModified(bool);
796  virtual bool forceManagerModified() const;
797 
798  virtual DtFilename modelDefinitionsPath();
799 
800  virtual bool upgradeCountriesToCountryCodes(EntityData*);
801 
802  virtual bool isInMasterSMS(const DtObjectType&) const;
803  virtual bool isInMasterSMS(const DtFilename&) const;
804  virtual bool isInMasterSMS(const DtComponentSystemDefinition*) const;
805 
806  virtual DtString smsName(const DtObjectType&) const;
807  virtual DtString smsName(const DtFilename&) const;
808  virtual DtString smsName(const DtComponentSystemDefinition*) const;
809 
810  virtual const DtComponentSystemDefinition* originalSystemDefinitionFor(const DtComponentSystemDefinition*) const;
811  virtual const DtComponentSystemDefinition* originalSystemDefinitionFor(const DtFilename&) const;
812 
814  virtual bool saveData();
815  virtual bool saveData(EntityData* data, bool force = false);
816 
818  virtual bool saveFavorites();
819 
821  virtual bool saveSystems();
822 
824  virtual bool saveAmmunitionTable();
825 
827  virtual bool saveDetonationTable();
828 
829  virtual bool saveDetonationTerrainDeformationTable();
830 
832  virtual DtObjectType templateObjectType(const std::string& parameterType) const;
833 
835  virtual void addInternalItem(const std::string&, bool markDataAsWell = true);
836 
838  virtual void addIgnorePlatformType(const DtString&);
839 
842  virtual QString parameterDisplayName(const DtString& parameterType, bool stopAtFirst = true) const;
843 
845  virtual std::map<DtString, QString> availableParameterTypes(const std::set<std::string>& except = std::set<std::string>()) const;
846 
849  virtual std::vector<DtReaderWriter*> supportPointsFor(const DtObjectType&) const;
850 
852  virtual DtObjectType uniqueEntityTypeFrom(const DtObjectType&, bool onlyFromMasterSMS = false) const;
853 
855  virtual makVrv::DtUnicode systemNameForSystem(const std::string&, DtFilename& fullFilename) const;
856 
858  virtual bool hasFactoryChecksums() const;
859 
861  virtual const DtSmsChecksum& factoryChecksums() const;
862 
864  virtual DtRwVisualMetaData* addOrUpdateVisualMetaData(const DtEntityType&);
865 
867  virtual DtComponentSystemDefinition* duplicateSystem(const DtComponentSystemDefinition* base, const DtString& systemName, const DtFilename& systemFilename);
868 
870  virtual DtComponentSystemDefinition* createFromTemplate(const DtString& systemName, const DtFilename& systemFilename, const DtComponentSystemDefinition* systemTemplate);
871  virtual DtFilename filenameToSystemFilename(DtFilename systemFilename) const;
872 
875  virtual void promoteSystem(DtComponentSystemDefinition*);
876 
878  virtual std::map<DtSymbolString, DtAmmunitionParamsEntry*> ammunitionTable() const;
879 
881  virtual DtAmmunitionParamsEntry* addAmmunition(const DtString& name, const DtString& label, const DtObjectType& munitionType);
882 
884  virtual DtAmmunitionParamsEntry* ammunitionEntry(const DtSymbolString&) const;
885  virtual DtAmmunitionParamsEntry* ammunitionEntry(const DtObjectType&) const;
886 
888  virtual DtMunitionDetonationPowerEntry* detonationPowerEntry(const DtObjectType&) const;
889 
890  virtual std::set<DtEntityType> detonationTypes() const;
891  virtual DtMunitionDetonationPowerEntry* duplicatePowerEntry(const DtObjectType&, const DtEntityType&);
892 
894  virtual std::vector<DtTargetingControlTable*> getTargetingControlTables(const makVrf::DtEntityMapperKey&) const;
895 
897  virtual std::map<DtComponentSystemDefinition*, const DtRangeProbabilityTable*> getSystemsAndHitTables() const;
898 
900  typedef std::map<const DtComponentSystemDefinition*, std::pair<const DtTargetingControlTable*,
902  virtual TargetingControlAndRangeTables getTargetingControlAndRangeTables(const makVrf::DtEntityMapperKey&) const;
903  virtual void findAllTargetingControlAndRangeTables(const DtString&, TargetingControlAndRangeTables&) const;
904 
906  virtual DtRwDamageByMunitionPowerMap* damageTableFor(const makVrf::DtEntityMapperKey&, DtComponentSystemDefinition** system = 0) const;
907 
908  virtual QString translatedSystemName(const DtComponentSystemDefinition* definition) const;
909  virtual QString translatedSystemDescription(const DtComponentSystemDefinition* definition) const;
910 
912  virtual DtObjectType ammunitionType(const DtSymbolString&) const;
913 
915  virtual QString ammunitionDisplayName(const DtSymbolString&) const;
916  virtual void setAmmoEntryIfNecessary(EntityData* data, const DtAmmunitionParamsEntry* templateEntry = 0);
917 
919  virtual bool ammunitionCanTarget(const DtSymbolString&, const DtEntityType&) const;
920 
921  boost::signals2::signal<void()> signal_preloadSimulationModelSet;
922  boost::signals2::signal<void()> signal_simulationModelSetLoaded;
923  boost::signals2::signal<void(std::vector<EntityData*>)> signal_newDataFileAdded;
924  boost::signals2::signal<void(EntityData*)> signal_entityEntryAboutToBeRemoved;
925  boost::signals2::signal<void(EntityData*)> signal_entityEntryAdded;
926  boost::signals2::signal<void(EntityData*)> signal_visualMappingsModified;
927  boost::signals2::signal<void()> signal_resetVisuals;
928  boost::signals2::signal<void(bool)> signal_readOnlyChanged;
929  boost::signals2::signal<void(DtComponentSystemDefinition*)> signal_systemEntryAdded;
930  boost::signals2::signal<void(const DtFilename&)> signal_systemRemoved;
931  boost::signals2::signal<void(DtComponentSystemDefinition*)> signal_systemAboutToBeRemoved;
932  boost::signals2::signal<void(const DtObjectType&, const DtObjectType&)> signal_objectTypeAboutToBeChanged;
933  boost::signals2::signal<void(const DtObjectType&, const DtObjectType&)> signal_objectTypeChanged;
934 
936  boost::signals2::signal<void(makVrv::DtDe*)> signal_displayDeSet;
937 
938 public:
939  const DtModelSet* modelSet() const;
940  DtModelSet* modelSet();
941 
942  virtual makVrf::DtVrfGuiForceManager* forceManager();
943 
944  const DtSimulationModelSet& simulationModelSet() const;
945  bool hasSimulationModelSet() const;
946  DtSimulationModelSet& simulationModelSet();
947  const DtFilename& parameterFilename() const;
948  const DtSimulationObjectEditorComponentSystemDatabase* originalSystemDatabase() const;
949  const DtSimulationObjectEditorComponentSystemDatabase* modifiedSystemDatabase() const;
950  const DtSimulationObjectEditorComponentSystemDatabase* templateSystemDatabase() const;
951  DtSimulationObjectEditorComponentSystemDatabase* modifiedSystemDatabase();
952  DtFilename modelSetDirectory() const;
953 
954  virtual void forceRemoved(DtForceType forceType);
955 
956  const DtRwForces& allForces() const;
957 
958  virtual std::vector<const DtComponentSystemDefinition*> systemDefinitionsFor(const DtObjectType& o) const;
959  virtual std::vector<const DtComponentSystemDefinition*> systemDefinitionsFor(const DtObjectType& o, const DtString& category) const;
960 
961  virtual const DtReaderWriter* findVariable(const DtVariableBindingsList&, const DtString&) const;
962  virtual const DtReaderWriter* findOriginalVariable(const makVrf::DtEntityMapperKey& emk, const DtString&) const;
963  virtual const DtReaderWriter* findModifiedVariable(const makVrf::DtEntityMapperKey& emk, const DtString&) const;
964  virtual DtReaderWriter* findVariable(const DtVariableBindingsList&, const DtString&);
965  virtual DtReaderWriter* findOriginalVariable(const makVrf::DtEntityMapperKey& emk, const DtString&);
966  virtual DtReaderWriter* findModifiedVariable(const makVrf::DtEntityMapperKey& emk, const DtString&);
967  virtual const DtReaderWriter* variableFromAnyPlatform(const DtString& varName) const;
968 
969  virtual void addModifiedVariable(const makVrf::DtEntityMapperKey& emk, DtReaderWriter* rw);
970 
971  virtual DtVrfObjectParameters* platformParameters(const makVrf::DtEntityMapperKey& key) const;
972 
973  virtual const DtStandardSensorObjects& standardSensorObjects() const;
974  virtual DtStandardSensorObjects& standardSensorObjects();
975  virtual bool processModelSet(DtSimulationModelSet*, LoadFlags flags = LoadAll, bool isMasterSMS = false);
976 
977  virtual DtVariableBindingsList* copyBindingsList(const DtVariableBindingsList* orig) const;
978 
982  virtual void getSubordinateFunctions(DtSubordinateFunctionTable& functions) const;
983 
987  virtual const std::vector<DtSubordinateFunctionTable>& subordinateFunctionTables() const;
988  virtual std::vector<DtSubordinateFunctionTable>& subordinateFunctionTables();
990 
991 protected:
992  virtual void replaceVariableNamesWithUpdatedVariableNames(DtRwVariableBindings*, const DtComponentSystemDefinition*);
993 
997  virtual void markInternalItemsAsReadOnly(DtVariableBindingsList*);
998 
999  virtual const DtReaderWriter* findVariable(const DtString& var, const DtReaderWriter* rw) const;
1000 
1001  virtual void loadSystemFilesFromDirectory(const QString& directoryName, const DtVariableBindingsList& variableBindings, DtSimulationModelSet*, bool isInMasterSMS,
1002  bool loadTemplates = false);
1003 
1004  virtual void addVariableReferences(DtReaderWriter* source, DtRwVariableBindings* toBindings) const;
1005 
1006  virtual void cleanup();
1007  virtual bool ignorePlatformType(const DtString&) const;
1008 
1009  virtual bool saveForceHostility(const DtFilename& filename);
1010 
1011  virtual bool warned(const DtFilename&);
1012  virtual void removeEntityFromSubObjects(const DtObjectType&);
1013 
1014  virtual void mergeFavoritesIntoModelSet(DtModelSet* favorites, DtModelSet* set);
1015 
1016  virtual void setupParametersForDataFiles(std::vector<EntityData*>&, DtSimulationModelSet* set);
1017 
1018  virtual EntityData* createParameterDataFrom(DtVrfObjectParameters*) const;
1019 
1021  virtual bool updateFromPlatform(EntityData* data, const DtReaderWriter* oldRegData, DtEnvironmentSP env, DtEnvValueSP objectNode) const;
1022 
1024  virtual bool traverseRwObject(const DtReaderWriter* rwObject, DtEnvironmentSP env, DtEnvValueSP objectNode) const;
1025  virtual void addElementFromSystemBinding(DtEnvironmentSP env,
1026  DtEnvValueSP parentElement, DtSystemParameterData* paramData) const;
1027 
1028  virtual DtFormationTable* formationTableFor(DtEnvironmentSP, DtEnvValueSP objectNode) const;
1029 
1031  virtual void updateFormationTable(DtEnvironmentSP, DtEnvValueSP objectNode, const DtFormationTable&);
1032 
1033  virtual std::vector<EntityData*> addDataFromFile(const DtString& file,
1034  DtSimulationModelSet* set, bool isMasterSMS,
1035  bool signalAddition = true, bool isTemplate = false, LoadFlags flags = LoadAll);
1036 
1037  virtual DtModelSetEntry* addModelSetEntryFromEnvironment(DtEnvironmentSP, DtEnvValueSP node);
1038  virtual DtModelSetEntry* addModelSetEntryFromSimulationObjectGroup(EntityData*);
1039 
1040  virtual void addToInternalCategories(DtModelSetEntry* entry, bool isInMasterSMS);
1041  virtual void addToInternalCategories(const DtComponentSystemDefinition* entry, bool isInMasterSMS);
1042 
1043  virtual void addEntityDataEntry(EntityData*, bool signal = true);
1044  virtual void removeEntityDataEntry(EntityData*, bool signal = true);
1045 
1047  virtual ParametersMap::const_iterator findAvailablePlatform(const DtString& platform) const;
1048  virtual ParametersData::const_iterator findAvailableParameter(const DtString& platform) const;
1049  virtual ParametersData::const_iterator findAvailableParameterFromFile(const DtFilename& platform) const;
1050  virtual ParametersData::const_iterator findAvailableParameterType(const DtString& parameterType) const;
1051 
1053  virtual void swapCurrentEntry(EntityData*, DtModelSetEntry*);
1054 
1056  virtual DtString filenameFromEntityName(const DtString& name) const;
1057 
1059  virtual DtString uniqueEntityFilename(const DtString& name) const;
1060 
1062  virtual void loadVisuals(DtSimulationModelSet*, bool createIfDoesNotExist = false);
1063 
1065  virtual bool updateAndAddMatchTypeVisuals(EntityData* baseType, const DtEntityType& matchType);
1066 
1068  virtual bool removeMatchingTypeFromVisuals(const DtEntityType& matchType);
1069 
1070  virtual void finalizeCategoryInformationFor(const DtSimulationModelSet& sms, CategoryTypes type = EntityCategories);
1071 
1072  virtual DtFilename categoryFilename(const DtSimulationModelSet& sms, CategoryTypes type = EntityCategories) const;
1073 
1074  static DtAmmunitionManager* createAmmunitionManager();
1075  static void setAmmunitionManagerCreator(AmmunitionManagerCreator creator);
1076 
1077  virtual void convertAmmunitionToEntityData(DtAmmunitionParams*, bool inMasterSMS, DtSimulationModelSet* sms);
1078  virtual DtAmmunitionParams* createAmmunitionParameters() const;
1079  virtual DtDetonationParams* createDetonationParameters() const;
1080 
1081  virtual DtTerrainDeformationParams* createDetonationTerrainDeformationParams() const;
1082 
1083  virtual void getPartsFromModel(const DtObjectType& objectType, std::list<DtSimArtPartDescriptor>& artParts);
1084  virtual void parsePowerTypes();
1085 
1086 protected:
1087  QStringList myWarned;
1092 
1093  typedef std::map<DtFilename, bool> SystemIsInMasterSMSMap;
1095 
1099  QImage* myWarningIcon;
1100 
1101  typedef std::map<int, DtSimulationObjectCategoryInformation> CategoriesMap;
1105 
1106  typedef std::map<int, QStringList> StringCategoriesMap;
1113  bool myLoaded;
1116 
1119 
1122 
1124 
1126 
1129 
1130  std::set<std::string> myInternalItems;
1131  std::set<DtString> myIgnorePlatformType;
1134 
1135  typedef std::map<DtModelSetEntry*, EntityData*> EntityDataByEntry;
1137 
1138  std::vector<QTranslator*> myTranslators;
1140 
1142 
1143  std::map<DtString, int> myMatchingVisualTypes;
1145 
1149 
1152 
1153  mutable std::string myDiGuyCharacterOMMX;
1154  mutable std::string myDiGuyCharacterLeaf;
1155 
1156  std::map<DtString, DtString> myDefaultRangeForPowerType;
1157  std::map<DtString, std::vector<DtString> > mySupportedRangesByPowerType;
1158 
1159  struct PowerTitle
1160  {
1162  QString withAdditionX;
1164  QString withAdditionY;
1168  };
1169 
1170  std::vector<DtString> myIconLists;
1171  std::vector<DtString> myOriginalIconLists;
1172  std::map<DtString, PowerTitle> myPowerTypes;
1173  std::vector<DtSubordinateFunctionTable> mySubordinateFunctionTables;
1174 
1175  static AmmunitionManagerCreator theAmmunitionManagerCreator;
1176 };
1177 
1179 {
1181  {
1182  return mySimulationModelSet->filename();
1183  }
1184  else
1185  {
1186  return "";
1187  }
1188 }
1189 
1191 {
1192  return (mySimulationModelSet != 0);
1193 }
1194 
1196 {
1197  return *mySimulationModelSet;
1198 }
1199 
1201 {
1202  return *mySimulationModelSet;
1203 }
1204 
1206 {
1207  return myModelSet;
1208 }
1209 
1211 {
1212  return myModelSet;
1213 }
1214 
1215 inline const DtFilename& DtSimulationModelSetLoader::parameterFilename() const
1216 {
1217  return myParameterFilename;
1218 }
1219 
1221 {
1222  return myAllForces;
1223 }
1224 
1226 {
1227  return myAutoTagInformation;
1228 }
1229 
1231 {
1232  return myAutoTagInformation;
1233 }
1234 
1236 {
1237  CategoriesMap::const_iterator iter = myDefaultCategories.find(type);
1238 
1239  return iter->second;
1240 }
1241 
1243 {
1244  return myDefaultCategories[type];
1245 }
1246 
1248 {
1249  CategoriesMap::const_iterator iter = myNonMasterModeCategories.find(type);
1250 
1251  return iter->second;
1252 }
1253 
1255 {
1256  return myNonMasterModeCategories[type];
1257 }
1258 
1259 inline const QStringList& DtSimulationModelSetLoader::defaultOverlayLayers() const
1260 {
1261  return myDefaultOverlayLayers;
1262 }
1263 
1265 {
1267 }
1268 
1270 {
1271  myDefaultOverlayLayers.push_back(l);
1272 }
1273 
1275 {
1277 }
1278 
1280 {
1282 }
1283 
1285 {
1286  myDefaultDeployedCountries.push_back(l);
1288 }
1289 
1291 
1293 {
1294  return !(lhs.operator<(rhs));
1295 }
1296 
1298 {
1299 public:
1301 
1303 
1304  virtual void loadAllSmsFiles();
1305 
1306 protected:
1307  virtual void processModelSet(DtSimulationModelSet*);
1308 
1309 protected:
1314 };
std::map< DtModelSetEntry *, EntityData * > EntityDataByEntry
Definition: simulationModelSetLoader.h:1135
Definition: simulationModelSetLoader.h:159
Definition: simulationModelSetLoader.h:1297
Instances of DtVrfObjectParameters are the readable/writeable objects that contain the information ne...
Definition: vrfObjectParameters.h:59
BuiltInElementTypes
These types are all automatically registered when the manager is created.
Definition: DtElementDefinitionManager.h:511
std::map< std::string, EntityData * > ParametersData
Definition: simulationModelSetLoader.h:267
std::map< int, QStringList > StringCategoriesMap
Definition: simulationModelSetLoader.h:1106
Definition: simulationModelSetLoader.h:131
Definition: entityMapperKey.h:23
DtRwVariableBindingsList * myOriginalSystems
Definition: simulationModelSetLoader.h:224
Virtual base class.
Definition: DtVirtualBaseClass.h:19
A unicode string.
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:123
Definition: rwVariableBindingsList.h:16
bool humanOnly
Definition: simulationModelSetLoader.h:1166
DtModelSetEntry * myCurrentModelSetEntry
Definition: simulationModelSetLoader.h:232
Definition: symbolString.h:20
DtVariableBindingsList * myOriginalVariableBindings
Definition: simulationModelSetLoader.h:226
DtRwForces myAllForces
Definition: simulationModelSetLoader.h:1098
Definition: simulationModelSetLoader.h:116
The DtSimulationObjectCategoryInformation class is a class that will read the comma delimited categor...
Definition: simulationObjectCategoryInformation.h:22
int myLastModifiedDate
Definition: simulationModelSetLoader.h:222
bool myIsInMasterSMS
Definition: simulationModelSetLoader.h:200
std::vector< DtString > myIconLists
Definition: simulationModelSetLoader.h:1170
DtSimulationObjectCategoryInformation & nonMasterModeCategories(CategoryTypes)
Definition: simulationModelSetLoader.h:1254
The model definition manager is responsible to managing all of the model definitions the IG knows abo...
Definition: DtModelDefinitionManager.h:79
DtVrfSubObjectParameterList * myModifiedSubordinateInformation
Definition: simulationModelSetLoader.h:239
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:393
std::vector< DtString > myOriginalIconLists
Definition: simulationModelSetLoader.h:1171
std::string myDiGuyCharacterOMMX
Definition: simulationModelSetLoader.h:1153
bool needsForceAddition
Definition: simulationModelSetLoader.h:1165
boost::signals2::signal< void(bool)> signal_readOnlyChanged
Definition: simulationModelSetLoader.h:928
DtTerrainDeformationParams * myMasterModeDetTerrainDeformParameters
Definition: simulationModelSetLoader.h:1120
Readable-writable class holding all parameters to configure the DtDetonationManager.
Definition: detonationParams.h:22
DtEnvironmentSP myModified
Definition: simulationModelSetLoader.h:154
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:933
DtEnvironmentSP myParentEnvironment
Definition: simulationModelSetLoader.h:251
std::vector< QTranslator * > myTranslators
Definition: simulationModelSetLoader.h:1138
boost::signals2::signal< void()> signal_simulationModelSetLoaded
Definition: simulationModelSetLoader.h:922
SystemIsInMasterSMSMap mySystemIsInMasterSMSMap
Definition: simulationModelSetLoader.h:1094
class DtScenarioExplorer:
Definition: scenarioExplorer.h:26
boost::signals2::signal< void(DtComponentSystemDefinition *)> signal_systemEntryAdded
Definition: simulationModelSetLoader.h:929
DT_DLL_readerWriter DtBoost::shared_ptr< DtEnvironment > DtEnvironmentSP
Definition: readerWriter.h:30
DtTerrainDeformationParams * myDetonationTerrainDeformationParameters
Definition: simulationModelSetLoader.h:1121
boost::signals2::signal< void(EntityData *)> signal_entityEntryAdded
Definition: simulationModelSetLoader.h:925
DtDiGuyInformation * myOriginalDiGuyInformation
Definition: simulationModelSetLoader.h:230
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:1091
QString withAdditionX
Definition: simulationModelSetLoader.h:1162
boost::signals2::signal< void(const DtObjectType &, const DtObjectType &)> signal_objectTypeAboutToBeChanged
Definition: simulationModelSetLoader.h:932
virtual const ParametersMap & availableParameters() const
Definition: simulationModelSetLoader.h:529
Definition: readerWriter.h:85
Extends the force manager to add country codes.
Definition: vrfGuiForceManager.h:24
*virtual const DtObjectType & objectType() const
Definition: autoTagInformation.h:19
std::map< DtFilename, bool > SystemIsInMasterSMSMap
Definition: simulationModelSetLoader.h:1093
std::map< DtString, std::vector< DtString > > mySupportedRangesByPowerType
Definition: simulationModelSetLoader.h:1157
DtSimulationModelSet * mySimulationModelSet
Definition: simulationModelSetLoader.h:1311
Definition: readerWriterRegistry.h:39
ParametersData myParametersData
Definition: simulationModelSetLoader.h:1128
DtSimulationModelSetLoader * mySimulationModelSetLoader
Definition: simulationModelSetLoader.h:1312
class DtStandardSensorObjects:
Definition: standardSensorObjects.h:23
ParameterStruct(DtVrfObjectParameters *p, bool b, const DtFilename &f)
Definition: simulationModelSetLoader.h:119
std::map< DtString, DtString > myDefaultRangeForPowerType
Definition: simulationModelSetLoader.h:1156
std::string myDataFile
Definition: simulationModelSetLoader.h:201
Definition: smsChecksum.h:15
std::map< DtString, int > myMatchingVisualTypes
Definition: simulationModelSetLoader.h:1143
DtFilename myParentFile
Definition: simulationModelSetLoader.h:250
QString withAdditionY
Definition: simulationModelSetLoader.h:1164
std::map< DtString, PowerTitle > myPowerTypes
Definition: simulationModelSetLoader.h:1172
DtDiGuyInformation * myModifiedDiGuyInformation
Definition: simulationModelSetLoader.h:241
std::map< DtArtPartType, DtSimArtPartDescriptor > ArtPartMap
Definition: simulationModelSetLoader.h:269
The element type manager is responsible for knowing about the types of elements as well as owning the...
Definition: DtElementDefinitionManager.h:500
std::map< const DtComponentSystemDefinition *, std::pair< const DtTargetingControlTable *, const DtRangeProbabilityTable * > > TargetingControlAndRangeTables
Returns the targeting control and range tables.
Definition: simulationModelSetLoader.h:901
A model definition Interaction any number of named parameters, and also can be used to store cached d...
Definition: DtModelDefinition.h:38
bool hasSimulationModelSet() const
Definition: simulationModelSetLoader.h:1190
bool myIsDeleted
Definition: simulationModelSetLoader.h:245
CategoriesMap myNonMasterModeCategories
Definition: simulationModelSetLoader.h:1103
Description: A model is a set of items that defines a model to create in the back-end from the front-...
Definition: simulationObjectGroupModelSetEntry.h:138
Definition: objectType.h:27
DtStandardSensorObjects myStandardSensorObjects
Definition: simulationModelSetLoader.h:1114
Instances of DtSimArtPartDescriptorList are lists of DtSimArtPartDescriptors.
Definition: simArtPartDescriptorList.h:16
ReaderWriter object that maintains a list of reader-writer variable bindings.
Definition: rwVariableBindings.h:27
DtAmmunitionManager * myAmmunitionManager
Definition: simulationModelSetLoader.h:1115
Class that will keep track of all embarkation information.
Definition: embarkationInformation.h:22
DtRangeProbabilityTable is a readable/writable list of DtRangeProbEntrys.
Definition: rangeProbabilityTable.h:31
StringCategoriesMap myOriginalMasterModeCategories
Definition: simulationModelSetLoader.h:1108
DtSmsChecksum myFactorySmsChecksum
Definition: simulationModelSetLoader.h:1150
DtMunitionDetonationPowerEntry * myModifiedPowerTableEntry
Definition: simulationModelSetLoader.h:213
makVrv::DtDe & myDe
Definition: simulationModelSetLoader.h:1310
bool mySaveReadOnlyFlag
Definition: simulationModelSetLoader.h:1151
DtComponentSystemDefinition.
Definition: componentSystemDefinition.h:25
DtEnvValueSP myOriginalObjectNode
Definition: simulationModelSetLoader.h:225
DtAmmunitionParamsEntry * myOriginalAmmunitionParameters
Definition: simulationModelSetLoader.h:209
DtVrfObjectParameters * myParameters
Definition: simulationModelSetLoader.h:243
DtMunitionDetonationPowerEntry * myOriginalPowerTableEntry
Definition: simulationModelSetLoader.h:212
Description: A model is a set of items that defines a model to create in the back-end from the front-...
Definition: modelSetEntry.h:24
DtEmbarkationInformation * myOriginalEmbarkationInformation
Definition: simulationModelSetLoader.h:229
boost::signals2::signal< void(DtComponentSystemDefinition *)> signal_systemAboutToBeRemoved
Definition: simulationModelSetLoader.h:931
bool loaded() const
Definition: simulationModelSetLoader.h:782
std::string myDiGuyCharacterLeaf
Definition: simulationModelSetLoader.h:1154
const DtOrderedObjectTypeList< EntityData * > & entityData() const
Definition: simulationModelSetLoader.h:787
DtObjectType myOriginalMatchType
Definition: simulationModelSetLoader.h:217
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.
Definition: vrfVisualsManager.h:111
DtRwVariableBindingsList * myModifiedSystems
Definition: simulationModelSetLoader.h:235
Definition: detonationDeformationParams.h:9
CategoriesMap myDefaultCategories
Definition: simulationModelSetLoader.h:1102
static AmmunitionManagerCreator theAmmunitionManagerCreator
Definition: simulationModelSetLoader.h:1175
makVrv::DtDe & myDe
Definition: simulationModelSetLoader.h:1111
Definition: simulationModelSetLoader.h:92
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:175
DtAutoTagInformation & autoTagInformation()
Definition: simulationModelSetLoader.h:1230
void addDefaultDeployedCountry(const QString &)
Definition: simulationModelSetLoader.h:1284
std::list< const DtRwVariableBindings * > DtVariableBindingsList
Definition: readerWriterRegistry.h:29
Definition: simulationModelSetLoader.h:1159
boost::shared_ptr< EnvironmentContainer > EnvironmentContainerSP
Definition: simulationModelSetLoader.h:157
std::set< DtVariableBindingsList > systemsAddedThisSession
Definition: simulationModelSetLoader.h:254
CategoriesMap myOriginalDefaultCategories
Definition: simulationModelSetLoader.h:1104
Readable-writable class holding all parameters to configure the DtAmmunitionManager.
Definition: ammunitionParams.h:20
DtFilename file
Definition: simulationModelSetLoader.h:124
DtSensorSignatureInformation * myOriginalSensorSignatureInformation
Definition: simulationModelSetLoader.h:231
DtFilename myParameterFilename
Definition: simulationModelSetLoader.h:1096
DtFormationTable.
Definition: formationTable.h:23
std::vector< DtFilename > SearchPaths
Definition: readerWriter.h:92
DtSimulationModelSetLoader::LoadFlags myLoadFlags
Definition: simulationModelSetLoader.h:1313
EntityDataByEntry myEntityDataByEntry
Definition: simulationModelSetLoader.h:1136
const QStringList & defaultOverlayLayers() const
Definition: simulationModelSetLoader.h:1259
const DtModelSet * modelSet() const
Definition: simulationModelSetLoader.h:1205
StringCategoriesMap myMasterModeCategories
Definition: simulationModelSetLoader.h:1107
DtFormationTable * myModifiedFormationTable
Definition: simulationModelSetLoader.h:238
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:1144
DtDamageProbabilityTable.
Definition: damageProbabilityTable.h:20
DtOrderedObjectTypeList< EntityData * > myEntityData
Definition: simulationModelSetLoader.h:1123
DtSensorSignatureInformation * myModifiedSensorSignatureInformation
Definition: simulationModelSetLoader.h:242
std::map< int, DtSimulationObjectCategoryInformation > CategoriesMap
Definition: simulationModelSetLoader.h:1101
bool myReadOnly
Definition: simulationModelSetLoader.h:1147
DtFormationTable * myOriginalFormationTable
Definition: simulationModelSetLoader.h:227
DtSimulationModelSet * masterSMS() const
Definition: simulationModelSetLoader.h:351
QStringList myDefaultDeployedCountries
Definition: simulationModelSetLoader.h:1110
bool myLoaded
Definition: simulationModelSetLoader.h:1113
DtFilename simulationModelSetFilename() const
Returns the filename of the current simulation model set file.
Definition: simulationModelSetLoader.h:1178
bool operator>(const DtObjectType &lhs, const DtSimulationModelSetLoader::EntityData &rhs)
Definition: simulationModelSetLoader.h:1292
const char * source
Definition: lz4.h:442
DtMunitionDetonationPowerEntry.
Definition: munitionDetonationPowerEntry.h:19
const QStringList & defaultDeployedCountries() const
Definition: simulationModelSetLoader.h:1274
DtSimulationObjectEditorComponentSystemDatabase * myModifiedSystemDatabase
Definition: simulationModelSetLoader.h:1090
std::set< std::string > myInternalItems
Definition: simulationModelSetLoader.h:1130
std::set< DtString > elementsAddedThisSession
Definition: simulationModelSetLoader.h:253
QImage * myWarningIcon
Definition: simulationModelSetLoader.h:1099
std::list< DtObjectType > myAdditionalMatchTypes
Definition: simulationModelSetLoader.h:219
Base class for RW objects that describe a system parameter.
Definition: systemParameterData.h:30
DtSimulationModelSet * mySimulationModelSet
Definition: simulationModelSetLoader.h:248
QString withoutAdditionY
Definition: simulationModelSetLoader.h:1163
Description: A readable, writable list of DtForceType.
Definition: rwForces.h:34
std::map< DtString, ParameterStruct > ParametersMap
Definition: simulationModelSetLoader.h:127
void addDefaultOverlayLayer(const QString &)
Definition: simulationModelSetLoader.h:1269
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:206
virtual void processModelSet(DtSimulationModelSet *)
boost::signals2::signal< void(const DtFilename &)> signal_systemRemoved
Definition: simulationModelSetLoader.h:930
DtSimulationObjectCategoryInformation & defaultCategories(CategoryTypes)
Definition: simulationModelSetLoader.h:1242
DtSimulationObjectGroupModelSetEntry * myModifiedSOGData
Definition: simulationModelSetLoader.h:207
bool titleOnly
Definition: simulationModelSetLoader.h:1167
LoadFlags
Definition: simulationModelSetLoader.h:95
void setDefaultOverlayLayers(const QStringList &)
Definition: simulationModelSetLoader.h:1264
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:1131
boost::signals2::signal< void(EntityData *)> signal_entityEntryAboutToBeRemoved
Definition: simulationModelSetLoader.h:924
void setDefaultDeployedCountries(const QStringList &)
Definition: simulationModelSetLoader.h:1279
vrlink
Definition: subordinateFunctionTable.h:20
ParametersMap myAvailableParameters
Definition: simulationModelSetLoader.h:1127
makVrf::DtVrfVisualsManager * myVrfVisualsManager
Definition: simulationModelSetLoader.h:1141
DtEnvValueSP myModifiedObjectNode
Definition: simulationModelSetLoader.h:236
ParameterStruct()
Definition: simulationModelSetLoader.h:118
Contains the DtDiGuyInformation class declaration.
bool operator>(const EntityData &rhs) const
Definition: simulationModelSetLoader.h:188
DtVariableBindingsList * myModifiedVariableBindings
Definition: simulationModelSetLoader.h:237
bool myForceManagerModified
Definition: simulationModelSetLoader.h:1139
boost::signals2::signal< void(EntityData *)> signal_visualMappingsModified
Definition: simulationModelSetLoader.h:926
boost::signals2::signal< void()> signal_resetVisuals
Definition: simulationModelSetLoader.h:927
bool hasParentFile()
Definition: simulationModelSetLoader.h:256
bool myIsNew
Definition: simulationModelSetLoader.h:244
CategoryTypes
Definition: simulationModelSetLoader.h:110
EnvironmentContainerSP myEnvironment
Definition: simulationModelSetLoader.h:204
DtEnvironmentSP myOriginal
Definition: simulationModelSetLoader.h:153
bool myLoadingSMSFiles
Definition: simulationModelSetLoader.h:1148
DtSimulationObjectEditorScenarioExplorer * myScenarioExplorer
Definition: simulationModelSetLoader.h:1125
DtModelSet * myFavoritesModelSet
Definition: simulationModelSetLoader.h:1132
EntityData * myIsReplacing
Definition: simulationModelSetLoader.h:247
DtModelSet * myBackupFavoritesModelSet
Definition: simulationModelSetLoader.h:1133
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
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:228
DtEmbarkationInformation * myModifiedEmbarkationInformation
Definition: simulationModelSetLoader.h:240
boost::signals2::signal< void()> signal_preloadSimulationModelSet
Definition: simulationModelSetLoader.h:921
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:1118
static const int DtTemplateKindBase
Definition: simulationModelSetLoader.h:90
QStringList myWarned
Definition: simulationModelSetLoader.h:1087
const DtFilename & parameterFilename() const
Definition: simulationModelSetLoader.h:1215
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:936
DtSimulationObjectEditorComponentSystemDatabase * myOriginalSystemDatabase
Definition: simulationModelSetLoader.h:1089
DtSimulationModelSet * mySimulationModelSet
Definition: simulationModelSetLoader.h:1088
std::vector< DtSubordinateFunctionTable > mySubordinateFunctionTables
Definition: simulationModelSetLoader.h:1173
QString withoutAdditionX
Definition: simulationModelSetLoader.h:1161
std::list< DtObjectType > myOriginalAdditionalMatchTypes
Definition: simulationModelSetLoader.h:220
An ordered key list will allow lookup by entity key type.
Definition: orderedObjectTypeList.h:20
const DtRwForces & allForces() const
Definition: simulationModelSetLoader.h:1220
Definition: targetingControlTable.h:20
DtModelSetEntry myOriginalModelSetEntry
Definition: simulationModelSetLoader.h:233
DtAmmunitionParamsEntry * myModifiedAmmunitionParameters
Definition: simulationModelSetLoader.h:210
Definition: modelSet.h:28
DtObjectType myMatchType
Definition: simulationModelSetLoader.h:216
#define DT_DLL_simulationObjectEditorimpl
This file is used to determine how to build.
Definition: simulationObjectEditorImplDefines.h:32
DtAutoTagInformation myAutoTagInformation
Definition: simulationModelSetLoader.h:1146
DtModelSet * myModelSet
Definition: simulationModelSetLoader.h:1097
const DtSimulationModelSet & simulationModelSet() const
Definition: simulationModelSetLoader.h:1195
QStringList myDefaultOverlayLayers
Definition: simulationModelSetLoader.h:1109
DtDetonationParams * myMasterModeDetonationParameters
Definition: simulationModelSetLoader.h:1117
makVrv::DtDe * myDisplayDe
Definition: simulationModelSetLoader.h:1112

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)