VR-Forces 4.8 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) 2015 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>
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 #endif
44 
45 class DtEnvList;
53 class QTranslator;
55 class DtRwVisualMetaData;
56 class DtAmmunitionParams;
57 class DtDetonationParams;
64 
65 namespace makVrf
66 {
67  class DtEntityMapperKey;
68  class DtVrfVisualsManager;
69  class DtVrfEntityTypeMapper;
70  class DtVrfGuiForceManager;
71 }
72 
73 namespace makVrv
74 {
75  class DtModelDefinitionManager;
76  class DtEntityTypeMapper;
77 }
78 
79 class DtObjectType;
80 class DtModelSet;
81 class QComboBox;
83 class DtEnvironment;
84 class DtVariableBindingList;
86 
87 static const int DtTemplateKindBase = 400;
88 
90 {
91 public:
92  enum LoadFlags
93  {
94  LoadDataFiles = 0x00000001,
95  LoadParameterFiles = 0x00000002,
96  LoadSystemFiles = 0x00000004,
97  LoadSupportingFiles = 0x00000008,
98  LoadStandardSensorObjects = 0x00000010,
99  LoadTranslationFiles = 0x00000020,
100  LoadVisualFiles = 0x00000040,
101  LoadOrCreateVisualFiles = 0x00000080,
102  LoadAutoTagInformation = 0x00000100,
103  LoadAll = LoadDataFiles | LoadParameterFiles | LoadSystemFiles | LoadSupportingFiles | LoadStandardSensorObjects | LoadTranslationFiles | LoadOrCreateVisualFiles | LoadAutoTagInformation
104  };
105 
107  {
108  SystemCategories = 0,
109  EntityCategories = 1
110  };
111 
113  {
114  ParameterStruct() : params(0), isMasterSMS(false) {};
115  ParameterStruct(DtVrfObjectParameters* p, bool b, const DtFilename& f) : params(p), isMasterSMS(b), file(f) {};
116  ParameterStruct(const ParameterStruct& orig) : params(orig.params), isMasterSMS(orig.isMasterSMS), file(orig.file) {};
117 
118  DtVrfObjectParameters* params;
120  DtFilename file;
121  };
122 
123  typedef std::map<DtString, ParameterStruct> ParametersMap;
124 
125  typedef DtAmmunitionManager*(*AmmunitionManagerCreator)();
126 
128  {
129  public:
132 
133  virtual ~EnvironmentContainer();
134 
135  void seedFrom(DtEnvironmentSP env, DtEnvValueSP root);
136 
137  DtEnvironmentSP copyEnvironment(DtEnvironmentSP) const;
138  void reparentEnvironmentChildren(DtEnvList*, DtEnvValueSP root) const;
139 
140  DtEnvValueSP backup();
141  DtEnvValueSP update();
142 
143  void remove(DtEnvValueSP originalNode, DtEnvValueSP modifiedNode);
144  bool isEmpty() const;
145 
146  DtEnvValueSP replace(DtEnvironmentSP env, DtEnvValueSP node, DtEnvValueSP replaceWith);
147  void reparentRoots(DtEnvValueSP templateRoot, DtEnvValueSP newRoot) const;
148 
151  };
152 
153  typedef boost::shared_ptr<EnvironmentContainer> EnvironmentContainerSP;
154 
155  class EntityData : public DtObjectType
156  {
157  public:
158  EntityData();
159  virtual ~EntityData();
161  EntityData(const EntityData& t);
162 
163  //sets the object type
164  EntityData& operator=(const DtObjectType&);
165 
166  EntityData& operator=(const EntityData&);
167 
168  virtual EntityData* clone() const;
169 
170  //compares to the object type
171  bool operator>(const DtObjectType& rhs) const
172  {
173  if (*this < rhs)
174  {
175  return false;
176  }
177  else
178  {
179  return true;
180  }
181  }
182 
183  //compares to the object type
184  bool operator>(const EntityData& rhs) const
185  {
186  if (*this < rhs)
187  {
188  return false;
189  }
190  else
191  {
192  return true;
193  }
194  }
195 
197  std::string myDataFile;
198 
202 
205 
208 
209 
212 
213  std::list<DtObjectType> myAdditionalMatchTypes;
214  std::list<DtObjectType> myOriginalAdditionalMatchTypes;
215 
217 
219  DtEnvValueSP myOriginalObjectNode;
228 
230  DtEnvValueSP myModifiedObjectNode;
238  bool myIsNew;
240 
243  };
244 
245  typedef std::map<std::string, EntityData*> ParametersData;
246 
247  typedef std::map<DtArtPartType, DtSimArtPartDescriptor> ArtPartMap;
248 
251 
252  virtual ~DtSimulationModelSetLoader();
253 
254  virtual bool load(const DtSimulationModelSet&, LoadFlags flags = LoadAll);
255  virtual bool save(const DtFilename&);
256 
257  static DtSimulationModelSetLoader& instance(makVrv::DtDe&);
258  static void registerInstance(makVrv::DtDe&, DtSimulationModelSetLoader*);
259 
260  virtual void setDisplayDe(makVrv::DtDe*);
261  virtual makVrv::DtDe& displayDe();
262 
263 private:
266 
267 public:
269  virtual void setLoadVisuals(bool);
270 
272  virtual bool hasFileNamed(const std::string& s) const;
273 
276  virtual bool addNewDataFile(const std::string&);
277 
279  virtual bool addNewSimulationObjectGroup(const std::string&);
280 
282  virtual bool addNewRandomizedObject(const std::string&);
283 
285  virtual bool readOnly() const;
286  virtual void setReadOnly(bool);
287 
289  virtual void setSaveReadOnlyFlag(bool);
290  virtual bool saveReadOnlyFlag() const;
291 
293  virtual bool hasComponentByDescriptorType(const makVrf::DtEntityMapperKey&, const DtString& descriptor) const;
294  virtual bool hasComponentByDescriptorType(const DtFilename&, const DtString& descriptor) const;
295 
297  virtual bool hasComponentByComponentType(const makVrf::DtEntityMapperKey&, const DtString& descriptor) const;
298  virtual bool hasComponentByComponentType(const DtFilename&, const DtString& descriptor) const;
299 
301  virtual bool simulationObjectGroupExists(const std::string&) const;
302 
304  virtual bool randomizedObjectExists(const std::string&) const;
305 
306  virtual QImage* warningIcon() const;
307 
310  virtual DtModelSetEntry* createNewSimulationObjectGroupFromExisting(const DtObjectType& base, const std::string& newName,
311  const DtRwNLengthStringVector& categories = DtRwNLengthStringVector("categories"));
312  virtual DtModelSetEntry* createNewSimulationObjectGroupFromExisting(EntityData* data, const std::string& newName,
313  const DtRwNLengthStringVector& categories = DtRwNLengthStringVector("categories"));
314  virtual DtModelSetEntry* createNewAmmunitionEntryFromExisting(EntityData* data, const std::string& newName, const DtEntityType& newType,
315  const DtRwNLengthStringVector& categories = DtRwNLengthStringVector("categories"), bool replaceName = false);
316 
318  virtual std::string platform(const makVrf::DtEntityMapperKey& k) const;
319 
321  virtual std::string uiFilename(const makVrf::DtEntityMapperKey& k) const;
322 
324  virtual std::string uiFilename(DtComponentSystemDefinition*) const;
325 
327  virtual DtSimulationModelSet* simulationModelSet(const makVrf::DtEntityMapperKey& k) const;
328 
330  {
331  return mySimulationModelSet;
332  }
333 
335  virtual DtSimulationModelSet* simulationModelSet(const DtComponentSystemDefinition*) const;
336  virtual DtSimulationModelSet* simulationModelSet(const DtFilename&) const;
337 
339  virtual std::string platformFileType(const makVrf::DtEntityMapperKey& k) const;
340 
342  virtual std::string platformKey(const makVrf::DtEntityMapperKey& k) const;
343 
345  virtual DtString platformDisplayName(const makVrf::DtEntityMapperKey& k) const;
346 
348  virtual DtString platformDisplayDescription(const makVrf::DtEntityMapperKey& k) const;
349 
351  virtual bool addMissingVariablesFromPlatformsAndSystems(QWidget* parent = 0, bool saveAllIfAnyModified = false);
352  virtual bool addMissingVariablesFromPlatformsAndSystems(EntityData* data, std::map<DtString, DtRwVariableBindings*>&);
353 
356  virtual bool addMissingArticulatedParts(bool saveIfModified = false);
357  virtual bool addMissingArticulatedPartsForEntity(EntityData* data);
358  virtual bool addMissingArticulatedPartsForEntity(const DtObjectType& objectType,
359  DtSimArtPartDescriptorList* modifiedParts,
360  ArtPartMap& partsFromModel, ArtPartMap& partsFromSystemDefaults);
361 
363  virtual bool getPartsFromEntityVisualModel(const DtObjectType& objectType, ArtPartMap& partsFromModel);
364 
366  virtual void regenerateOpeFiles();
367 
369  virtual void regenerateSystemFiles();
370 
372  virtual std::vector<DtComponentSystemDefinition*> systemsThatCanBeDamagedBy(const DtString&) const;
373 
376  virtual DtString rangeTypeFromPower(const DtString&) const;
377  virtual void setDefaultRangeTypeForPower(const DtString&, const DtString&);
378  virtual std::vector<DtString> rangesByPowerType(const DtString&) const;
379  virtual void setSupportedRangesByPowerType(const DtString&, const std::vector<DtString>&);
380 
381  virtual std::set<DtString> powerTypes(bool hasHumanActuator) const;
382  virtual void addPowerType(const DtString&, const QString& withoutAddition, const QString& withAddition, bool needForceAdditional = false,
383  const QString& withoutAdditionX = "", const QString& witAdditionX = "", bool humanOnly = false, bool titleOnly = false);
384 
387  virtual QString powerTitle(const DtString&, const QString& addition = "", bool applyAdditionalToAll = false, bool xAxis = false) const;
389 
390  virtual void createSupportedDetonations();
391 
392  DtFilename getSystemDirectory() const;
393  DtFilename getNavDataDirectory() const;
394  DtFilename getFormationDirectory() const;
395  DtFilename getGuiDirectory() const;
396  DtFilename path() const;
397 
399  DtFilename simulationModelSetFilename() const;
400 
401  virtual bool openSystemFiles(DtSimulationModelSet* set, const DtFilename& directory, bool isInMasterSMS);
402 
403  virtual DtString cleanAmmunitionName(const DtString&) const;
404 
405  virtual bool loadForceHostilityFile(const DtFilename& f);
406  virtual bool loadAmmunitionParameters(const DtFilename& f, bool inMasterSMS, DtSimulationModelSet* sms);
407  virtual bool loadDetonationParameters(const DtFilename& f, bool inMasterSMS, DtSimulationModelSet* sms);
408 
409  virtual bool loadDetTerrainDeformParameters(const DtFilename& f, bool inMasterSMS, DtSimulationModelSet* sms);
410 
413  virtual bool loadDataFiles(const DtString&, DtSimulationModelSet*, bool fromMasterSMS, LoadFlags flags = LoadAll);
414 
416  virtual void loadSimulationObjectGroupFiles(const DtString&, DtSimulationModelSet*, bool fromMasterSMS);
417 
419  virtual DtModelSetEntry* reloadSimulationObjectGroup(const DtString&);
420 
422  virtual void loadTemplates(const DtString&, DtSimulationModelSet*);
423 
424  virtual std::vector<DtComponentSystemDefinition*> systemsThatUseAmmunition(const DtString&) const;
425  virtual std::vector<DtComponentSystemDefinition*> systemsThatUseTemplate(const DtFilename&) const;
426 
428  virtual void makeTemplate(EntityData*);
429  virtual void makeTemplate(const DtObjectType&);
430 
432  virtual bool itemContains(const DtVrfSubObjectParameterList&, const DtObjectType&) const;
433 
435  virtual const std::vector<DtString>& iconLists() const;
436  virtual bool hasIconList(const DtString&) const;
437 
439  virtual void addIconList(const DtString&);
440  virtual void removeIconList(const DtString&);
441  virtual void setIconLists(const std::vector<DtString>&);
442  virtual void loadIconLists(const DtFilename&);
443  virtual void saveIconLists(const DtFilename&);
444 
446  virtual bool loadParameterFiles(DtSimulationModelSet* sms, bool inMasterSMS);
447 
449  virtual bool loadModelSet();
450 
453  virtual DtModelSetEntry* modelEntry(const DtObjectType&, bool matchPattern = false) const;
454 
456  virtual DtFilename modelDefinitionFile(const DtObjectType&, bool resolve) const;
457 
459  virtual DtString simulationModelSetFor(const DtEntityType&) const;
460 
462  virtual DtString simulationModelSetFor(const DtFilename&) const;
463 
465  virtual DtModelSetEntry createModelSetEntryFrom(DtEnvironmentSP env, DtEnvValueSP objectNode) const;
466  virtual DtModelSetEntry createModelSetEntryFrom(const DtObjectType&) const;
467  virtual DtModelSetEntry createModelSetEntryFrom(const DtAmmunitionParamsEntry*) const;
468 
470  virtual bool hasGuiKeyword(const makVrf::DtEntityMapperKey&, const std::string&) const;
471 
473  virtual void revertData(const makVrf::DtEntityMapperKey& key);
474  virtual void revertData(DtComponentSystemDefinition*);
475 
477  virtual DtVrfObjectParameters* objectParameterDataFor(const DtObjectType& o) const;
478 
480  virtual EntityData* dataFor(const DtObjectType&) const;
481 
483  virtual EntityData* dataFor(DtModelSetEntry*) const;
484 
487  virtual bool containsObjectType(const DtObjectType&, bool onlyFromMasterSMS = false, DtString* name = 0) const;
488 
490  virtual DtVariableBindingsList allVariableBindingsInSystemsFor(const DtObjectType&) const;
491 
493  virtual bool isSimulationObjectGroup(const DtObjectType&) const;
494 
497  virtual bool hasModelNamed(const DtString&, bool& isDeleted);
498 
499  virtual DtReaderWriter::SearchPaths searchPaths() const;
500  virtual std::vector<DtSimulationModelSet*> modelSets() const;
501 
502  virtual QString ammunitionDisplayName(const DtEntityType&) const;
503 
504  virtual const ParametersMap& availableParameters() const
505  {
506  return myAvailableParameters;
507  }
508 
510  virtual bool hasHumanDamageSystem(const std::vector<DtComponentSystemDefinition*>&) const;
511 
514  virtual bool createRwVariable(const DtObjectType&, const std::string& rwType, const std::string& rwName, DtReaderWriter*& original,
515  DtReaderWriter*& modified);
516 
517  virtual void replaceSystem(const DtFilename&);
518 
519  virtual bool entryIsRandomized(const DtObjectType&) const;
520  virtual bool canAddSubordinatesTo(const DtObjectType&) const;
521 
522  virtual bool isModified(const DtObjectType&) const;
523  virtual bool isModified(EntityData*) const;
524  virtual bool isModified(DtComponentSystemDefinition*) const;
525 
527  virtual bool isModified(const DtFilename&) const;
528 
529  virtual bool isModified() const;
530 
531  virtual bool isNew(const DtObjectType&) const;
532  virtual bool isNew(EntityData*) const;
533 
534  virtual bool isDeleted(const DtObjectType&) const;
535  virtual bool isDeleted(EntityData*) const;
536 
537  virtual bool isDeleted(DtComponentSystemDefinition*) const;
538  virtual bool isDeleted(const DtFilename&) const;
539 
540  virtual bool isNew(DtComponentSystemDefinition*) const;
541  virtual bool isNew(const DtFilename&) const;
542 
543  virtual std::vector<EntityData*> objectsThatUseSystems(const std::vector<DtComponentSystemDefinition*>& rw) const;
544 
545  virtual makVrf::DtVrfEntityTypeMapper& entityTypeMapper(const makVrf::DtEntityMapperKey&);
546  virtual makVrf::DtVrfEntityTypeMapper& aggregateTypeMapper(const makVrf::DtEntityMapperKey&);
547  virtual makVrf::DtVrfEntityTypeMapper& tacticalGraphicsMapper(const makVrf::DtEntityMapperKey&);
548  virtual makVrv::DtElementDefinitionTypeManager& elementDefinitionTypeManager(const makVrf::DtEntityMapperKey&);
549  virtual makVrv::DtModelDefinitionManager& modelDefinitionManager(const makVrf::DtEntityMapperKey&);
550 
551  virtual void saveModelDefinitionManager();
552  virtual void saveVisualElementsFor(makVrv::DtElementDefinitionTypeManager::BuiltInElementTypes);
553  virtual makVrf::DtVrfVisualsManager* visualsManager();
554 
555  virtual makVrf::DtVrfEntityTypeMapper& defaultEntityTypeMapper();
556  virtual makVrf::DtVrfEntityTypeMapper& defaultAggregateTypeMapper();
557  virtual makVrf::DtVrfEntityTypeMapper& defaultTacticalGraphicsMapper();
558  virtual makVrv::DtElementDefinitionTypeManager& defaultElementDefinitionTypeManager();
559  virtual makVrv::DtModelDefinitionManager& defaultModelDefinitionManager();
560 
561  virtual makVrv::DtEntityTypeMapper* systemEntityTypeMapper();
562  virtual makVrv::DtEntityTypeMapper* systemAggregateTypeMapper();
563  virtual makVrv::DtEntityTypeMapper* systemTacticalGraphicsMapper();
564  virtual makVrv::DtElementDefinitionTypeManager& systemElementDefinitionTypeManager();
565  virtual makVrv::DtModelDefinitionManager& systemModelDefinitionManager();
566 
567  virtual void createSpotReportDefinitionFor(const makVrf::DtEntityMapperKey&);
568  virtual void updateVisualsFor(const makVrf::DtEntityMapperKey&);
569  virtual void removeVisualsFor(const makVrf::DtEntityMapperKey&);
570  virtual void removeElementDefinition(const makVrf::DtEntityMapperKey&);
571 
573  virtual void deleteModel(DtModelSetEntry*);
574  virtual void deleteModel(const DtObjectType&);
575  virtual void deleteModel(EntityData*);
576 
577  virtual void deleteSystem(const DtComponentSystemDefinition*);
578  virtual void deleteSystem(const DtFilename&);
579 
581  virtual bool deleteSystemFromModelSet(const DtComponentSystemDefinition*);
582 
584  virtual bool changeObjectType(const DtObjectType& oldType, const DtObjectType& newType);
585 
587  virtual bool changeMatchType(const DtObjectType& oldType, const DtObjectType& newType);
588 
589  virtual bool setAdditionalMatchTypes(const DtObjectType& key, const std::list<DtObjectType> additionalMatchTypes);
590 
593  virtual void updateGuiInformation(EntityData*);
594 
596  virtual void updateSystemData(EntityData*);
597 
599  virtual void sharedSystems(const DtFilename& systemFile, std::vector<DtModelSetEntry*>& result) const;
600 
602  virtual void updateDataInformation(EntityData*);
603 
605  virtual void convertRegistryToEnvironment(const DtReaderWriterRegistry& data, DtEnvironmentSP env, DtEnvValueSP objectNode) const;
606 
608  virtual void removeSystem(DtEnvironmentSP env, const DtString& system, DtEnvValueSP objectNode);
609 
611  virtual void addSystem(DtEnvironmentSP env, const DtRwVariableBindings*, DtEnvValueSP objectNode);
612 
613  virtual const QStringList& masterModeCategories(CategoryTypes) const;
614  virtual QStringList& masterModeCategories(CategoryTypes);
615  virtual QStringList defaultCategoriesAsStringList(CategoryTypes) const;
616 
617  DtSimulationObjectCategoryInformation& defaultCategories(CategoryTypes);
618  const DtSimulationObjectCategoryInformation& defaultCategories(CategoryTypes) const;
619 
620  DtSimulationObjectCategoryInformation& nonMasterModeCategories(CategoryTypes);
621  const DtSimulationObjectCategoryInformation& nonMasterModeCategories(CategoryTypes) const;
622 
623  virtual void loadAutoTagInformation();
624 
625  DtAutoTagInformation& autoTagInformation();
626  const DtAutoTagInformation& autoTagInformation() const;
627 
628  virtual void setDefaultCategories(const DtSimulationObjectCategoryInformation&, const QStringList& masterMode, CategoryTypes);
629  virtual void revertCategories(CategoryTypes);
630  virtual bool hasModifiedCategories(CategoryTypes) const;
631  virtual bool saveDefaultCategories(const DtFilename&, CategoryTypes);
632  virtual bool loadDefaultCategories(const DtFilename&, CategoryTypes);
633 
634  void setDefaultOverlayLayers(const QStringList&);
635  const QStringList& defaultOverlayLayers() const;
636  virtual void revertOverlayLayers();
637  virtual bool hasModifiedOverlayLayers() const;
638  virtual void changeDefaultOverlayLayer(const QString& old, const QString& newCat);
639  virtual void addDefaultOverlayLayers(QComboBox*);
640  void addDefaultOverlayLayer(const QString&);
641 
642  virtual DtRwForces favoritesFor(const DtModelSetEntry*) const;
643  virtual DtRwForces backupFavoritesFor(const DtModelSetEntry*) const;
644  virtual void setFavoritesFor(DtModelSetEntry*, const DtRwForces&);
645 
646  virtual void changeDefaultDeployedCountry(const QString& old, const QString& newCat);
647  void setDefaultDeployedCountries(const QStringList&);
648  void addDefaultDeployedCountry(const QString&);
649  const QStringList& defaultDeployedCountries() const;
650  virtual void revertDeployedCountries();
651  virtual bool hasModifiedDeployedCountries() const;
652 
654  virtual void resetVisuals();
655 
657  virtual DtRwVariableBindings* createVariableBindingsForSystem(const DtFilename&, const DtString& newSystemName);
658 
660  virtual std::map<std::string, DtEntityType> templatesForKind(int) const;
661  virtual std::map<std::string, DtEntityType> templatesThatMatch(const DtEntityType&) const;
662 
665  virtual DtModelSetEntry* addNewEntity(const DtObjectType& base, const DtObjectType& newType, const DtString& name,
666  const DtRwNLengthStringVector& categories, const DtString& uniqueID, const makVrv::DtUnicode& elementDefinition = makVrv::DtUnicode::fromAscii(""),
667  bool replaceAmmoName = false);
668 
671  virtual DtModelSetEntry* addNewEntity(const std::string& platformType, const DtObjectType& newType, const DtString& name,
672  const DtRwNLengthStringVector& categories, const DtString& uniqueID, const makVrv::DtUnicode& elementDefinition = makVrv::DtUnicode::fromAscii(""));
673 
675  DtModelSetEntry* addNewEntity(EntityData* baseData, const DtObjectType& newType, const DtString& name,
676  const DtRwNLengthStringVector& categories, const DtString& uniqueID, const makVrv::DtUnicode& elementDefinition = makVrv::DtUnicode::fromAscii(""),
677  bool replaceAmmoName = false);
678 
680  virtual void removeSystem(const DtFilename&);
681 
682  virtual const DtRwVariableBindings* variableBindings() const;
683 
684  virtual QPixmap getIcon(const makVrf::DtEntityMapperKey& key, int pointSize = 48,
685  bool sizeToFont = false);
686 
687  virtual QPixmap getUnfilledIcon(const makVrf::DtEntityMapperKey& key, const QColor& outlineColor = Qt::black, int pointSize = 48,
688  bool sizeToFont = false);
689 
690  virtual void clearIcons(const makVrf::DtEntityMapperKey& key);
691 
692  static DtSimulationModelSetLoader* create(makVrv::DtDe*);
693 
695  virtual void changeSubordinateTypes(const DtObjectType& oldType, const DtObjectType& newType);
696 
697  virtual void checkParameterUpdates(EntityData*);
698  virtual void checkParameterUpdates(const std::set<makVrf::DtEntityMapperKey>&);
699 
701  virtual makVrv::DtUnicode elementDefinitionFor(const DtEntityType&);
702 
704  virtual DtVrfSubObjectParameterList subordinateObjectsFor(const DtObjectType&) const;
705  virtual DtVrfSubObjectParameterList subordinateObjectsFor(DtEnvironmentSP, DtEnvValueSP objectNode) const;
706 
708  virtual void updateSubordinateObjects(const DtObjectType&, const DtVrfSubObjectParameterList&);
709  virtual void updateSubordinateObjects(DtEnvironmentSP, DtEnvValueSP objectNode, const DtVrfSubObjectParameterList&);
710 
712  virtual void updateFormationTable(const DtObjectType&, const DtFormationTable&);
713 
715  virtual DtEmbarkationInformation embarkationInformationFor(const DtObjectType&) const;
716  virtual DtEmbarkationInformation embarkationInformationFor(DtEnvironmentSP, DtEnvValueSP objectNode) const;
717 
719  virtual void updateEmbarkationInformation(const DtObjectType&, const DtEmbarkationInformation&);
720  virtual void updateEmbarkationInformation(DtEnvironmentSP, DtEnvValueSP objectNode, const DtEmbarkationInformation&);
721 
723  virtual DtDiGuyInformation diGuyInformationFor(const DtObjectType&) const;
724 
726  virtual void updateDiGuyInformation(const DtObjectType&, const DtDiGuyInformation&);
727 
729  virtual DtSensorSignatureInformation sensorSignatureInformationFor(const DtObjectType&) const;
730  virtual DtSensorSignatureInformation sensorSignatureInformationFor(DtEnvironmentSP, DtEnvValueSP root) const;
731 
733  virtual void updateSensorSignatureInformation(const DtObjectType&, const DtSensorSignatureInformation&);
734  virtual void updateSensorSignatureInformation(DtEnvironmentSP, DtEnvValueSP root, const DtSensorSignatureInformation&);
735 
737  virtual DtFormationTable* formationTableFor(const DtObjectType&);
738  virtual DtFormationTable* originalFormationTableFor(const DtObjectType&);
739 
741  virtual Dt3dBoundingVolume boundingVolumeFor(const DtObjectType&) const;
742 
744  virtual bool isAggregate(const DtObjectType&) const;
745 
746  bool loaded() const
747  {
748  return myLoaded;
749  }
750 
752  {
753  return myEntityData;
754  }
755 
756  virtual bool isTemplate(const DtObjectType&) const;
757  virtual bool templateExists(const DtObjectType&) const;
758 
759  virtual void setForceManagerModified(bool);
760  virtual bool forceManagerModified() const;
761 
762  virtual bool upgradeCountriesToCountryCodes(EntityData*);
763 
764  virtual bool isInMasterSMS(const DtObjectType&) const;
765  virtual bool isInMasterSMS(const DtFilename&) const;
766  virtual bool isInMasterSMS(const DtComponentSystemDefinition*) const;
767 
768  virtual DtString smsName(const DtObjectType&) const;
769  virtual DtString smsName(const DtFilename&) const;
770  virtual DtString smsName(const DtComponentSystemDefinition*) const;
771 
772  virtual const DtComponentSystemDefinition* originalSystemDefinitionFor(const DtComponentSystemDefinition*) const;
773  virtual const DtComponentSystemDefinition* originalSystemDefinitionFor(const DtFilename&) const;
774 
776  virtual bool saveData();
777  virtual bool saveData(EntityData* data, bool force = false);
778 
780  virtual bool saveFavorites();
781 
783  virtual bool saveSystems();
784 
786  virtual bool saveAmmunitionTable();
787 
789  virtual bool saveDetonationTable();
790 
791  virtual bool saveDetonationTerrainDeformationTable();
792 
794  virtual DtObjectType templateObjectType(const std::string& parameterType) const;
795 
797  virtual void addInternalItem(const std::string&, bool markDataAsWell = true);
798 
800  virtual void addIgnorePlatformType(const DtString&);
801 
804  virtual QString parameterDisplayName(const DtString& parameterType, bool stopAtFirst = true) const;
805 
807  virtual std::map<DtString, QString> availableParameterTypes(const std::set<std::string>& except = std::set<std::string>()) const;
808 
811  virtual std::vector<DtReaderWriter*> supportPointsFor(const DtObjectType&) const;
812 
814  virtual DtObjectType uniqueEntityTypeFrom(const DtObjectType&, bool onlyFromMasterSMS = false) const;
815 
817  virtual makVrv::DtUnicode systemNameForSystem(const std::string&, DtFilename& fullFilename) const;
818 
820  virtual bool hasFactoryChecksums() const;
821 
823  virtual const DtSmsChecksum& factoryChecksums() const;
824 
826  virtual DtRwVisualMetaData* addOrUpdateVisualMetaData(const DtEntityType&);
827 
829  virtual DtComponentSystemDefinition* duplicateSystem(const DtComponentSystemDefinition* base, const DtString& systemName, const DtFilename& systemFilename);
830 
832  virtual DtComponentSystemDefinition* createFromTemplate(const DtString& systemName, const DtFilename& systemFilename, const DtComponentSystemDefinition* systemTemplate);
833  virtual DtFilename filenameToSystemFilename(DtFilename systemFilename) const;
834 
837  virtual void promoteSystem(DtComponentSystemDefinition*);
838 
840  virtual std::map<DtSymbolString, DtAmmunitionParamsEntry*> ammunitionTable() const;
841 
843  virtual DtAmmunitionParamsEntry* addAmmunition(const DtString& name, const DtString& label, const DtObjectType& munitionType);
844 
846  virtual DtAmmunitionParamsEntry* ammunitionEntry(const DtSymbolString&) const;
847  virtual DtAmmunitionParamsEntry* ammunitionEntry(const DtObjectType&) const;
848 
850  virtual DtMunitionDetonationPowerEntry* detonationPowerEntry(const DtObjectType&) const;
851 
852  virtual std::set<DtEntityType> detonationTypes() const;
853  virtual DtMunitionDetonationPowerEntry* duplicatePowerEntry(const DtObjectType&, const DtEntityType&);
854 
856  virtual std::vector<DtTargetingControlTable*> getTargetingControlTables(const makVrf::DtEntityMapperKey&) const;
857 
859  virtual std::map<DtComponentSystemDefinition*, const DtRangeProbabilityTable*> getSystemsAndHitTables() const;
860 
862  typedef std::map<const DtComponentSystemDefinition*, std::pair<const DtTargetingControlTable*,
864  virtual TargetingControlAndRangeTables getTargetingControlAndRangeTables(const makVrf::DtEntityMapperKey&) const;
865  virtual void findAllTargetingControlAndRangeTables(const DtString&, TargetingControlAndRangeTables&) const;
866 
868  virtual DtRwDamageByMunitionPowerMap* damageTableFor(const makVrf::DtEntityMapperKey&, DtComponentSystemDefinition** system = 0) const;
869 
870  virtual QString translatedSystemName(const DtComponentSystemDefinition* definition) const;
871  virtual QString translatedSystemDescription(const DtComponentSystemDefinition* definition) const;
872 
874  virtual DtObjectType ammunitionType(const DtSymbolString&) const;
875 
877  virtual QString ammunitionDisplayName(const DtSymbolString&) const;
878  virtual void setAmmoEntryIfNecessary(EntityData* data, const DtAmmunitionParamsEntry* templateEntry = 0);
879 
881  virtual bool ammunitionCanTarget(const DtSymbolString&, const DtEntityType&) const;
882 
883  boost::signals2::signal<void ()> signal_preloadSimulationModelSet;
884  boost::signals2::signal<void ()> signal_simulationModelSetLoaded;
885  boost::signals2::signal<void (std::vector<EntityData*>)> signal_newDataFileAdded;
886  boost::signals2::signal<void (EntityData*)> signal_entityEntryAboutToBeRemoved;
887  boost::signals2::signal<void (EntityData*)> signal_entityEntryAdded;
888  boost::signals2::signal<void (EntityData*)> signal_visualMappingsModified;
889  boost::signals2::signal<void ()> signal_resetVisuals;
890  boost::signals2::signal<void (bool)> signal_readOnlyChanged;
891  boost::signals2::signal<void (DtComponentSystemDefinition*)> signal_systemEntryAdded;
892  boost::signals2::signal<void (const DtFilename&)> signal_systemRemoved;
893  boost::signals2::signal<void (DtComponentSystemDefinition*)> signal_systemAboutToBeRemoved;
894  boost::signals2::signal<void (const DtObjectType&, const DtObjectType&)> signal_objectTypeAboutToBeChanged;
895  boost::signals2::signal<void (const DtObjectType&, const DtObjectType&)> signal_objectTypeChanged;
896 
898  boost::signals2::signal<void (makVrv::DtDe*)> signal_displayDeSet;
899 
900 public:
901  const DtModelSet* modelSet() const;
902  DtModelSet* modelSet();
903 
904  virtual makVrf::DtVrfGuiForceManager* forceManager();
905 
906  const DtSimulationModelSet& simulationModelSet() const;
907  bool hasSimulationModelSet() const;
908  DtSimulationModelSet& simulationModelSet();
909  const DtFilename& parameterFilename() const;
910  const DtSimulationObjectEditorComponentSystemDatabase* originalSystemDatabase() const;
911  const DtSimulationObjectEditorComponentSystemDatabase* modifiedSystemDatabase() const;
912  const DtSimulationObjectEditorComponentSystemDatabase* templateSystemDatabase() const;
913  DtSimulationObjectEditorComponentSystemDatabase* modifiedSystemDatabase();
914  DtFilename modelSetDirectory() const;
915 
916  virtual void forceRemoved(DtForceType forceType);
917 
918  const DtRwForces& allForces() const;
919 
920  virtual std::vector<const DtComponentSystemDefinition*> systemDefinitionsFor(const DtObjectType& o) const;
921 
922  virtual const DtReaderWriter* findVariable(const DtVariableBindingsList&, const DtString&) const;
923  virtual const DtReaderWriter* findOriginalVariable(const makVrf::DtEntityMapperKey& emk, const DtString&) const;
924  virtual const DtReaderWriter* findModifiedVariable(const makVrf::DtEntityMapperKey& emk, const DtString&) const;
925  virtual DtReaderWriter* findVariable(const DtVariableBindingsList&, const DtString&);
926  virtual DtReaderWriter* findOriginalVariable(const makVrf::DtEntityMapperKey& emk, const DtString&);
927  virtual DtReaderWriter* findModifiedVariable(const makVrf::DtEntityMapperKey& emk, const DtString&);
928  virtual const DtReaderWriter* variableFromAnyPlatform(const DtString& varName) const;
929 
930  virtual void addModifiedVariable(const makVrf::DtEntityMapperKey& emk, DtReaderWriter* rw);
931 
932  virtual DtVrfObjectParameters* platformParameters(const makVrf::DtEntityMapperKey& key) const;
933 
934  virtual const DtStandardSensorObjects& standardSensorObjects() const;
935  virtual DtStandardSensorObjects& standardSensorObjects();
936  virtual bool processModelSet(DtSimulationModelSet*, LoadFlags flags = LoadAll, bool isMasterSMS = false);
937 
938 protected:
939  virtual void replaceVariableNamesWithUpdatedVariableNames(DtRwVariableBindings*, const DtComponentSystemDefinition*);
940 
944  virtual void markInternalItemsAsReadOnly(DtVariableBindingsList*);
945 
946  virtual const DtReaderWriter* findVariable(const DtString& var, const DtReaderWriter* rw) const;
947 
948  virtual void loadSystemFilesFromDirectory(const QString& directoryName, const DtVariableBindingsList& variableBindings, DtSimulationModelSet*, bool isInMasterSMS,
949  bool loadTemplates = false);
950 
951  virtual void addVariableReferences(DtReaderWriter* source, DtRwVariableBindings* toBindings) const;
952 
953  virtual void cleanup();
954  virtual bool ignorePlatformType(const DtString&) const;
955 
956  virtual bool saveForceHostility(const DtFilename& filename);
957 
958  virtual bool warned(const DtFilename&);
959  virtual void removeEntityFromSubObjects(const DtObjectType&);
960 
961  virtual void mergeFavoritesIntoModelSet(DtModelSet* favorites, DtModelSet* set);
962 
963  virtual DtVariableBindingsList* copyBindingsList(const DtVariableBindingsList* orig) const;
964  virtual void setupParametersForDataFiles(std::vector<EntityData*>&, DtSimulationModelSet* set);
965 
966  virtual EntityData* createParameterDataFrom(DtVrfObjectParameters*) const;
967 
969  virtual bool updateFromPlatform(EntityData* data, const DtReaderWriter* oldRegData, DtEnvironmentSP env, DtEnvValueSP objectNode) const;
970 
972  virtual bool traverseRwObject(const DtReaderWriter* rwObject, DtEnvironmentSP env, DtEnvValueSP objectNode) const;
973  virtual void addElementFromSystemBinding(DtEnvironmentSP env,
974  DtEnvValueSP parentElement, DtSystemParameterData* paramData) const;
975 
976  virtual DtFormationTable* formationTableFor(DtEnvironmentSP, DtEnvValueSP objectNode) const;
977 
979  virtual void updateFormationTable(DtEnvironmentSP, DtEnvValueSP objectNode, const DtFormationTable&);
980 
981  virtual std::vector<EntityData*> addDataFromFile(const DtString& file,
982  DtSimulationModelSet* set, bool isMasterSMS,
983  bool signalAddition = true, bool isTemplate= false, LoadFlags flags = LoadAll);
984 
985  virtual DtModelSetEntry* addModelSetEntryFromEnvironment(DtEnvironmentSP, DtEnvValueSP node);
986  virtual DtModelSetEntry* addModelSetEntryFromSimulationObjectGroup(EntityData*);
987 
988  virtual void addToInternalCategories(DtModelSetEntry* entry, bool isInMasterSMS);
989  virtual void addToInternalCategories(const DtComponentSystemDefinition* entry, bool isInMasterSMS);
990 
991  virtual void addEntityDataEntry(EntityData*, bool signal = true);
992  virtual void removeEntityDataEntry(EntityData*, bool signal = true);
993 
995  virtual ParametersMap::const_iterator findAvailablePlatform(const DtString& platform) const;
996  virtual ParametersData::const_iterator findAvailableParameter(const DtString& platform) const;
997  virtual ParametersData::const_iterator findAvailableParameterFromFile(const DtFilename& platform) const;
998  virtual ParametersData::const_iterator findAvailableParameterType(const DtString& parameterType) const;
999 
1001  virtual void swapCurrentEntry(EntityData*, DtModelSetEntry*);
1002 
1004  virtual DtString filenameFromEntityName(const DtString& name) const;
1005 
1007  virtual DtString uniqueEntityFilename(const DtString& name) const;
1008 
1010  virtual void loadVisuals(DtSimulationModelSet*, bool createIfDoesNotExist = false);
1011 
1013  virtual bool updateAndAddMatchTypeVisuals(EntityData* baseType, const DtEntityType& matchType);
1014 
1016  virtual bool removeMatchingTypeFromVisuals(const DtEntityType& matchType);
1017 
1018  virtual void finalizeCategoryInformationFor(const DtSimulationModelSet& sms, CategoryTypes type = EntityCategories);
1019 
1020  virtual DtFilename categoryFilename(const DtSimulationModelSet& sms, CategoryTypes type = EntityCategories) const;
1021 
1022  static DtAmmunitionManager* createAmmunitionManager();
1023  static void setAmmunitionManagerCreator(AmmunitionManagerCreator creator);
1024 
1025  virtual void convertAmmunitionToEntityData(DtAmmunitionParams*, bool inMasterSMS, DtSimulationModelSet* sms);
1026  virtual DtAmmunitionParams* createAmmunitionParameters() const;
1027  virtual DtDetonationParams* createDetonationParameters() const;
1028 
1029  virtual DtTerrainDeformationParams* createDetonationTerrainDeformationParams() const;
1030 
1031  virtual void getPartsFromModel(const DtObjectType& objectType, std::list<DtSimArtPartDescriptor>& artParts);
1032  virtual void parsePowerTypes();
1033 
1034 protected:
1035  QStringList myWarned;
1040 
1041  typedef std::map<DtFilename, bool> SystemIsInMasterSMSMap;
1043 
1047  QImage* myWarningIcon;
1048 
1049  typedef std::map<int, DtSimulationObjectCategoryInformation> CategoriesMap;
1053 
1054  typedef std::map<int, QStringList> StringCategoriesMap;
1061  bool myLoaded;
1064 
1067 
1070 
1072 
1074 
1077 
1078  std::set<std::string> myInternalItems;
1079  std::set<DtString> myIgnorePlatformType;
1082 
1083  typedef std::map<DtModelSetEntry*, EntityData*> EntityDataByEntry;
1085 
1086  std::vector<QTranslator*> myTranslators;
1088 
1090 
1091  std::map<DtString, int> myMatchingVisualTypes;
1093 
1097 
1100 
1101  std::map<DtString, DtString> myDefaultRangeForPowerType;
1102  std::map<DtString, std::vector<DtString> > mySupportedRangesByPowerType;
1103 
1104  struct PowerTitle
1105  {
1107  QString withAdditionX;
1109  QString withAdditionY;
1113  };
1114 
1115  std::vector<DtString> myIconLists;
1116  std::vector<DtString> myOriginalIconLists;
1117  std::map<DtString, PowerTitle> myPowerTypes;
1118 
1119  static AmmunitionManagerCreator theAmmunitionManagerCreator;
1120 };
1121 
1123 {
1125  {
1126  return mySimulationModelSet->filename();
1127  }
1128  else
1129  {
1130  return "";
1131  }
1132 }
1133 
1135 {
1136  return (mySimulationModelSet != 0);
1137 }
1138 
1140 {
1141  return *mySimulationModelSet;
1142 }
1143 
1145 {
1146  return *mySimulationModelSet;
1147 }
1148 
1150 {
1151  return myModelSet;
1152 }
1153 
1155 {
1156  return myModelSet;
1157 }
1158 
1159 inline const DtFilename& DtSimulationModelSetLoader::parameterFilename() const
1160 {
1161  return myParameterFilename;
1162 }
1163 
1165 {
1166  return myAllForces;
1167 }
1168 
1170 {
1171  return myAutoTagInformation;
1172 }
1173 
1175 {
1176  return myAutoTagInformation;
1177 }
1178 
1180 {
1181  CategoriesMap::const_iterator iter = myDefaultCategories.find(type);
1182 
1183  return iter->second;
1184 }
1185 
1187 {
1188  return myDefaultCategories[type];
1189 }
1190 
1192 {
1193  CategoriesMap::const_iterator iter = myNonMasterModeCategories.find(type);
1194 
1195  return iter->second;
1196 }
1197 
1199 {
1200  return myNonMasterModeCategories[type];
1201 }
1202 
1203 inline const QStringList& DtSimulationModelSetLoader::defaultOverlayLayers() const
1204 {
1205  return myDefaultOverlayLayers;
1206 }
1207 
1209 {
1211 }
1212 
1214 {
1215  myDefaultOverlayLayers.push_back(l);
1216 }
1217 
1219 {
1221 }
1222 
1224 {
1226 }
1227 
1229 {
1230  myDefaultDeployedCountries.push_back(l);
1232 }
1233 
1235 
1237 {
1238  return !(lhs.operator<(rhs));
1239 }
1240 
1242 {
1243 public:
1245 
1247 
1248  virtual void loadAllSmsFiles();
1249 
1250 protected:
1251  virtual void processModelSet(DtSimulationModelSet*);
1252 
1253 protected:
1258 };
std::map< DtModelSetEntry *, EntityData * > EntityDataByEntry
Definition: simulationModelSetLoader.h:1083
Definition: simulationModelSetLoader.h:155
Definition: simulationModelSetLoader.h:1241
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:505
std::map< std::string, EntityData * > ParametersData
Definition: simulationModelSetLoader.h:245
std::map< int, QStringList > StringCategoriesMap
Definition: simulationModelSetLoader.h:1054
Definition: simulationModelSetLoader.h:127
Definition: entityMapperKey.h:23
DtRwVariableBindingsList * myOriginalSystems
Definition: simulationModelSetLoader.h:218
Virtual base class.
Definition: DtVirtualBaseClass.h:22
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:119
boost::signals2::signal< void(const DtFilename &)> signal_systemRemoved
Definition: simulationModelSetLoader.h:892
Definition: rwVariableBindingsList.h:16
bool humanOnly
Definition: simulationModelSetLoader.h:1111
DtModelSetEntry * myCurrentModelSetEntry
Definition: simulationModelSetLoader.h:226
Definition: symbolString.h:20
DtVariableBindingsList * myOriginalVariableBindings
Definition: simulationModelSetLoader.h:220
DtRwForces myAllForces
Definition: simulationModelSetLoader.h:1046
Definition: simulationModelSetLoader.h:112
The DtSimulationObjectCategoryInformation class is a class that will read the comma delimited categor...
Definition: simulationObjectCategoryInformation.h:22
int myLastModifiedDate
Definition: simulationModelSetLoader.h:216
bool myIsInMasterSMS
Definition: simulationModelSetLoader.h:196
std::vector< DtString > myIconLists
Definition: simulationModelSetLoader.h:1115
DtSimulationObjectCategoryInformation & nonMasterModeCategories(CategoryTypes)
Definition: simulationModelSetLoader.h:1198
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:233
An EntityType to Definition mapper.
Definition: DtEntityTypeMapper.h:33
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:1116
bool needsForceAddition
Definition: simulationModelSetLoader.h:1110
DtTerrainDeformationParams * myMasterModeDetTerrainDeformParameters
Definition: simulationModelSetLoader.h:1068
Readable-writable class holding all parameters to configure the DtDetonationManager.
Definition: detonationParams.h:22
DtEnvironmentSP myModified
Definition: simulationModelSetLoader.h:150
DtRwNLengthStringVector is a named, readable/writable vector of strings of arbitrary length...
Definition: rwNLengthStringVector.h:28
std::vector< QTranslator * > myTranslators
Definition: simulationModelSetLoader.h:1086
SystemIsInMasterSMSMap mySystemIsInMasterSMSMap
Definition: simulationModelSetLoader.h:1042
class DtScenarioExplorer:
Definition: scenarioExplorer.h:26
DT_DLL_readerWriter DtBoost::shared_ptr< DtEnvironment > DtEnvironmentSP
Definition: readerWriter.h:30
boost::signals2::signal< void(DtComponentSystemDefinition *)> signal_systemEntryAdded
Definition: simulationModelSetLoader.h:891
DtTerrainDeformationParams * myDetonationTerrainDeformationParameters
Definition: simulationModelSetLoader.h:1069
DtDiGuyInformation * myOriginalDiGuyInformation
Definition: simulationModelSetLoader.h:224
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:1039
QString withAdditionX
Definition: simulationModelSetLoader.h:1107
virtual const ParametersMap & availableParameters() const
Definition: simulationModelSetLoader.h:504
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:1041
std::map< DtString, std::vector< DtString > > mySupportedRangesByPowerType
Definition: simulationModelSetLoader.h:1102
DtSimulationModelSet * mySimulationModelSet
Definition: simulationModelSetLoader.h:1255
Definition: readerWriterRegistry.h:39
ParametersData myParametersData
Definition: simulationModelSetLoader.h:1076
DtSimulationModelSetLoader * mySimulationModelSetLoader
Definition: simulationModelSetLoader.h:1256
class DtStandardSensorObjects:
Definition: standardSensorObjects.h:23
ParameterStruct(DtVrfObjectParameters *p, bool b, const DtFilename &f)
Definition: simulationModelSetLoader.h:115
std::map< DtString, DtString > myDefaultRangeForPowerType
Definition: simulationModelSetLoader.h:1101
std::string myDataFile
Definition: simulationModelSetLoader.h:197
Definition: smsChecksum.h:15
std::map< DtString, int > myMatchingVisualTypes
Definition: simulationModelSetLoader.h:1091
QString withAdditionY
Definition: simulationModelSetLoader.h:1109
boost::signals2::signal< void(const DtObjectType &, const DtObjectType &)> signal_objectTypeAboutToBeChanged
Definition: simulationModelSetLoader.h:894
std::map< DtString, PowerTitle > myPowerTypes
Definition: simulationModelSetLoader.h:1117
DtDiGuyInformation * myModifiedDiGuyInformation
Definition: simulationModelSetLoader.h:235
std::map< DtArtPartType, DtSimArtPartDescriptor > ArtPartMap
Definition: simulationModelSetLoader.h:247
The element type manager is responsible for knowing about the types of elements as well as owning the...
Definition: DtElementDefinitionManager.h:494
std::map< const DtComponentSystemDefinition *, std::pair< const DtTargetingControlTable *, const DtRangeProbabilityTable * > > TargetingControlAndRangeTables
Returns the targeting control and range tables.
Definition: simulationModelSetLoader.h:863
bool hasSimulationModelSet() const
Definition: simulationModelSetLoader.h:1134
bool myIsDeleted
Definition: simulationModelSetLoader.h:239
CategoriesMap myNonMasterModeCategories
Definition: simulationModelSetLoader.h:1051
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:1062
Instances of DtSimArtPartDescriptorList are lists of DtSimArtPartDescriptors.
Definition: simArtPartDescriptorList.h:25
ReaderWriter object that maintains a list of reader-writer variable bindings.
Definition: rwVariableBindings.h:27
DtAmmunitionManager * myAmmunitionManager
Definition: simulationModelSetLoader.h:1063
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:1056
DtSmsChecksum myFactorySmsChecksum
Definition: simulationModelSetLoader.h:1098
DtMunitionDetonationPowerEntry * myModifiedPowerTableEntry
Definition: simulationModelSetLoader.h:207
makVrv::DtDe & myDe
Definition: simulationModelSetLoader.h:1254
bool mySaveReadOnlyFlag
Definition: simulationModelSetLoader.h:1099
DtComponentSystemDefinition.
Definition: componentSystemDefinition.h:25
DtEnvValueSP myOriginalObjectNode
Definition: simulationModelSetLoader.h:219
DtAmmunitionParamsEntry * myOriginalAmmunitionParameters
Definition: simulationModelSetLoader.h:203
DtVrfObjectParameters * myParameters
Definition: simulationModelSetLoader.h:237
DtMunitionDetonationPowerEntry * myOriginalPowerTableEntry
Definition: simulationModelSetLoader.h:206
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:223
bool loaded() const
Definition: simulationModelSetLoader.h:746
const DtOrderedObjectTypeList< EntityData * > & entityData() const
Definition: simulationModelSetLoader.h:751
DtObjectType myOriginalMatchType
Definition: simulationModelSetLoader.h:211
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:110
DtRwVariableBindingsList * myModifiedSystems
Definition: simulationModelSetLoader.h:229
Definition: detonationDeformationParams.h:9
CategoriesMap myDefaultCategories
Definition: simulationModelSetLoader.h:1050
static AmmunitionManagerCreator theAmmunitionManagerCreator
Definition: simulationModelSetLoader.h:1119
makVrv::DtDe & myDe
Definition: simulationModelSetLoader.h:1059
Definition: simulationModelSetLoader.h:89
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:171
DtAutoTagInformation & autoTagInformation()
Definition: simulationModelSetLoader.h:1174
void addDefaultDeployedCountry(const QString &)
Definition: simulationModelSetLoader.h:1228
std::list< const DtRwVariableBindings * > DtVariableBindingsList
Definition: readerWriterRegistry.h:29
Definition: simulationModelSetLoader.h:1104
boost::signals2::signal< void(bool)> signal_readOnlyChanged
Definition: simulationModelSetLoader.h:890
boost::shared_ptr< EnvironmentContainer > EnvironmentContainerSP
Definition: simulationModelSetLoader.h:153
CategoriesMap myOriginalDefaultCategories
Definition: simulationModelSetLoader.h:1052
Readable-writable class holding all parameters to configure the DtAmmunitionManager.
Definition: ammunitionParams.h:20
DtFilename file
Definition: simulationModelSetLoader.h:120
DtSensorSignatureInformation * myOriginalSensorSignatureInformation
Definition: simulationModelSetLoader.h:225
DtFilename myParameterFilename
Definition: simulationModelSetLoader.h:1044
DtFormationTable.
Definition: formationTable.h:23
std::vector< DtFilename > SearchPaths
Definition: readerWriter.h:92
DtSimulationModelSetLoader::LoadFlags myLoadFlags
Definition: simulationModelSetLoader.h:1257
EntityDataByEntry myEntityDataByEntry
Definition: simulationModelSetLoader.h:1084
const QStringList & defaultOverlayLayers() const
Definition: simulationModelSetLoader.h:1203
const DtModelSet * modelSet() const
Definition: simulationModelSetLoader.h:1149
StringCategoriesMap myMasterModeCategories
Definition: simulationModelSetLoader.h:1055
DtFormationTable * myModifiedFormationTable
Definition: simulationModelSetLoader.h:232
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:1092
DtDamageProbabilityTable.
Definition: damageProbabilityTable.h:20
DtOrderedObjectTypeList< EntityData * > myEntityData
Definition: simulationModelSetLoader.h:1071
DtSensorSignatureInformation * myModifiedSensorSignatureInformation
Definition: simulationModelSetLoader.h:236
std::map< int, DtSimulationObjectCategoryInformation > CategoriesMap
Definition: simulationModelSetLoader.h:1049
bool myReadOnly
Definition: simulationModelSetLoader.h:1095
DtFormationTable * myOriginalFormationTable
Definition: simulationModelSetLoader.h:221
DtSimulationModelSet * masterSMS() const
Definition: simulationModelSetLoader.h:329
QStringList myDefaultDeployedCountries
Definition: simulationModelSetLoader.h:1058
boost::signals2::signal< void(DtComponentSystemDefinition *)> signal_systemAboutToBeRemoved
Definition: simulationModelSetLoader.h:893
bool myLoaded
Definition: simulationModelSetLoader.h:1061
DtFilename simulationModelSetFilename() const
Returns the filename of the current simulation model set file.
Definition: simulationModelSetLoader.h:1122
bool operator>(const DtObjectType &lhs, const DtSimulationModelSetLoader::EntityData &rhs)
Definition: simulationModelSetLoader.h:1236
const char * source
Definition: lz4.h:436
DtMunitionDetonationPowerEntry.
Definition: munitionDetonationPowerEntry.h:19
const QStringList & defaultDeployedCountries() const
Definition: simulationModelSetLoader.h:1218
DtSimulationObjectEditorComponentSystemDatabase * myModifiedSystemDatabase
Definition: simulationModelSetLoader.h:1038
std::set< std::string > myInternalItems
Definition: simulationModelSetLoader.h:1078
QImage * myWarningIcon
Definition: simulationModelSetLoader.h:1047
std::list< DtObjectType > myAdditionalMatchTypes
Definition: simulationModelSetLoader.h:213
Base class for RW objects that describe a system parameter.
Definition: systemParameterData.h:30
DtSimulationModelSet * mySimulationModelSet
Definition: simulationModelSetLoader.h:242
boost::signals2::signal< void(EntityData *)> signal_entityEntryAboutToBeRemoved
Definition: simulationModelSetLoader.h:886
QString withoutAdditionY
Definition: simulationModelSetLoader.h:1108
Description: A readable, writable list of DtForceType.
Definition: rwForces.h:34
std::map< DtString, ParameterStruct > ParametersMap
Definition: simulationModelSetLoader.h:123
void addDefaultOverlayLayer(const QString &)
Definition: simulationModelSetLoader.h:1213
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:200
virtual void processModelSet(DtSimulationModelSet *)
DtSimulationObjectCategoryInformation & defaultCategories(CategoryTypes)
Definition: simulationModelSetLoader.h:1186
DtSimulationObjectGroupModelSetEntry * myModifiedSOGData
Definition: simulationModelSetLoader.h:201
bool titleOnly
Definition: simulationModelSetLoader.h:1112
LoadFlags
Definition: simulationModelSetLoader.h:92
boost::signals2::signal< void(EntityData *)> signal_entityEntryAdded
Definition: simulationModelSetLoader.h:887
void setDefaultOverlayLayers(const QStringList &)
Definition: simulationModelSetLoader.h:1208
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:1079
void setDefaultDeployedCountries(const QStringList &)
Definition: simulationModelSetLoader.h:1223
ParametersMap myAvailableParameters
Definition: simulationModelSetLoader.h:1075
makVrf::DtVrfVisualsManager * myVrfVisualsManager
Definition: simulationModelSetLoader.h:1089
DtEnvValueSP myModifiedObjectNode
Definition: simulationModelSetLoader.h:230
ParameterStruct()
Definition: simulationModelSetLoader.h:114
bool operator>(const EntityData &rhs) const
Definition: simulationModelSetLoader.h:184
DtVariableBindingsList * myModifiedVariableBindings
Definition: simulationModelSetLoader.h:231
bool myForceManagerModified
Definition: simulationModelSetLoader.h:1087
bool myIsNew
Definition: simulationModelSetLoader.h:238
CategoryTypes
Definition: simulationModelSetLoader.h:106
EnvironmentContainerSP myEnvironment
Definition: simulationModelSetLoader.h:199
DtEnvironmentSP myOriginal
Definition: simulationModelSetLoader.h:149
bool myLoadingSMSFiles
Definition: simulationModelSetLoader.h:1096
DtSimulationObjectEditorScenarioExplorer * myScenarioExplorer
Definition: simulationModelSetLoader.h:1073
DtModelSet * myFavoritesModelSet
Definition: simulationModelSetLoader.h:1080
EntityData * myIsReplacing
Definition: simulationModelSetLoader.h:241
DtModelSet * myBackupFavoritesModelSet
Definition: simulationModelSetLoader.h:1081
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
boost::signals2::signal< void(const DtObjectType &, const DtObjectType &)> signal_objectTypeChanged
Definition: simulationModelSetLoader.h:895
Contains information about the current DI-Guy character instance and some of its available options...
Definition: diGuyInformation.h:20
DtVrfSubObjectParameterList * myOriginalSubordinateInformation
Definition: simulationModelSetLoader.h:222
DtEmbarkationInformation * myModifiedEmbarkationInformation
Definition: simulationModelSetLoader.h:234
boost::signals2::signal< void()> signal_resetVisuals
Definition: simulationModelSetLoader.h:889
boost::signals2::signal< void(EntityData *)> signal_visualMappingsModified
Definition: simulationModelSetLoader.h:888
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...
boost::signals2::signal< void()> signal_preloadSimulationModelSet
Definition: simulationModelSetLoader.h:883
DtDetonationParams * myDetonationParameters
Definition: simulationModelSetLoader.h:1066
static const int DtTemplateKindBase
Definition: simulationModelSetLoader.h:87
QStringList myWarned
Definition: simulationModelSetLoader.h:1035
const DtFilename & parameterFilename() const
Definition: simulationModelSetLoader.h:1159
DtSimulationObjectEditorComponentSystemDatabase * myOriginalSystemDatabase
Definition: simulationModelSetLoader.h:1037
DtSimulationModelSet * mySimulationModelSet
Definition: simulationModelSetLoader.h:1036
QString withoutAdditionX
Definition: simulationModelSetLoader.h:1106
std::list< DtObjectType > myOriginalAdditionalMatchTypes
Definition: simulationModelSetLoader.h:214
An ordered key list will allow lookup by entity key type.
Definition: orderedObjectTypeList.h:20
boost::signals2::signal< void()> signal_simulationModelSetLoaded
Definition: simulationModelSetLoader.h:884
const DtRwForces & allForces() const
Definition: simulationModelSetLoader.h:1164
Definition: targetingControlTable.h:20
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:898
DtModelSetEntry myOriginalModelSetEntry
Definition: simulationModelSetLoader.h:227
DtAmmunitionParamsEntry * myModifiedAmmunitionParameters
Definition: simulationModelSetLoader.h:204
Definition: modelSet.h:28
DtObjectType myMatchType
Definition: simulationModelSetLoader.h:210
#define DT_DLL_simulationObjectEditorimpl
This file is used to determine how to build.
Definition: simulationObjectEditorImplDefines.h:32
DtAutoTagInformation myAutoTagInformation
Definition: simulationModelSetLoader.h:1094
DtModelSet * myModelSet
Definition: simulationModelSetLoader.h:1045
const DtSimulationModelSet & simulationModelSet() const
Definition: simulationModelSetLoader.h:1139
QStringList myDefaultOverlayLayers
Definition: simulationModelSetLoader.h:1057
DtDetonationParams * myMasterModeDetonationParameters
Definition: simulationModelSetLoader.h:1065
makVrv::DtDe * myDisplayDe
Definition: simulationModelSetLoader.h:1060

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)