VR-Forces 5.0.2 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)
20 
22 #include <vrfutil/rwForces.h>
28 #include <vrfutil/formationTable.h>
29 #include <vlutil/vlFilename.h>
31 #include <mtl/envValue.h>
32 #include <matrix/3dBoundingVolume.h>
34 #include <vrvUtil/DtUnicode.h>
35 #include <QtCore/QHash>
36 #include <QtGui/QPixmap>
37 #include <QtCore/QObject>
41 
43 
44 #endif
45 
46 class DtEnvList;
54 class QTranslator;
56 class DtRwVisualMetaData;
57 class DtAmmunitionParams;
58 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 
91 static const int DtTemplateKindBase = 400;
92 
94 {
95 public:
96  enum LoadFlags
97  {
98  LoadDataFiles = 0x00000001,
99  LoadParameterFiles = 0x00000002,
100  LoadSystemFiles = 0x00000004,
101  LoadSupportingFiles = 0x00000008,
102  LoadStandardSensorObjects = 0x00000010,
103  LoadTranslationFiles = 0x00000020,
104  LoadVisualFiles = 0x00000040,
105  LoadOrCreateVisualFiles = 0x00000080,
106  LoadAutoTagInformation = 0x00000100,
107  LoadFunctionInformation = 0x00000200,
108  LoadAll = LoadDataFiles | LoadParameterFiles | LoadSystemFiles | LoadSupportingFiles | LoadStandardSensorObjects | LoadTranslationFiles | LoadOrCreateVisualFiles | LoadAutoTagInformation | LoadFunctionInformation
109  };
110 
112  {
113  SystemCategories = 0,
114  EntityCategories = 1
115  };
116 
118  {
119  ParameterStruct() : params(0), isMasterSMS(false) {};
120  ParameterStruct(DtVrfObjectParameters* p, bool b, const DtFilename& f) : params(p), isMasterSMS(b), file(f) {};
121  ParameterStruct(const ParameterStruct& orig) : params(orig.params), isMasterSMS(orig.isMasterSMS), file(orig.file) {};
122 
123  DtVrfObjectParameters* params;
125  DtFilename file;
126  };
127 
128  typedef std::map<DtString, ParameterStruct> ParametersMap;
129 
130  typedef DtAmmunitionManager*(*AmmunitionManagerCreator)();
131 
133  {
134  public:
137 
138  virtual ~EnvironmentContainer();
139 
140  void seedFrom(DtEnvironmentSP env, DtEnvValueSP root);
141 
142  DtEnvironmentSP copyEnvironment(DtEnvironmentSP) const;
143  void reparentEnvironmentChildren(DtEnvList*, DtEnvValueSP root) const;
144 
145  DtEnvValueSP backup();
146  DtEnvValueSP update();
147 
148  void remove(DtEnvValueSP originalNode, DtEnvValueSP modifiedNode);
149  bool isEmpty() const;
150 
151  DtEnvValueSP replace(DtEnvironmentSP env, DtEnvValueSP node, DtEnvValueSP replaceWith);
152  void reparentRoots(DtEnvValueSP templateRoot, DtEnvValueSP newRoot) const;
153 
156  };
157 
158  typedef boost::shared_ptr<EnvironmentContainer> EnvironmentContainerSP;
159 
160  class EntityData : public DtObjectType
161  {
162  public:
163  EntityData();
164  virtual ~EntityData();
165  EntityData(const DtObjectType& objectType, const DtObjectType& matchType = DtObjectType::nullType());
166  EntityData(const EntityData& t);
167 
168  //sets the object type
169  EntityData& operator=(const DtObjectType&);
170 
171  EntityData& operator=(const EntityData&);
172 
173  virtual EntityData* clone() const;
174 
175  //compares to the object type
176  bool operator>(const DtObjectType& rhs) const
177  {
178  if (*this < rhs)
179  {
180  return false;
181  }
182  else
183  {
184  return true;
185  }
186  }
187 
188  //compares to the object type
189  bool operator>(const EntityData& rhs) const
190  {
191  if (*this < rhs)
192  {
193  return false;
194  }
195  else
196  {
197  return true;
198  }
199  }
200 
202  std::string myDataFile;
203 
204  DtEnvValueSP myOriginalDataNode;
206  //this is the environment that includes the parent files (if they exist)
208 
211 
214 
217 
218 
221 
222  std::list<DtObjectType> myAdditionalMatchTypes;
223  std::list<DtObjectType> myOriginalAdditionalMatchTypes;
224 
226 
228  DtEnvValueSP myOriginalObjectNode;
237 
239  DtEnvValueSP myModifiedObjectNode;
247  bool myIsNew;
250 
253 
254  DtFilename myParentFile;
255  DtEnvironmentSP myParentEnvironment; //this is the environment containing only what is inherited
256 
257  std::set<DtString> elementsAddedThisSession;
258  std::set<DtVariableBindingsList> systemsAddedThisSession;
259 
261  {
262  if (myParentFile.isEmpty())
263  {
264  return false;
265  }
266 
267  return true;
268  }
269  };
270 
271  typedef std::map<std::string, EntityData*> ParametersData;
272 
273  typedef std::map<DtArtPartType, DtSimArtPartDescriptor> ArtPartMap;
274 
277 
278  virtual ~DtSimulationModelSetLoader();
279 
280  virtual bool load(const DtSimulationModelSet&, LoadFlags flags = LoadAll);
281  virtual bool save(const DtFilename&);
282 
283  static DtSimulationModelSetLoader& instance(makVrv::DtDe&);
284  static void registerInstance(makVrv::DtDe&, DtSimulationModelSetLoader*);
285 
286  virtual void setDisplayDe(makVrv::DtDe*);
287  virtual makVrv::DtDe& displayDe();
288 
289 private:
292 
293 public:
295  virtual void setLoadVisuals(bool);
296 
298  virtual bool hasFileNamed(const std::string& s) const;
299 
302  virtual bool addNewDataFile(const std::string&);
303 
305  virtual bool addNewSimulationObjectGroup(const std::string&);
306 
308  virtual bool addNewRandomizedObject(const std::string&);
309 
311  virtual bool readOnly() const;
312  virtual void setReadOnly(bool);
313 
315  virtual void setSaveReadOnlyFlag(bool);
316  virtual bool saveReadOnlyFlag() const;
317 
319  virtual bool hasComponentByDescriptorType(const makVrf::DtEntityMapperKey&, const DtString& descriptor) const;
320  virtual bool hasComponentByDescriptorType(const DtFilename&, const DtString& descriptor) const;
321 
323  virtual bool hasComponentByComponentType(const makVrf::DtEntityMapperKey&, const DtString& descriptor) const;
324  virtual bool hasComponentByComponentType(const DtFilename&, const DtString& descriptor) const;
325 
327  virtual bool simulationObjectGroupExists(const std::string&) const;
328 
330  virtual bool randomizedObjectExists(const std::string&) const;
331 
334  virtual DtModelSetEntry* createNewSimulationObjectGroupFromExisting(const DtObjectType& base, const std::string& newName,
335  const DtRwNLengthStringVector& categories = DtRwNLengthStringVector("categories"));
336  virtual DtModelSetEntry* createNewSimulationObjectGroupFromExisting(EntityData* data, const std::string& newName,
337  const DtRwNLengthStringVector& categories = DtRwNLengthStringVector("categories"));
338  virtual DtModelSetEntry* createNewAmmunitionEntryFromExisting(EntityData* data, const std::string& newName, const DtEntityType& newType,
339  const DtRwNLengthStringVector& categories = DtRwNLengthStringVector("categories"), bool replaceName = false);
340 
342  virtual std::string platform(const makVrf::DtEntityMapperKey& k) const;
343 
345  virtual std::string uiFilename(const makVrf::DtEntityMapperKey& k) const;
346 
348  virtual std::string uiFilename(DtComponentSystemDefinition*) const;
349 
351  virtual DtSimulationModelSet* simulationModelSet(const makVrf::DtEntityMapperKey& k) const;
352 
354  {
355  return mySimulationModelSet;
356  }
357 
359  virtual DtSimulationModelSet* simulationModelSet(const DtComponentSystemDefinition*) const;
360  virtual DtSimulationModelSet* simulationModelSet(const DtFilename&) const;
361 
363  virtual std::string platformFileType(const makVrf::DtEntityMapperKey& k) const;
364 
366  virtual std::string platformKey(const makVrf::DtEntityMapperKey& k) const;
367 
369  virtual DtString platformDisplayName(const makVrf::DtEntityMapperKey& k) const;
370 
372  virtual DtString platformDisplayDescription(const makVrf::DtEntityMapperKey& k) const;
373 
375  virtual bool addMissingVariablesFromPlatformsAndSystems(QWidget* parent = 0, bool saveAllIfAnyModified = false);
376  virtual bool addMissingVariablesFromPlatformsAndSystems(EntityData* data, std::map<DtString, DtRwVariableBindings*>&);
377 
380  virtual bool addMissingArticulatedParts(QWidget* parent = 0, bool saveIfModified = false);
381  virtual bool addMissingArticulatedPartsForEntity(EntityData* data);
382  virtual bool addMissingArticulatedPartsForEntity(const DtObjectType& objectType,
383  DtSimArtPartDescriptorList* modifiedParts,
384  ArtPartMap& partsFromModel, ArtPartMap& partsFromSystemDefaults);
385 
387  virtual bool addMissingVariablesAndArticulatedPartsFromPlatformsAndSystems(QWidget* parent = 0, bool saveAllIfAnyModified = false);
388 
390  virtual bool getPartsFromEntityVisualModel(const DtObjectType& objectType, ArtPartMap& partsFromModel);
391 
393  virtual void regenerateOpeFiles();
394 
396  virtual void regenerateSystemFiles();
397 
399  virtual std::vector<DtComponentSystemDefinition*> systemsThatCanBeDamagedBy(const DtString&) const;
400 
403  virtual DtString rangeTypeFromPower(const DtString&) const;
404  virtual void setDefaultRangeTypeForPower(const DtString&, const DtString&);
405  virtual std::vector<DtString> rangesByPowerType(const DtString&) const;
406  virtual void setSupportedRangesByPowerType(const DtString&, const std::vector<DtString>&);
407 
408  virtual std::set<DtString> powerTypes(bool hasHumanActuator) const;
409  virtual void addPowerType(const DtString&, const QString& withoutAddition, const QString& withAddition, bool needForceAdditional = false,
410  const QString& withoutAdditionX = "", const QString& witAdditionX = "", bool humanOnly = false, bool titleOnly = false);
411 
414  virtual QString powerTitle(const DtString&, const QString& addition = "", bool applyAdditionalToAll = false, bool xAxis = false) const;
416 
417  virtual void createSupportedDetonations();
418 
419  DtFilename getSystemDirectory() const;
420  DtFilename getNavDataDirectory() const;
421  DtFilename getFormationDirectory() const;
422  DtFilename getGuiDirectory() const;
423  DtFilename path() const;
424 
426  DtFilename simulationModelSetFilename() const;
427 
428  virtual bool openSystemFiles(DtSimulationModelSet* set, const DtFilename& directory, bool isInMasterSMS);
429 
430  virtual DtString cleanAmmunitionName(const DtString&) const;
431 
432  virtual bool loadForceHostilityFile(const DtFilename& f);
433  virtual bool loadAmmunitionParameters(const DtFilename& f, bool inMasterSMS, DtSimulationModelSet* sms);
434  virtual bool loadDetonationParameters(const DtFilename& f, bool inMasterSMS, DtSimulationModelSet* sms);
435 
436  virtual bool loadDetTerrainDeformParameters(const DtFilename& f, bool inMasterSMS, DtSimulationModelSet* sms);
437 
440  virtual bool loadDataFiles(const DtString&, DtSimulationModelSet*, bool fromMasterSMS, LoadFlags flags = LoadAll);
441 
443  virtual void loadSimulationObjectGroupFiles(const DtString&, DtSimulationModelSet*, bool fromMasterSMS);
444 
446  virtual DtModelSetEntry* reloadSimulationObjectGroup(const DtString&);
447 
449  virtual void loadTemplates(const DtString&, DtSimulationModelSet*);
450 
451  virtual std::vector<DtComponentSystemDefinition*> systemsThatUseAmmunition(const DtString&) const;
452  virtual std::vector<DtComponentSystemDefinition*> systemsThatUseTemplate(const DtFilename&) const;
453 
455  virtual void makeTemplate(EntityData*);
456  virtual void makeTemplate(const DtObjectType&);
457 
459  virtual bool itemContains(const DtVrfSubObjectParameterList&, const DtObjectType&) const;
460 
462  virtual const std::vector<DtString>& iconLists() const;
463  virtual bool hasIconList(const DtString&) const;
464 
466  virtual void addIconList(const DtString&);
467  virtual void removeIconList(const DtString&);
468  virtual void setIconLists(const std::vector<DtString>&);
469  virtual void loadIconLists(const DtFilename&);
470  virtual void saveIconLists(const DtFilename&);
471 
473  virtual bool loadParameterFiles(DtSimulationModelSet* sms, bool inMasterSMS);
474 
476  virtual bool loadModelSet();
477 
480  virtual DtModelSetEntry* modelEntry(const DtObjectType&, bool matchPattern = false) const;
481 
483  virtual DtFilename modelDefinitionFile(const DtObjectType&, bool resolve) const;
484  virtual const makVrv::DtModelDefinition* modelDefinition(const DtObjectType& objectType, std::string& definition) const;
485  virtual std::string diGuyCharacterOMMX() const;
486  virtual std::string diGuyCharacterLeaf() const;
487 
489  virtual DtString simulationModelSetFor(const DtEntityType&) const;
490 
492  virtual DtString simulationModelSetFor(const DtFilename&) const;
493 
495  virtual DtModelSetEntry* createModelSetEntryFrom(DtEnvironmentSP env, DtEnvValueSP objectNode) const;
496  virtual DtModelSetEntry* createModelSetEntryFrom(const DtObjectType&) const;
497  virtual DtModelSetEntry* createModelSetEntryFrom(const DtAmmunitionParamsEntry*) const;
498 
500  virtual bool hasGuiKeyword(const makVrf::DtEntityMapperKey&, const std::string&) const;
501 
503  virtual void revertData(const makVrf::DtEntityMapperKey& key);
504  virtual void revertData(DtComponentSystemDefinition*);
505 
507  virtual DtVrfObjectParameters* objectParameterDataFor(const DtObjectType& o) const;
508 
510  virtual EntityData* dataFor(const DtObjectType&, bool completeLoadIfNecessary = true) const;
511 
513  virtual EntityData* dataFor(DtModelSetEntry*, bool completeLoadIfNecessary = true) const;
514 
517  virtual bool containsObjectType(const DtObjectType&, bool onlyFromMasterSMS = false, DtString* name = 0) const;
518 
520  virtual DtVariableBindingsList allVariableBindingsInSystemsFor(const DtObjectType&) const;
521 
523  virtual bool isSimulationObjectGroup(const DtObjectType&) const;
524 
527  virtual bool hasModelNamed(const DtString&, bool& isDeleted);
528 
529  virtual DtReaderWriter::SearchPaths searchPaths() const;
530  virtual std::vector<DtSimulationModelSet*> modelSets() const;
531 
532  virtual QString ammunitionDisplayName(const DtEntityType&) const;
533 
534  virtual const ParametersMap& availableParameters() const
535  {
536  return myAvailableParameters;
537  }
538 
540  virtual bool hasHumanDamageSystem(const std::vector<DtComponentSystemDefinition*>&) const;
541 
544  virtual bool createRwVariable(const DtObjectType&, const std::string& rwType, const std::string& rwName, DtReaderWriter*& original,
545  DtReaderWriter*& modified);
546 
547  virtual void replaceSystem(const DtFilename&);
548 
549  virtual bool entryIsRandomized(const DtObjectType&) const;
550  virtual bool canAddSubordinatesTo(const DtObjectType&) const;
551 
552  virtual bool isModified(const DtObjectType&) const;
553  virtual bool isModified(EntityData*) const;
554  virtual bool isModified(DtComponentSystemDefinition*) const;
555 
557  virtual bool isModified(const DtFilename&) const;
558 
559  virtual bool isModified() const;
560 
561  virtual bool isNew(const DtObjectType&) const;
562  virtual bool isNew(EntityData*) const;
563 
564  virtual bool isDeleted(const DtObjectType&) const;
565  virtual bool isDeleted(EntityData*) const;
566 
567  virtual bool isDeleted(DtComponentSystemDefinition*) const;
568  virtual bool isDeleted(const DtFilename&) const;
569 
570  virtual bool isNew(DtComponentSystemDefinition*) const;
571  virtual bool isNew(const DtFilename&) const;
572 
573  virtual std::vector<EntityData*> objectsThatUseSystems(const std::vector<DtComponentSystemDefinition*>& rw) const;
574 
575  virtual makVrf::DtVrfEntityTypeMapper& entityTypeMapper(const makVrf::DtEntityMapperKey&);
576  virtual makVrf::DtVrfEntityTypeMapper& aggregateTypeMapper(const makVrf::DtEntityMapperKey&);
577  virtual makVrf::DtVrfEntityTypeMapper& tacticalGraphicsMapper(const makVrf::DtEntityMapperKey&);
578  virtual makVrv::DtElementDefinitionTypeManager& elementDefinitionTypeManager(const makVrf::DtEntityMapperKey&);
579  virtual makVrv::DtModelDefinitionManager& modelDefinitionManager(const makVrf::DtEntityMapperKey&);
580 
581  virtual void saveModelDefinitionManager();
582  virtual void saveVisualElementsFor(makVrv::DtElementDefinitionTypeManager::BuiltInElementTypes, bool andHierarchy = false);
583  virtual makVrf::DtVrfVisualsManager* visualsManager();
584 
585  virtual makVrf::DtVrfEntityTypeMapper& defaultEntityTypeMapper();
586  virtual makVrf::DtVrfEntityTypeMapper& defaultAggregateTypeMapper();
587  virtual makVrf::DtVrfEntityTypeMapper& defaultTacticalGraphicsMapper();
588  virtual makVrv::DtElementDefinitionTypeManager& defaultElementDefinitionTypeManager();
589  virtual makVrv::DtModelDefinitionManager& defaultModelDefinitionManager();
590 
591  virtual makVrv::DtEntityTypeMapper* systemEntityTypeMapper();
592  virtual makVrv::DtEntityTypeMapper* systemAggregateTypeMapper();
593  virtual makVrv::DtEntityTypeMapper* systemTacticalGraphicsMapper();
594  virtual makVrv::DtElementDefinitionTypeManager& systemElementDefinitionTypeManager();
595  virtual makVrv::DtModelDefinitionManager& systemModelDefinitionManager();
596 
597  virtual void createSpotReportDefinitionFor(const makVrf::DtEntityMapperKey&);
598  virtual void updateVisualsFor(const makVrf::DtEntityMapperKey&);
599  virtual void removeVisualsFor(const makVrf::DtEntityMapperKey&);
600  virtual void removeElementDefinition(const makVrf::DtEntityMapperKey&);
601 
603  virtual void deleteModel(DtModelSetEntry*);
604  virtual void deleteModel(const DtObjectType&);
605  virtual void deleteModel(EntityData*);
606 
607  virtual void deleteSystem(const DtComponentSystemDefinition*);
608  virtual void deleteSystem(const DtFilename&);
609 
611  virtual bool deleteSystemFromModelSet(const DtComponentSystemDefinition*);
612 
614  virtual bool changeObjectType(const DtObjectType& oldType, const DtObjectType& newType);
615 
617  virtual bool changeMatchType(const DtObjectType& oldType, const DtObjectType& newType);
618 
619  virtual bool setAdditionalMatchTypes(const DtObjectType& key, const std::list<DtObjectType> additionalMatchTypes);
620 
624  virtual std::vector<DtString> updateGuiInformation(EntityData*, DtEnvValueSP = DtEnvValueSP());
625 
627  virtual void updateSystemData(EntityData*);
628 
630  virtual void sharedSystems(const DtFilename& systemFile, std::vector<DtModelSetEntry*>& result) const;
631 
633  virtual void updateDataInformation(EntityData*);
634 
637  virtual DtEnvironmentSP resolveParentData(EntityData*);
638 
640  virtual void convertRegistryToEnvironment(const DtReaderWriterRegistry& data, DtEnvironmentSP env, DtEnvValueSP objectNode) const;
641 
643  virtual void removeSystem(DtEnvironmentSP env, const DtString& system, DtEnvValueSP objectNode);
644 
646  virtual void addSystem(DtEnvironmentSP env, const DtRwVariableBindings*, DtEnvValueSP objectNode);
647 
648  virtual const QStringList& masterModeCategories(CategoryTypes) const;
649  virtual QStringList& masterModeCategories(CategoryTypes);
650  virtual QStringList defaultCategoriesAsStringList(CategoryTypes) const;
651 
652  DtSimulationObjectCategoryInformation& defaultCategories(CategoryTypes);
653  const DtSimulationObjectCategoryInformation& defaultCategories(CategoryTypes) const;
654 
655  DtSimulationObjectCategoryInformation& nonMasterModeCategories(CategoryTypes);
656  const DtSimulationObjectCategoryInformation& nonMasterModeCategories(CategoryTypes) const;
657 
658  virtual void loadAutoTagInformation();
659 
660  DtAutoTagInformation& autoTagInformation();
661  const DtAutoTagInformation& autoTagInformation() const;
662 
663  virtual int getFileCount(const DtSimulationModelSet&) const;
664 
665  virtual void setDefaultCategories(const DtSimulationObjectCategoryInformation&, const QStringList& masterMode, CategoryTypes);
666  virtual void revertCategories(CategoryTypes);
667  virtual bool hasModifiedCategories(CategoryTypes) const;
668  virtual bool saveDefaultCategories(const DtFilename&, CategoryTypes);
669  virtual bool loadDefaultCategories(const DtFilename&, CategoryTypes);
670 
671  void setDefaultOverlayLayers(const QStringList&);
672  const QStringList& defaultOverlayLayers() const;
673  virtual void revertOverlayLayers();
674  virtual bool hasModifiedOverlayLayers() const;
675  virtual void changeDefaultOverlayLayer(const QString& old, const QString& newCat);
676  virtual void addDefaultOverlayLayers(QComboBox*);
677  void addDefaultOverlayLayer(const QString&);
678 
679  virtual DtRwForces favoritesFor(const DtModelSetEntry*) const;
680  virtual DtRwForces backupFavoritesFor(const DtModelSetEntry*) const;
681  virtual void setFavoritesFor(DtModelSetEntry*, const DtRwForces&);
682 
683  virtual void changeDefaultDeployedCountry(const QString& old, const QString& newCat);
684  void setDefaultDeployedCountries(const QStringList&);
685  void addDefaultDeployedCountry(const QString&);
686  const QStringList& defaultDeployedCountries() const;
687  virtual void revertDeployedCountries();
688  virtual bool hasModifiedDeployedCountries() const;
689 
691  virtual void resetVisuals();
692 
694  virtual DtRwVariableBindings* createVariableBindingsForSystem(const DtFilename&, const DtString& newSystemName);
695 
697  virtual std::map<std::string, DtEntityType> templatesForKind(int) const;
698  virtual std::map<std::string, DtEntityType> templatesThatMatch(const DtEntityType&) const;
699 
702  virtual DtModelSetEntry* addNewEntity(const DtObjectType& base, const DtObjectType& newType, const DtString& name,
703  const DtRwNLengthStringVector& categories, const DtString& uniqueID, const makVrv::DtUnicode& elementDefinition = makVrv::DtUnicode::fromAscii(""),
704  bool replaceAmmoName = false);
705 
708  virtual DtModelSetEntry* addNewEntity(const std::string& platformType, const DtObjectType& newType, const DtString& name,
709  const DtRwNLengthStringVector& categories, const DtString& uniqueID, const makVrv::DtUnicode& elementDefinition = makVrv::DtUnicode::fromAscii(""));
710 
712  virtual DtModelSetEntry* addNewEntity(EntityData* baseData, const DtObjectType& newType, const DtString& name,
713  const DtRwNLengthStringVector& categories, const DtString& uniqueID, const makVrv::DtUnicode& elementDefinition = makVrv::DtUnicode::fromAscii(""),
714  bool replaceAmmoName = false);
715 
716  virtual DtModelSetEntry* addNewInheritingEntity(const DtObjectType& parent, const DtObjectType& type, const DtString& name);
717 
719  virtual void addGuiInfo(EntityData*, DtModelSetEntry*, const DtString& name, const DtObjectType&,
720  const DtRwNLengthStringVector& categories, const DtString uniqueId);
721 
723  virtual void removeSystem(const DtFilename&);
724 
725  virtual const DtRwVariableBindings* variableBindings() const;
726 
727  virtual QPixmap getIcon(const makVrf::DtEntityMapperKey& key, int pointSize = 48,
728  bool sizeToFont = false);
729 
730  virtual QPixmap getUnfilledIcon(const makVrf::DtEntityMapperKey& key, const QColor& outlineColor = Qt::black, const QColor& fillColor = Qt::transparent, int pointSize = 48,
731  bool sizeToFont = false);
732 
733  virtual void clearIcons(const makVrf::DtEntityMapperKey& key);
734 
735  static DtSimulationModelSetLoader* create(makVrv::DtDe*);
736 
738  virtual void changeSubordinateTypes(const DtObjectType& oldType, const DtObjectType& newType);
739 
740  virtual void checkParameterUpdates(EntityData*);
741  virtual void checkParameterUpdates(const std::set<makVrf::DtEntityMapperKey>&);
742 
744  virtual makVrv::DtUnicode elementDefinitionFor(const DtEntityType&);
745 
747  virtual DtVrfSubObjectParameterList subordinateObjectsFor(const DtObjectType&) const;
748  virtual DtVrfSubObjectParameterList subordinateObjectsFor(DtEnvironmentSP, DtEnvValueSP objectNode) const;
749 
751  virtual void updateSubordinateObjects(const DtObjectType&, const DtVrfSubObjectParameterList&);
752  virtual void updateSubordinateObjects(DtEnvironmentSP, DtEnvValueSP objectNode, const DtVrfSubObjectParameterList&);
753 
755  virtual void updateFormationTable(const DtObjectType&, const DtFormationTable&);
756 
758  virtual DtEmbarkationInformation embarkationInformationFor(const DtObjectType&) const;
759  virtual DtEmbarkationInformation embarkationInformationFor(DtEnvironmentSP, DtEnvValueSP objectNode) const;
760 
762  virtual void updateEmbarkationInformation(const DtObjectType&, const DtEmbarkationInformation&);
763  virtual void updateEmbarkationInformation(DtEnvironmentSP, DtEnvValueSP objectNode, const DtEmbarkationInformation&);
764 
766  virtual DtDiGuyInformation diGuyInformationFor(const DtObjectType&) const;
767 
769  virtual void updateDiGuyInformation(const DtObjectType&, const DtDiGuyInformation&);
770 
772  virtual DtSensorSignatureInformation sensorSignatureInformationFor(const DtObjectType&) const;
773  virtual DtSensorSignatureInformation sensorSignatureInformationFor(DtEnvironmentSP, DtEnvValueSP root) const;
774 
776  virtual void updateSensorSignatureInformation(const DtObjectType&, const DtSensorSignatureInformation&);
777  virtual void updateSensorSignatureInformation(DtEnvironmentSP, DtEnvValueSP root, const DtSensorSignatureInformation&);
778 
780  virtual DtFormationTable* formationTableFor(const DtObjectType&);
781  virtual DtFormationTable* originalFormationTableFor(const DtObjectType&);
782 
784  virtual Dt3dBoundingVolume boundingVolumeFor(const DtObjectType&) const;
785 
787  virtual bool isAggregate(const DtObjectType&) const;
788 
789  bool loaded() const
790  {
791  return myLoaded;
792  }
793 
795  {
796  return myEntityData;
797  }
798 
799  virtual bool isTemplate(const DtObjectType&) const;
800  virtual bool templateExists(const DtObjectType&) const;
801 
802  virtual void setForceManagerModified(bool);
803  virtual bool forceManagerModified() const;
804 
805  virtual DtFilename modelDefinitionsPath();
806 
807  virtual bool upgradeCountriesToCountryCodes(EntityData*);
808 
809  virtual bool isInMasterSMS(const DtObjectType&) const;
810  virtual bool isInMasterSMS(const DtFilename&) const;
811  virtual bool isInMasterSMS(const DtComponentSystemDefinition*) const;
812 
813  virtual DtString smsName(const DtObjectType&) const;
814  virtual DtString smsName(const DtFilename&) const;
815  virtual DtString smsName(const DtComponentSystemDefinition*) const;
816 
817  virtual const DtComponentSystemDefinition* originalSystemDefinitionFor(const DtComponentSystemDefinition*) const;
818  virtual const DtComponentSystemDefinition* originalSystemDefinitionFor(const DtFilename&) const;
819 
821  virtual bool saveData();
822  virtual bool saveData(EntityData* data, bool force = false);
823 
825  virtual bool saveFavorites();
826 
828  virtual bool saveSystems();
829 
831  virtual bool saveAmmunitionTable();
832 
834  virtual bool saveDetonationTable();
835 
836  virtual bool saveDetonationTerrainDeformationTable();
837 
839  virtual DtObjectType templateObjectType(const std::string& parameterType) const;
840 
842  virtual void addInternalItem(const std::string&, bool markDataAsWell = true);
843 
845  virtual void addIgnorePlatformType(const DtString&);
846 
849  virtual QString parameterDisplayName(const DtString& parameterType, bool stopAtFirst = true) const;
850 
852  virtual std::map<DtString, QString> availableParameterTypes(const std::set<std::string>& except = std::set<std::string>()) const;
853 
856  virtual std::vector<DtReaderWriter*> supportPointsFor(const DtObjectType&) const;
857 
859  virtual DtObjectType uniqueEntityTypeFrom(const DtObjectType&, bool onlyFromMasterSMS = false) const;
860 
862  virtual makVrv::DtUnicode systemNameForSystem(const std::string&, DtFilename& fullFilename) const;
863 
865  virtual bool hasFactoryChecksums() const;
866 
868  virtual const DtSmsChecksum& factoryChecksums() const;
869 
871  virtual DtRwVisualMetaData* addOrUpdateVisualMetaData(const DtEntityType&);
872 
874  virtual DtComponentSystemDefinition* duplicateSystem(const DtComponentSystemDefinition* base, const DtString& systemName, const DtFilename& systemFilename);
875 
877  virtual DtComponentSystemDefinition* createFromTemplate(const DtString& systemName, const DtFilename& systemFilename, const DtComponentSystemDefinition* systemTemplate);
878  virtual DtFilename filenameToSystemFilename(DtFilename systemFilename) const;
879 
882  virtual void promoteSystem(DtComponentSystemDefinition*);
883 
885  virtual std::map<DtSymbolString, DtAmmunitionParamsEntry*> ammunitionTable() const;
886 
888  virtual DtAmmunitionParamsEntry* addAmmunition(const DtString& name, const DtString& label, const DtObjectType& munitionType);
889 
891  virtual DtAmmunitionParamsEntry* ammunitionEntry(const DtSymbolString&) const;
892  virtual DtAmmunitionParamsEntry* ammunitionEntry(const DtObjectType&) const;
893 
895  virtual DtMunitionDetonationPowerEntry* detonationPowerEntry(const DtObjectType&) const;
896 
897  virtual std::set<DtEntityType> detonationTypes() const;
898  virtual DtMunitionDetonationPowerEntry* duplicatePowerEntry(const DtObjectType&, const DtEntityType&);
899 
901  virtual std::vector<DtTargetingControlTable*> getTargetingControlTables(const makVrf::DtEntityMapperKey&) const;
902 
904  virtual std::map<DtComponentSystemDefinition*, const DtRangeProbabilityTable*> getSystemsAndHitTables() const;
905 
907  typedef std::map<const DtComponentSystemDefinition*, std::pair<const DtTargetingControlTable*,
909  virtual TargetingControlAndRangeTables getTargetingControlAndRangeTables(const makVrf::DtEntityMapperKey&) const;
910  virtual void findAllTargetingControlAndRangeTables(const DtString&, TargetingControlAndRangeTables&) const;
911 
913  virtual DtRwDamageByMunitionPowerMap* damageTableFor(const makVrf::DtEntityMapperKey&, DtComponentSystemDefinition** system = 0) const;
914 
915  virtual QString translatedSystemName(const DtComponentSystemDefinition* definition) const;
916  virtual QString translatedSystemDescription(const DtComponentSystemDefinition* definition) const;
917 
919  virtual DtObjectType ammunitionType(const DtSymbolString&) const;
920 
922  virtual QString ammunitionDisplayName(const DtSymbolString&) const;
923  virtual void setAmmoEntryIfNecessary(EntityData* data, const DtAmmunitionParamsEntry* templateEntry = 0);
924 
926  virtual bool ammunitionCanTarget(const DtSymbolString&, const DtEntityType&) const;
927 
928  void setNeedsPruning(bool b) { myNeedsPruning = b; };
929  bool needsPruning() const
930  {
931  return myNeedsPruning;
932  }
933 
934  boost::signals2::signal<void()> signal_preloadSimulationModelSet;
935  boost::signals2::signal<void()> signal_simulationModelSetLoaded;
936  boost::signals2::signal<void(std::vector<EntityData*>)> signal_newDataFileAdded;
937  boost::signals2::signal<void(EntityData*)> signal_entityEntryAboutToBeRemoved;
938  boost::signals2::signal<void(EntityData*)> signal_entityEntryAdded;
939  boost::signals2::signal<void(EntityData*)> signal_visualMappingsModified;
940  boost::signals2::signal<void()> signal_resetVisuals;
941  boost::signals2::signal<void(bool)> signal_readOnlyChanged;
942  boost::signals2::signal<void(DtComponentSystemDefinition*)> signal_systemEntryAdded;
943  boost::signals2::signal<void(const DtFilename&)> signal_systemRemoved;
944  boost::signals2::signal<void(DtComponentSystemDefinition*)> signal_systemAboutToBeRemoved;
945  boost::signals2::signal<void(const DtObjectType&, const DtObjectType&)> signal_objectTypeAboutToBeChanged;
946  boost::signals2::signal<void(const DtObjectType&, const DtObjectType&)> signal_objectTypeChanged;
947 
949  boost::signals2::signal<void(makVrv::DtDe*)> signal_displayDeSet;
950 
951 public:
952  const DtModelSet* modelSet() const;
953  DtModelSet* modelSet();
954 
955  virtual makVrf::DtVrfGuiForceManager* forceManager();
956 
957  const DtSimulationModelSet& simulationModelSet() const;
958  bool hasSimulationModelSet() const;
959  DtSimulationModelSet& simulationModelSet();
960  const DtFilename& parameterFilename() const;
961  const DtSimulationObjectEditorComponentSystemDatabase* originalSystemDatabase() const;
962  const DtSimulationObjectEditorComponentSystemDatabase* modifiedSystemDatabase() const;
963  const DtSimulationObjectEditorComponentSystemDatabase* templateSystemDatabase() const;
964  DtSimulationObjectEditorComponentSystemDatabase* modifiedSystemDatabase();
965  DtFilename modelSetDirectory() const;
966 
967  virtual void forceRemoved(DtForceType forceType);
968 
969  const DtRwForces& allForces() const;
970 
971  virtual std::vector<const DtComponentSystemDefinition*> systemDefinitionsFor(const DtObjectType& o) const;
972  virtual std::vector<const DtComponentSystemDefinition*> systemDefinitionsFor(const DtObjectType& o, const DtString& category) const;
973 
974  virtual const DtReaderWriter* findVariable(const DtVariableBindingsList&, const DtString&) const;
975  virtual const DtReaderWriter* findOriginalVariable(const makVrf::DtEntityMapperKey& emk, const DtString&) const;
976  virtual const DtReaderWriter* findModifiedVariable(const makVrf::DtEntityMapperKey& emk, const DtString&) const;
977  virtual DtReaderWriter* findVariable(const DtVariableBindingsList&, const DtString&);
978  virtual DtReaderWriter* findOriginalVariable(const makVrf::DtEntityMapperKey& emk, const DtString&);
979  virtual DtReaderWriter* findModifiedVariable(const makVrf::DtEntityMapperKey& emk, const DtString&);
980  virtual const DtReaderWriter* variableFromAnyPlatform(const DtString& varName) const;
981 
982  virtual void addModifiedVariable(const makVrf::DtEntityMapperKey& emk, DtReaderWriter* rw);
983 
984  virtual DtVrfObjectParameters* platformParameters(const makVrf::DtEntityMapperKey& key) const;
985 
986  virtual const DtStandardSensorObjects& standardSensorObjects() const;
987  virtual DtStandardSensorObjects& standardSensorObjects();
988  virtual bool processModelSet(DtSimulationModelSet*, LoadFlags flags = LoadAll, bool isMasterSMS = false);
989 
990  virtual std::vector<EntityData*> addDataFromFile(const DtString& file,
991  DtSimulationModelSet* set, bool isMasterSMS,
992  bool signalAddition = true, bool isTemplate= false, LoadFlags flags = LoadAll);
993 
994  virtual DtVariableBindingsList* copyBindingsList(const DtVariableBindingsList* orig) const;
995 
999  virtual void getSubordinateFunctions(DtSubordinateFunctionTable& functions) const;
1000 
1004  virtual const std::vector<DtSubordinateFunctionTable>& subordinateFunctionTables() const;
1005  virtual std::vector<DtSubordinateFunctionTable>& subordinateFunctionTables();
1007 
1008 protected:
1009  virtual EntityData* completeDataIfNecessary(EntityData* data);
1010 
1011  virtual void replaceVariableNamesWithUpdatedVariableNames(DtRwVariableBindings*, const DtComponentSystemDefinition*);
1012 
1016  virtual void markInternalItemsAsReadOnly(DtVariableBindingsList*);
1017 
1018  virtual const DtReaderWriter* findVariable(const DtString& var, const DtReaderWriter* rw) const;
1019 
1020  virtual void loadSystemFilesFromDirectory(const QString& directoryName, const DtVariableBindingsList& variableBindings, DtSimulationModelSet*, bool isInMasterSMS,
1021  bool loadTemplates = false);
1022 
1023  virtual void addVariableReferences(DtReaderWriter* source, DtRwVariableBindings* toBindings) const;
1024 
1025  virtual void cleanup();
1026  virtual bool ignorePlatformType(const DtString&) const;
1027 
1028  virtual bool saveForceHostility(const DtFilename& filename);
1029 
1030  virtual bool warned(const DtFilename&);
1031  virtual void removeEntityFromSubObjects(const DtObjectType&);
1032 
1033  virtual void mergeFavoritesIntoModelSet(DtModelSet* favorites, DtModelSet* set);
1034 
1035  virtual void setupParametersForDataFiles(std::vector<EntityData*>&, DtSimulationModelSet* set);
1036 
1037  virtual EntityData* createParameterDataFrom(DtVrfObjectParameters*) const;
1038 
1040  virtual bool updateFromPlatform(EntityData* data, const DtReaderWriter* oldRegData, DtEnvironmentSP env, DtEnvValueSP objectNode) const;
1041 
1043  virtual bool traverseRwObject(const DtReaderWriter* rwObject, DtEnvironmentSP env, DtEnvValueSP objectNode) const;
1044  virtual void addElementFromSystemBinding(DtEnvironmentSP env,
1045  DtEnvValueSP parentElement, DtSystemParameterData* paramData) const;
1046 
1047  virtual DtFormationTable* formationTableFor(DtEnvironmentSP, DtEnvValueSP objectNode) const;
1048 
1050  virtual void updateFormationTable(DtEnvironmentSP, DtEnvValueSP objectNode, const DtFormationTable&);
1051 
1052  virtual DtModelSetEntry* addModelSetEntryFromEnvironment(DtEnvironmentSP, DtEnvValueSP node);
1053  virtual DtModelSetEntry* addModelSetEntryFromSimulationObjectGroup(EntityData*);
1054 
1055 public:
1056  virtual void addToInternalCategories(DtModelSetEntry* entry, bool isInMasterSMS);
1057 
1058 protected:
1059  virtual void addToInternalCategories(const DtComponentSystemDefinition* entry, bool isInMasterSMS);
1060 
1061  virtual void addEntityDataEntry(EntityData*, bool signal = true);
1062  virtual void removeEntityDataEntry(EntityData*, bool signal = true, bool removeFromVisualsToo = true);
1063 
1065  virtual ParametersMap::const_iterator findAvailablePlatform(const DtString& platform) const;
1066  virtual ParametersData::const_iterator findAvailableParameter(const DtString& platform) const;
1067  virtual ParametersData::const_iterator findAvailableParameterFromFile(const DtFilename& platform) const;
1068  virtual ParametersData::const_iterator findAvailableParameterType(const DtString& parameterType) const;
1069 
1071  virtual void swapCurrentEntry(EntityData*, DtModelSetEntry*);
1072 
1074  virtual DtString filenameFromEntityName(const DtString& name) const;
1075 
1077  virtual DtString uniqueEntityFilename(const DtString& name) const;
1078 
1080  virtual void loadVisuals(DtSimulationModelSet*, bool createIfDoesNotExist = false);
1081 
1083  virtual bool updateAndAddMatchTypeVisuals(EntityData* baseType, const DtEntityType& matchType);
1084 
1086  virtual bool removeMatchingTypeFromVisuals(const DtEntityType& matchType);
1087 
1088  virtual void finalizeCategoryInformationFor(const DtSimulationModelSet& sms, CategoryTypes type = EntityCategories);
1089 
1090  virtual DtFilename categoryFilename(const DtSimulationModelSet& sms, CategoryTypes type = EntityCategories) const;
1091 
1092  static DtAmmunitionManager* createAmmunitionManager();
1093  static void setAmmunitionManagerCreator(AmmunitionManagerCreator creator);
1094 
1095  virtual void convertAmmunitionToEntityData(DtAmmunitionParams*, bool inMasterSMS, DtSimulationModelSet* sms);
1096  virtual DtAmmunitionParams* createAmmunitionParameters() const;
1097  virtual DtDetonationParams* createDetonationParameters() const;
1098 
1099  virtual DtTerrainDeformationParams* createDetonationTerrainDeformationParams() const;
1100 
1101  virtual void getPartsFromModel(const DtObjectType& objectType, std::list<DtSimArtPartDescriptor>& artParts);
1102  virtual void parsePowerTypes();
1103 
1104 protected:
1105 
1107 
1108  QStringList myWarned;
1113 
1114  typedef std::map<DtFilename, bool> SystemIsInMasterSMSMap;
1116 
1120 
1121  typedef std::map<int, DtSimulationObjectCategoryInformation> CategoriesMap;
1125 
1126  typedef std::map<int, QStringList> StringCategoriesMap;
1133  bool myLoaded;
1136 
1139 
1142 
1144 
1146 
1149 
1150  std::set<std::string> myInternalItems;
1151  std::set<DtString> myIgnorePlatformType;
1154 
1155  typedef std::map<DtModelSetEntry*, EntityData*> EntityDataByEntry;
1157 
1158  std::vector<QTranslator*> myTranslators;
1160 
1162 
1163  std::map<DtString, int> myMatchingVisualTypes;
1165 
1169 
1171 
1174 
1175  mutable std::string myDiGuyCharacterOMMX;
1176  mutable std::string myDiGuyCharacterLeaf;
1177 
1178  std::map<DtString, DtString> myDefaultRangeForPowerType;
1179  std::map<DtString, std::vector<DtString> > mySupportedRangesByPowerType;
1180 
1181  struct PowerTitle
1182  {
1184  QString withAdditionX;
1186  QString withAdditionY;
1190  };
1191 
1192  std::vector<DtString> myIconLists;
1193  std::vector<DtString> myOriginalIconLists;
1194  std::map<DtString, PowerTitle> myPowerTypes;
1195  std::vector<DtSubordinateFunctionTable> mySubordinateFunctionTables;
1197 
1198  static AmmunitionManagerCreator theAmmunitionManagerCreator;
1199 };
1200 
1202 {
1204  {
1205  return mySimulationModelSet->filename();
1206  }
1207  else
1208  {
1209  return "";
1210  }
1211 }
1212 
1214 {
1215  return (mySimulationModelSet != 0);
1216 }
1217 
1219 {
1220  return *mySimulationModelSet;
1221 }
1222 
1224 {
1225  return *mySimulationModelSet;
1226 }
1227 
1229 {
1230  return myModelSet;
1231 }
1232 
1234 {
1235  return myModelSet;
1236 }
1237 
1238 inline const DtFilename& DtSimulationModelSetLoader::parameterFilename() const
1239 {
1240  return myParameterFilename;
1241 }
1242 
1244 {
1245  return myAllForces;
1246 }
1247 
1249 {
1250  return myAutoTagInformation;
1251 }
1252 
1254 {
1255  return myAutoTagInformation;
1256 }
1257 
1259 {
1260  CategoriesMap::const_iterator iter = myDefaultCategories.find(type);
1261 
1262  return iter->second;
1263 }
1264 
1266 {
1267  return myDefaultCategories[type];
1268 }
1269 
1271 {
1272  CategoriesMap::const_iterator iter = myNonMasterModeCategories.find(type);
1273 
1274  return iter->second;
1275 }
1276 
1278 {
1279  return myNonMasterModeCategories[type];
1280 }
1281 
1282 inline const QStringList& DtSimulationModelSetLoader::defaultOverlayLayers() const
1283 {
1284  return myDefaultOverlayLayers;
1285 }
1286 
1288 {
1290 }
1291 
1293 {
1294  myDefaultOverlayLayers.push_back(l);
1295 }
1296 
1298 {
1300 }
1301 
1303 {
1305 }
1306 
1308 {
1309  myDefaultDeployedCountries.push_back(l);
1311 }
1312 
1314 
1316 {
1317  return !(lhs.operator<(rhs));
1318 }
1319 
1321 {
1322 public:
1324 
1326 
1327  virtual void loadAllSmsFiles();
1328 
1329 protected:
1330  virtual void processModelSet(DtSimulationModelSet*);
1331 
1332 protected:
1337 };
std::map< DtModelSetEntry *, EntityData * > EntityDataByEntry
Definition: simulationModelSetLoader.h:1155
Definition: simulationModelSetLoader.h:160
Definition: simulationModelSetLoader.h:1320
Instances of DtVrfObjectParameters are the readable/writeable objects that contain the information ne...
Definition: vrfObjectParameters.h:63
LoadFlags myLoadFlags
Definition: simulationModelSetLoader.h:205
BuiltInElementTypes
These types are all automatically registered when the manager is created. This enum is linked with Dt...
Definition: DtElementDefinitionManager.h:511
std::map< std::string, EntityData * > ParametersData
Definition: simulationModelSetLoader.h:271
std::map< int, QStringList > StringCategoriesMap
Definition: simulationModelSetLoader.h:1126
Definition: simulationModelSetLoader.h:132
Definition: entityMapperKey.h:23
DtRwVariableBindingsList * myOriginalSystems
Definition: simulationModelSetLoader.h:227
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:124
Definition: rwVariableBindingsList.h:16
bool humanOnly
Definition: simulationModelSetLoader.h:1188
DtModelSetEntry * myCurrentModelSetEntry
Definition: simulationModelSetLoader.h:235
Definition: symbolString.h:20
DtVariableBindingsList * myOriginalVariableBindings
Definition: simulationModelSetLoader.h:229
DtRwForces myAllForces
Definition: simulationModelSetLoader.h:1119
Definition: simulationModelSetLoader.h:117
The DtSimulationObjectCategoryInformation class is a class that will read the comma delimited categor...
Definition: simulationObjectCategoryInformation.h:22
int myLastModifiedDate
Definition: simulationModelSetLoader.h:225
bool myIsInMasterSMS
Definition: simulationModelSetLoader.h:201
std::vector< DtString > myIconLists
Definition: simulationModelSetLoader.h:1192
DtSimulationObjectCategoryInformation & nonMasterModeCategories(CategoryTypes)
Definition: simulationModelSetLoader.h:1277
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:242
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:400
std::vector< DtString > myOriginalIconLists
Definition: simulationModelSetLoader.h:1193
std::string myDiGuyCharacterOMMX
Definition: simulationModelSetLoader.h:1175
bool needsForceAddition
Definition: simulationModelSetLoader.h:1187
boost::signals2::signal< void(bool)> signal_readOnlyChanged
Definition: simulationModelSetLoader.h:941
DtTerrainDeformationParams * myMasterModeDetTerrainDeformParameters
Definition: simulationModelSetLoader.h:1140
Readable-writable class holding all parameters to configure the DtDetonationManager.
Definition: detonationParams.h:22
DtEnvironmentSP myModified
Definition: simulationModelSetLoader.h:155
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:946
DtEnvironmentSP myParentEnvironment
Definition: simulationModelSetLoader.h:255
std::vector< QTranslator * > myTranslators
Definition: simulationModelSetLoader.h:1158
boost::signals2::signal< void()> signal_simulationModelSetLoaded
Definition: simulationModelSetLoader.h:935
SystemIsInMasterSMSMap mySystemIsInMasterSMSMap
Definition: simulationModelSetLoader.h:1115
class DtScenarioExplorer:
Definition: scenarioExplorer.h:26
boost::signals2::signal< void(DtComponentSystemDefinition *)> signal_systemEntryAdded
Definition: simulationModelSetLoader.h:942
DT_DLL_readerWriter DtBoost::shared_ptr< DtEnvironment > DtEnvironmentSP
Definition: readerWriter.h:30
DtTerrainDeformationParams * myDetonationTerrainDeformationParameters
Definition: simulationModelSetLoader.h:1141
boost::signals2::signal< void(EntityData *)> signal_entityEntryAdded
Definition: simulationModelSetLoader.h:938
DtDiGuyInformation * myOriginalDiGuyInformation
Definition: simulationModelSetLoader.h:233
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:1112
QString withAdditionX
Definition: simulationModelSetLoader.h:1184
boost::signals2::signal< void(const DtObjectType &, const DtObjectType &)> signal_objectTypeAboutToBeChanged
Definition: simulationModelSetLoader.h:945
virtual const ParametersMap & availableParameters() const
Definition: simulationModelSetLoader.h:534
Definition: readerWriter.h:85
Extends the force manager to add country codes.
Definition: vrfGuiForceManager.h:24
Definition: autoTagInformation.h:19
DtSimulationModelSetLoadProgressWidget * myProgressWidget
Definition: simulationModelSetLoader.h:1106
std::map< DtFilename, bool > SystemIsInMasterSMSMap
Definition: simulationModelSetLoader.h:1114
std::map< DtString, std::vector< DtString > > mySupportedRangesByPowerType
Definition: simulationModelSetLoader.h:1179
DtSimulationModelSet * mySimulationModelSet
Definition: simulationModelSetLoader.h:1334
Definition: readerWriterRegistry.h:39
ParametersData myParametersData
Definition: simulationModelSetLoader.h:1148
DtEnvValueSP myOriginalDataNode
Definition: simulationModelSetLoader.h:204
DtSimulationModelSetLoader * mySimulationModelSetLoader
Definition: simulationModelSetLoader.h:1335
class DtStandardSensorObjects:
Definition: standardSensorObjects.h:23
ParameterStruct(DtVrfObjectParameters *p, bool b, const DtFilename &f)
Definition: simulationModelSetLoader.h:120
std::map< DtString, DtString > myDefaultRangeForPowerType
Definition: simulationModelSetLoader.h:1178
std::string myDataFile
Definition: simulationModelSetLoader.h:202
Definition: smsChecksum.h:15
int myTotalNumberOfEntityFiles
Definition: simulationModelSetLoader.h:1170
std::map< DtString, int > myMatchingVisualTypes
Definition: simulationModelSetLoader.h:1163
DtFilename myParentFile
Definition: simulationModelSetLoader.h:254
bool needsPruning() const
Definition: simulationModelSetLoader.h:929
QString withAdditionY
Definition: simulationModelSetLoader.h:1186
std::map< DtString, PowerTitle > myPowerTypes
Definition: simulationModelSetLoader.h:1194
DtDiGuyInformation * myModifiedDiGuyInformation
Definition: simulationModelSetLoader.h:244
std::map< DtArtPartType, DtSimArtPartDescriptor > ArtPartMap
Definition: simulationModelSetLoader.h:273
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:908
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:1213
bool myIsDeleted
Definition: simulationModelSetLoader.h:248
CategoriesMap myNonMasterModeCategories
Definition: simulationModelSetLoader.h:1123
Description: A model is a set of items that defines a model to create in the back-end from the front-...
Definition: simulationObjectGroupModelSetEntry.h:161
Definition: simulationModelSetLoadProgressWidget.h:23
Definition: objectType.h:27
DtStandardSensorObjects myStandardSensorObjects
Definition: simulationModelSetLoader.h:1134
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:1135
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:1128
DtSmsChecksum myFactorySmsChecksum
Definition: simulationModelSetLoader.h:1172
DtMunitionDetonationPowerEntry * myModifiedPowerTableEntry
Definition: simulationModelSetLoader.h:216
makVrv::DtDe & myDe
Definition: simulationModelSetLoader.h:1333
bool mySaveReadOnlyFlag
Definition: simulationModelSetLoader.h:1173
DtComponentSystemDefinition.
Definition: componentSystemDefinition.h:25
DtEnvValueSP myOriginalObjectNode
Definition: simulationModelSetLoader.h:228
DtAmmunitionParamsEntry * myOriginalAmmunitionParameters
Definition: simulationModelSetLoader.h:212
DtVrfObjectParameters * myParameters
Definition: simulationModelSetLoader.h:246
DtMunitionDetonationPowerEntry * myOriginalPowerTableEntry
Definition: simulationModelSetLoader.h:215
Definition: modelSetEntry.h:34
DtEmbarkationInformation * myOriginalEmbarkationInformation
Definition: simulationModelSetLoader.h:232
boost::signals2::signal< void(DtComponentSystemDefinition *)> signal_systemAboutToBeRemoved
Definition: simulationModelSetLoader.h:944
bool loaded() const
Definition: simulationModelSetLoader.h:789
std::string myDiGuyCharacterLeaf
Definition: simulationModelSetLoader.h:1176
const DtOrderedObjectTypeList< EntityData * > & entityData() const
Definition: simulationModelSetLoader.h:794
DtObjectType myOriginalMatchType
Definition: simulationModelSetLoader.h:220
Contains makVrv::DtVirtualBaseClass class.
The DtVrfVisualsManager class is a class that allows for the loading of visuals (definitions, mappings and model definitions) for a given simulation model set. It will also provide routines to create visual mappings from a model set.
Definition: vrfVisualsManager.h:145
DtRwVariableBindingsList * myModifiedSystems
Definition: simulationModelSetLoader.h:238
Definition: detonationDeformationParams.h:9
CategoriesMap myDefaultCategories
Definition: simulationModelSetLoader.h:1122
static AmmunitionManagerCreator theAmmunitionManagerCreator
Definition: simulationModelSetLoader.h:1198
makVrv::DtDe & myDe
Definition: simulationModelSetLoader.h:1131
Definition: simulationModelSetLoader.h:93
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:176
DtAutoTagInformation & autoTagInformation()
Definition: simulationModelSetLoader.h:1253
void addDefaultDeployedCountry(const QString &)
Definition: simulationModelSetLoader.h:1307
std::list< const DtRwVariableBindings * > DtVariableBindingsList
Definition: readerWriterRegistry.h:29
Definition: simulationModelSetLoader.h:1181
boost::shared_ptr< EnvironmentContainer > EnvironmentContainerSP
Definition: simulationModelSetLoader.h:158
std::set< DtVariableBindingsList > systemsAddedThisSession
Definition: simulationModelSetLoader.h:258
CategoriesMap myOriginalDefaultCategories
Definition: simulationModelSetLoader.h:1124
Readable-writable class holding all parameters to configure the DtAmmunitionManager.
Definition: ammunitionParams.h:20
DtFilename file
Definition: simulationModelSetLoader.h:125
DtSensorSignatureInformation * myOriginalSensorSignatureInformation
Definition: simulationModelSetLoader.h:234
DtFilename myParameterFilename
Definition: simulationModelSetLoader.h:1117
DtFormationTable.
Definition: formationTable.h:23
std::vector< DtFilename > SearchPaths
Definition: readerWriter.h:92
DtSimulationModelSetLoader::LoadFlags myLoadFlags
Definition: simulationModelSetLoader.h:1336
EntityDataByEntry myEntityDataByEntry
Definition: simulationModelSetLoader.h:1156
const QStringList & defaultOverlayLayers() const
Definition: simulationModelSetLoader.h:1282
const DtModelSet * modelSet() const
Definition: simulationModelSetLoader.h:1228
StringCategoriesMap myMasterModeCategories
Definition: simulationModelSetLoader.h:1127
DtFormationTable * myModifiedFormationTable
Definition: simulationModelSetLoader.h:241
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:1164
DtDamageProbabilityTable.
Definition: damageProbabilityTable.h:20
DtOrderedObjectTypeList< EntityData * > myEntityData
Definition: simulationModelSetLoader.h:1143
DtSensorSignatureInformation * myModifiedSensorSignatureInformation
Definition: simulationModelSetLoader.h:245
std::map< int, DtSimulationObjectCategoryInformation > CategoriesMap
Definition: simulationModelSetLoader.h:1121
bool myReadOnly
Definition: simulationModelSetLoader.h:1167
DtFormationTable * myOriginalFormationTable
Definition: simulationModelSetLoader.h:230
DtSimulationModelSet * masterSMS() const
Definition: simulationModelSetLoader.h:353
QStringList myDefaultDeployedCountries
Definition: simulationModelSetLoader.h:1130
bool myLoaded
Definition: simulationModelSetLoader.h:1133
DtFilename simulationModelSetFilename() const
Returns the filename of the current simulation model set file.
Definition: simulationModelSetLoader.h:1201
bool operator>(const DtObjectType &lhs, const DtSimulationModelSetLoader::EntityData &rhs)
Definition: simulationModelSetLoader.h:1315
const char * source
Definition: lz4.h:442
DtMunitionDetonationPowerEntry.
Definition: munitionDetonationPowerEntry.h:19
const QStringList & defaultDeployedCountries() const
Definition: simulationModelSetLoader.h:1297
DtSimulationObjectEditorComponentSystemDatabase * myModifiedSystemDatabase
Definition: simulationModelSetLoader.h:1111
std::set< std::string > myInternalItems
Definition: simulationModelSetLoader.h:1150
std::set< DtString > elementsAddedThisSession
Definition: simulationModelSetLoader.h:257
std::list< DtObjectType > myAdditionalMatchTypes
Definition: simulationModelSetLoader.h:222
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:252
QString withoutAdditionY
Definition: simulationModelSetLoader.h:1185
Description: A readable, writable list of DtForceType.
Definition: rwForces.h:34
std::map< DtString, ParameterStruct > ParametersMap
Definition: simulationModelSetLoader.h:128
void addDefaultOverlayLayer(const QString &)
Definition: simulationModelSetLoader.h:1292
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:209
virtual void processModelSet(DtSimulationModelSet *)
boost::signals2::signal< void(const DtFilename &)> signal_systemRemoved
Definition: simulationModelSetLoader.h:943
DtSimulationObjectCategoryInformation & defaultCategories(CategoryTypes)
Definition: simulationModelSetLoader.h:1265
DtSimulationObjectGroupModelSetEntry * myModifiedSOGData
Definition: simulationModelSetLoader.h:210
bool titleOnly
Definition: simulationModelSetLoader.h:1189
LoadFlags
Definition: simulationModelSetLoader.h:96
void setDefaultOverlayLayers(const QStringList &)
Definition: simulationModelSetLoader.h:1287
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:1151
boost::signals2::signal< void(EntityData *)> signal_entityEntryAboutToBeRemoved
Definition: simulationModelSetLoader.h:937
void setDefaultDeployedCountries(const QStringList &)
Definition: simulationModelSetLoader.h:1302
bool myNeedsPruning
Definition: simulationModelSetLoader.h:1196
vrlink
Definition: subordinateFunctionTable.h:20
ParametersMap myAvailableParameters
Definition: simulationModelSetLoader.h:1147
makVrf::DtVrfVisualsManager * myVrfVisualsManager
Definition: simulationModelSetLoader.h:1161
DtEnvValueSP myModifiedObjectNode
Definition: simulationModelSetLoader.h:239
ParameterStruct()
Definition: simulationModelSetLoader.h:119
Contains the DtDiGuyInformation class declaration.
bool operator>(const EntityData &rhs) const
Definition: simulationModelSetLoader.h:189
DtVariableBindingsList * myModifiedVariableBindings
Definition: simulationModelSetLoader.h:240
bool myForceManagerModified
Definition: simulationModelSetLoader.h:1159
bool myIsModified
Definition: simulationModelSetLoader.h:249
boost::signals2::signal< void(EntityData *)> signal_visualMappingsModified
Definition: simulationModelSetLoader.h:939
boost::signals2::signal< void()> signal_resetVisuals
Definition: simulationModelSetLoader.h:940
bool hasParentFile()
Definition: simulationModelSetLoader.h:260
bool myIsNew
Definition: simulationModelSetLoader.h:247
CategoryTypes
Definition: simulationModelSetLoader.h:111
EnvironmentContainerSP myEnvironment
Definition: simulationModelSetLoader.h:207
DtEnvironmentSP myOriginal
Definition: simulationModelSetLoader.h:154
bool myLoadingSMSFiles
Definition: simulationModelSetLoader.h:1168
DtSimulationObjectEditorScenarioExplorer * myScenarioExplorer
Definition: simulationModelSetLoader.h:1145
DtModelSet * myFavoritesModelSet
Definition: simulationModelSetLoader.h:1152
EntityData * myIsReplacing
Definition: simulationModelSetLoader.h:251
DtModelSet * myBackupFavoritesModelSet
Definition: simulationModelSetLoader.h:1153
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:70
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:231
DtEmbarkationInformation * myModifiedEmbarkationInformation
Definition: simulationModelSetLoader.h:243
boost::signals2::signal< void()> signal_preloadSimulationModelSet
Definition: simulationModelSetLoader.h:934
DtModelSetEntry * myOriginalModelSetEntry
Definition: simulationModelSetLoader.h:236
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:1138
static const int DtTemplateKindBase
Definition: simulationModelSetLoader.h:91
QStringList myWarned
Definition: simulationModelSetLoader.h:1108
const DtFilename & parameterFilename() const
Definition: simulationModelSetLoader.h:1238
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:949
DtSimulationObjectEditorComponentSystemDatabase * myOriginalSystemDatabase
Definition: simulationModelSetLoader.h:1110
DtSimulationModelSet * mySimulationModelSet
Definition: simulationModelSetLoader.h:1109
std::vector< DtSubordinateFunctionTable > mySubordinateFunctionTables
Definition: simulationModelSetLoader.h:1195
QString withoutAdditionX
Definition: simulationModelSetLoader.h:1183
std::list< DtObjectType > myOriginalAdditionalMatchTypes
Definition: simulationModelSetLoader.h:223
An ordered key list will allow lookup by entity key type. All entries added to this list must be a su...
Definition: orderedObjectTypeList.h:20
const DtRwForces & allForces() const
Definition: simulationModelSetLoader.h:1243
Definition: targetingControlTable.h:20
DtAmmunitionParamsEntry * myModifiedAmmunitionParameters
Definition: simulationModelSetLoader.h:213
Definition: modelSet.h:34
DtObjectType myMatchType
Definition: simulationModelSetLoader.h:219
#define DT_DLL_simulationObjectEditorimpl
This file is used to determine how to build.
Definition: simulationObjectEditorImplDefines.h:33
DtAutoTagInformation myAutoTagInformation
Definition: simulationModelSetLoader.h:1166
DtModelSet * myModelSet
Definition: simulationModelSetLoader.h:1118
const DtSimulationModelSet & simulationModelSet() const
Definition: simulationModelSetLoader.h:1218
QStringList myDefaultOverlayLayers
Definition: simulationModelSetLoader.h:1129
void setNeedsPruning(bool b)
Definition: simulationModelSetLoader.h:928
DtDetonationParams * myMasterModeDetonationParameters
Definition: simulationModelSetLoader.h:1137
makVrv::DtDe * myDisplayDe
Definition: simulationModelSetLoader.h:1132

Document ID: Generated on Sun Dec 4 20:22:03 EST 2022 from SVN revision 249613
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)