VR-Forces 5.0.1 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;
249 
252 
253  DtFilename myParentFile;
254  DtEnvironmentSP myParentEnvironment; //this is the environment containing only what is inherited
255 
256  std::set<DtString> elementsAddedThisSession;
257  std::set<DtVariableBindingsList> systemsAddedThisSession;
258 
260  {
261  if (myParentFile.isEmpty())
262  {
263  return false;
264  }
265 
266  return true;
267  }
268  };
269 
270  typedef std::map<std::string, EntityData*> ParametersData;
271 
272  typedef std::map<DtArtPartType, DtSimArtPartDescriptor> ArtPartMap;
273 
276 
277  virtual ~DtSimulationModelSetLoader();
278 
279  virtual bool load(const DtSimulationModelSet&, LoadFlags flags = LoadAll);
280  virtual bool save(const DtFilename&);
281 
282  static DtSimulationModelSetLoader& instance(makVrv::DtDe&);
283  static void registerInstance(makVrv::DtDe&, DtSimulationModelSetLoader*);
284 
285  virtual void setDisplayDe(makVrv::DtDe*);
286  virtual makVrv::DtDe& displayDe();
287 
288 private:
291 
292 public:
294  virtual void setLoadVisuals(bool);
295 
297  virtual bool hasFileNamed(const std::string& s) const;
298 
301  virtual bool addNewDataFile(const std::string&);
302 
304  virtual bool addNewSimulationObjectGroup(const std::string&);
305 
307  virtual bool addNewRandomizedObject(const std::string&);
308 
310  virtual bool readOnly() const;
311  virtual void setReadOnly(bool);
312 
314  virtual void setSaveReadOnlyFlag(bool);
315  virtual bool saveReadOnlyFlag() const;
316 
318  virtual bool hasComponentByDescriptorType(const makVrf::DtEntityMapperKey&, const DtString& descriptor) const;
319  virtual bool hasComponentByDescriptorType(const DtFilename&, const DtString& descriptor) const;
320 
322  virtual bool hasComponentByComponentType(const makVrf::DtEntityMapperKey&, const DtString& descriptor) const;
323  virtual bool hasComponentByComponentType(const DtFilename&, const DtString& descriptor) const;
324 
326  virtual bool simulationObjectGroupExists(const std::string&) const;
327 
329  virtual bool randomizedObjectExists(const std::string&) const;
330 
333  virtual DtModelSetEntry* createNewSimulationObjectGroupFromExisting(const DtObjectType& base, const std::string& newName,
334  const DtRwNLengthStringVector& categories = DtRwNLengthStringVector("categories"));
335  virtual DtModelSetEntry* createNewSimulationObjectGroupFromExisting(EntityData* data, const std::string& newName,
336  const DtRwNLengthStringVector& categories = DtRwNLengthStringVector("categories"));
337  virtual DtModelSetEntry* createNewAmmunitionEntryFromExisting(EntityData* data, const std::string& newName, const DtEntityType& newType,
338  const DtRwNLengthStringVector& categories = DtRwNLengthStringVector("categories"), bool replaceName = false);
339 
341  virtual std::string platform(const makVrf::DtEntityMapperKey& k) const;
342 
344  virtual std::string uiFilename(const makVrf::DtEntityMapperKey& k) const;
345 
347  virtual std::string uiFilename(DtComponentSystemDefinition*) const;
348 
350  virtual DtSimulationModelSet* simulationModelSet(const makVrf::DtEntityMapperKey& k) const;
351 
353  {
354  return mySimulationModelSet;
355  }
356 
358  virtual DtSimulationModelSet* simulationModelSet(const DtComponentSystemDefinition*) const;
359  virtual DtSimulationModelSet* simulationModelSet(const DtFilename&) const;
360 
362  virtual std::string platformFileType(const makVrf::DtEntityMapperKey& k) const;
363 
365  virtual std::string platformKey(const makVrf::DtEntityMapperKey& k) const;
366 
368  virtual DtString platformDisplayName(const makVrf::DtEntityMapperKey& k) const;
369 
371  virtual DtString platformDisplayDescription(const makVrf::DtEntityMapperKey& k) const;
372 
374  virtual bool addMissingVariablesFromPlatformsAndSystems(QWidget* parent = 0, bool saveAllIfAnyModified = false);
375  virtual bool addMissingVariablesFromPlatformsAndSystems(EntityData* data, std::map<DtString, DtRwVariableBindings*>&);
376 
379  virtual bool addMissingArticulatedParts(QWidget* parent = 0, bool saveIfModified = false);
380  virtual bool addMissingArticulatedPartsForEntity(EntityData* data);
381  virtual bool addMissingArticulatedPartsForEntity(const DtObjectType& objectType,
382  DtSimArtPartDescriptorList* modifiedParts,
383  ArtPartMap& partsFromModel, ArtPartMap& partsFromSystemDefaults);
384 
386  virtual bool addMissingVariablesAndArticulatedPartsFromPlatformsAndSystems(QWidget* parent = 0, bool saveAllIfAnyModified = false);
387 
389  virtual bool getPartsFromEntityVisualModel(const DtObjectType& objectType, ArtPartMap& partsFromModel);
390 
392  virtual void regenerateOpeFiles();
393 
395  virtual void regenerateSystemFiles();
396 
398  virtual std::vector<DtComponentSystemDefinition*> systemsThatCanBeDamagedBy(const DtString&) const;
399 
402  virtual DtString rangeTypeFromPower(const DtString&) const;
403  virtual void setDefaultRangeTypeForPower(const DtString&, const DtString&);
404  virtual std::vector<DtString> rangesByPowerType(const DtString&) const;
405  virtual void setSupportedRangesByPowerType(const DtString&, const std::vector<DtString>&);
406 
407  virtual std::set<DtString> powerTypes(bool hasHumanActuator) const;
408  virtual void addPowerType(const DtString&, const QString& withoutAddition, const QString& withAddition, bool needForceAdditional = false,
409  const QString& withoutAdditionX = "", const QString& witAdditionX = "", bool humanOnly = false, bool titleOnly = false);
410 
413  virtual QString powerTitle(const DtString&, const QString& addition = "", bool applyAdditionalToAll = false, bool xAxis = false) const;
415 
416  virtual void createSupportedDetonations();
417 
418  DtFilename getSystemDirectory() const;
419  DtFilename getNavDataDirectory() const;
420  DtFilename getFormationDirectory() const;
421  DtFilename getGuiDirectory() const;
422  DtFilename path() const;
423 
425  DtFilename simulationModelSetFilename() const;
426 
427  virtual bool openSystemFiles(DtSimulationModelSet* set, const DtFilename& directory, bool isInMasterSMS);
428 
429  virtual DtString cleanAmmunitionName(const DtString&) const;
430 
431  virtual bool loadForceHostilityFile(const DtFilename& f);
432  virtual bool loadAmmunitionParameters(const DtFilename& f, bool inMasterSMS, DtSimulationModelSet* sms);
433  virtual bool loadDetonationParameters(const DtFilename& f, bool inMasterSMS, DtSimulationModelSet* sms);
434 
435  virtual bool loadDetTerrainDeformParameters(const DtFilename& f, bool inMasterSMS, DtSimulationModelSet* sms);
436 
439  virtual bool loadDataFiles(const DtString&, DtSimulationModelSet*, bool fromMasterSMS, LoadFlags flags = LoadAll);
440 
442  virtual void loadSimulationObjectGroupFiles(const DtString&, DtSimulationModelSet*, bool fromMasterSMS);
443 
445  virtual DtModelSetEntry* reloadSimulationObjectGroup(const DtString&);
446 
448  virtual void loadTemplates(const DtString&, DtSimulationModelSet*);
449 
450  virtual std::vector<DtComponentSystemDefinition*> systemsThatUseAmmunition(const DtString&) const;
451  virtual std::vector<DtComponentSystemDefinition*> systemsThatUseTemplate(const DtFilename&) const;
452 
454  virtual void makeTemplate(EntityData*);
455  virtual void makeTemplate(const DtObjectType&);
456 
458  virtual bool itemContains(const DtVrfSubObjectParameterList&, const DtObjectType&) const;
459 
461  virtual const std::vector<DtString>& iconLists() const;
462  virtual bool hasIconList(const DtString&) const;
463 
465  virtual void addIconList(const DtString&);
466  virtual void removeIconList(const DtString&);
467  virtual void setIconLists(const std::vector<DtString>&);
468  virtual void loadIconLists(const DtFilename&);
469  virtual void saveIconLists(const DtFilename&);
470 
472  virtual bool loadParameterFiles(DtSimulationModelSet* sms, bool inMasterSMS);
473 
475  virtual bool loadModelSet();
476 
479  virtual DtModelSetEntry* modelEntry(const DtObjectType&, bool matchPattern = false) const;
480 
482  virtual DtFilename modelDefinitionFile(const DtObjectType&, bool resolve) const;
483  virtual const makVrv::DtModelDefinition* modelDefinition(const DtObjectType& objectType, std::string& definition) const;
484  virtual std::string diGuyCharacterOMMX() const;
485  virtual std::string diGuyCharacterLeaf() const;
486 
488  virtual DtString simulationModelSetFor(const DtEntityType&) const;
489 
491  virtual DtString simulationModelSetFor(const DtFilename&) const;
492 
494  virtual DtModelSetEntry* createModelSetEntryFrom(DtEnvironmentSP env, DtEnvValueSP objectNode) const;
495  virtual DtModelSetEntry* createModelSetEntryFrom(const DtObjectType&) const;
496  virtual DtModelSetEntry* createModelSetEntryFrom(const DtAmmunitionParamsEntry*) const;
497 
499  virtual bool hasGuiKeyword(const makVrf::DtEntityMapperKey&, const std::string&) const;
500 
502  virtual void revertData(const makVrf::DtEntityMapperKey& key);
503  virtual void revertData(DtComponentSystemDefinition*);
504 
506  virtual DtVrfObjectParameters* objectParameterDataFor(const DtObjectType& o) const;
507 
509  virtual EntityData* dataFor(const DtObjectType&, bool completeLoadIfNecessary = true) const;
510 
512  virtual EntityData* dataFor(DtModelSetEntry*, bool completeLoadIfNecessary = true) const;
513 
516  virtual bool containsObjectType(const DtObjectType&, bool onlyFromMasterSMS = false, DtString* name = 0) const;
517 
519  virtual DtVariableBindingsList allVariableBindingsInSystemsFor(const DtObjectType&) const;
520 
522  virtual bool isSimulationObjectGroup(const DtObjectType&) const;
523 
526  virtual bool hasModelNamed(const DtString&, bool& isDeleted);
527 
528  virtual DtReaderWriter::SearchPaths searchPaths() const;
529  virtual std::vector<DtSimulationModelSet*> modelSets() const;
530 
531  virtual QString ammunitionDisplayName(const DtEntityType&) const;
532 
533  virtual const ParametersMap& availableParameters() const
534  {
535  return myAvailableParameters;
536  }
537 
539  virtual bool hasHumanDamageSystem(const std::vector<DtComponentSystemDefinition*>&) const;
540 
543  virtual bool createRwVariable(const DtObjectType&, const std::string& rwType, const std::string& rwName, DtReaderWriter*& original,
544  DtReaderWriter*& modified);
545 
546  virtual void replaceSystem(const DtFilename&);
547 
548  virtual bool entryIsRandomized(const DtObjectType&) const;
549  virtual bool canAddSubordinatesTo(const DtObjectType&) const;
550 
551  virtual bool isModified(const DtObjectType&) const;
552  virtual bool isModified(EntityData*) const;
553  virtual bool isModified(DtComponentSystemDefinition*) const;
554 
556  virtual bool isModified(const DtFilename&) const;
557 
558  virtual bool isModified() const;
559 
560  virtual bool isNew(const DtObjectType&) const;
561  virtual bool isNew(EntityData*) const;
562 
563  virtual bool isDeleted(const DtObjectType&) const;
564  virtual bool isDeleted(EntityData*) const;
565 
566  virtual bool isDeleted(DtComponentSystemDefinition*) const;
567  virtual bool isDeleted(const DtFilename&) const;
568 
569  virtual bool isNew(DtComponentSystemDefinition*) const;
570  virtual bool isNew(const DtFilename&) const;
571 
572  virtual std::vector<EntityData*> objectsThatUseSystems(const std::vector<DtComponentSystemDefinition*>& rw) const;
573 
574  virtual makVrf::DtVrfEntityTypeMapper& entityTypeMapper(const makVrf::DtEntityMapperKey&);
575  virtual makVrf::DtVrfEntityTypeMapper& aggregateTypeMapper(const makVrf::DtEntityMapperKey&);
576  virtual makVrf::DtVrfEntityTypeMapper& tacticalGraphicsMapper(const makVrf::DtEntityMapperKey&);
577  virtual makVrv::DtElementDefinitionTypeManager& elementDefinitionTypeManager(const makVrf::DtEntityMapperKey&);
578  virtual makVrv::DtModelDefinitionManager& modelDefinitionManager(const makVrf::DtEntityMapperKey&);
579 
580  virtual void saveModelDefinitionManager();
581  virtual void saveVisualElementsFor(makVrv::DtElementDefinitionTypeManager::BuiltInElementTypes, bool andHierarchy = false);
582  virtual makVrf::DtVrfVisualsManager* visualsManager();
583 
584  virtual makVrf::DtVrfEntityTypeMapper& defaultEntityTypeMapper();
585  virtual makVrf::DtVrfEntityTypeMapper& defaultAggregateTypeMapper();
586  virtual makVrf::DtVrfEntityTypeMapper& defaultTacticalGraphicsMapper();
587  virtual makVrv::DtElementDefinitionTypeManager& defaultElementDefinitionTypeManager();
588  virtual makVrv::DtModelDefinitionManager& defaultModelDefinitionManager();
589 
590  virtual makVrv::DtEntityTypeMapper* systemEntityTypeMapper();
591  virtual makVrv::DtEntityTypeMapper* systemAggregateTypeMapper();
592  virtual makVrv::DtEntityTypeMapper* systemTacticalGraphicsMapper();
593  virtual makVrv::DtElementDefinitionTypeManager& systemElementDefinitionTypeManager();
594  virtual makVrv::DtModelDefinitionManager& systemModelDefinitionManager();
595 
596  virtual void createSpotReportDefinitionFor(const makVrf::DtEntityMapperKey&);
597  virtual void updateVisualsFor(const makVrf::DtEntityMapperKey&);
598  virtual void removeVisualsFor(const makVrf::DtEntityMapperKey&);
599  virtual void removeElementDefinition(const makVrf::DtEntityMapperKey&);
600 
602  virtual void deleteModel(DtModelSetEntry*);
603  virtual void deleteModel(const DtObjectType&);
604  virtual void deleteModel(EntityData*);
605 
606  virtual void deleteSystem(const DtComponentSystemDefinition*);
607  virtual void deleteSystem(const DtFilename&);
608 
610  virtual bool deleteSystemFromModelSet(const DtComponentSystemDefinition*);
611 
613  virtual bool changeObjectType(const DtObjectType& oldType, const DtObjectType& newType);
614 
616  virtual bool changeMatchType(const DtObjectType& oldType, const DtObjectType& newType);
617 
618  virtual bool setAdditionalMatchTypes(const DtObjectType& key, const std::list<DtObjectType> additionalMatchTypes);
619 
623  virtual std::vector<DtString> updateGuiInformation(EntityData*, DtEnvValueSP = DtEnvValueSP());
624 
626  virtual void updateSystemData(EntityData*);
627 
629  virtual void sharedSystems(const DtFilename& systemFile, std::vector<DtModelSetEntry*>& result) const;
630 
632  virtual void updateDataInformation(EntityData*);
633 
636  virtual DtEnvironmentSP resolveParentData(EntityData*);
637 
639  virtual void convertRegistryToEnvironment(const DtReaderWriterRegistry& data, DtEnvironmentSP env, DtEnvValueSP objectNode) const;
640 
642  virtual void removeSystem(DtEnvironmentSP env, const DtString& system, DtEnvValueSP objectNode);
643 
645  virtual void addSystem(DtEnvironmentSP env, const DtRwVariableBindings*, DtEnvValueSP objectNode);
646 
647  virtual const QStringList& masterModeCategories(CategoryTypes) const;
648  virtual QStringList& masterModeCategories(CategoryTypes);
649  virtual QStringList defaultCategoriesAsStringList(CategoryTypes) const;
650 
651  DtSimulationObjectCategoryInformation& defaultCategories(CategoryTypes);
652  const DtSimulationObjectCategoryInformation& defaultCategories(CategoryTypes) const;
653 
654  DtSimulationObjectCategoryInformation& nonMasterModeCategories(CategoryTypes);
655  const DtSimulationObjectCategoryInformation& nonMasterModeCategories(CategoryTypes) const;
656 
657  virtual void loadAutoTagInformation();
658 
659  DtAutoTagInformation& autoTagInformation();
660  const DtAutoTagInformation& autoTagInformation() const;
661 
662  virtual int getFileCount(const DtSimulationModelSet&) const;
663 
664  virtual void setDefaultCategories(const DtSimulationObjectCategoryInformation&, const QStringList& masterMode, CategoryTypes);
665  virtual void revertCategories(CategoryTypes);
666  virtual bool hasModifiedCategories(CategoryTypes) const;
667  virtual bool saveDefaultCategories(const DtFilename&, CategoryTypes);
668  virtual bool loadDefaultCategories(const DtFilename&, CategoryTypes);
669 
670  void setDefaultOverlayLayers(const QStringList&);
671  const QStringList& defaultOverlayLayers() const;
672  virtual void revertOverlayLayers();
673  virtual bool hasModifiedOverlayLayers() const;
674  virtual void changeDefaultOverlayLayer(const QString& old, const QString& newCat);
675  virtual void addDefaultOverlayLayers(QComboBox*);
676  void addDefaultOverlayLayer(const QString&);
677 
678  virtual DtRwForces favoritesFor(const DtModelSetEntry*) const;
679  virtual DtRwForces backupFavoritesFor(const DtModelSetEntry*) const;
680  virtual void setFavoritesFor(DtModelSetEntry*, const DtRwForces&);
681 
682  virtual void changeDefaultDeployedCountry(const QString& old, const QString& newCat);
683  void setDefaultDeployedCountries(const QStringList&);
684  void addDefaultDeployedCountry(const QString&);
685  const QStringList& defaultDeployedCountries() const;
686  virtual void revertDeployedCountries();
687  virtual bool hasModifiedDeployedCountries() const;
688 
690  virtual void resetVisuals();
691 
693  virtual DtRwVariableBindings* createVariableBindingsForSystem(const DtFilename&, const DtString& newSystemName);
694 
696  virtual std::map<std::string, DtEntityType> templatesForKind(int) const;
697  virtual std::map<std::string, DtEntityType> templatesThatMatch(const DtEntityType&) const;
698 
701  virtual DtModelSetEntry* addNewEntity(const DtObjectType& base, const DtObjectType& newType, const DtString& name,
702  const DtRwNLengthStringVector& categories, const DtString& uniqueID, const makVrv::DtUnicode& elementDefinition = makVrv::DtUnicode::fromAscii(""),
703  bool replaceAmmoName = false);
704 
707  virtual DtModelSetEntry* addNewEntity(const std::string& platformType, const DtObjectType& newType, const DtString& name,
708  const DtRwNLengthStringVector& categories, const DtString& uniqueID, const makVrv::DtUnicode& elementDefinition = makVrv::DtUnicode::fromAscii(""));
709 
711  virtual DtModelSetEntry* addNewEntity(EntityData* baseData, const DtObjectType& newType, const DtString& name,
712  const DtRwNLengthStringVector& categories, const DtString& uniqueID, const makVrv::DtUnicode& elementDefinition = makVrv::DtUnicode::fromAscii(""),
713  bool replaceAmmoName = false);
714 
715  virtual DtModelSetEntry* addNewInheritingEntity(const DtObjectType& parent, const DtObjectType& type, const DtString& name);
716 
718  virtual void addGuiInfo(EntityData*, DtModelSetEntry*, const DtString& name, const DtObjectType&,
719  const DtRwNLengthStringVector& categories, const DtString uniqueId);
720 
722  virtual void removeSystem(const DtFilename&);
723 
724  virtual const DtRwVariableBindings* variableBindings() const;
725 
726  virtual QPixmap getIcon(const makVrf::DtEntityMapperKey& key, int pointSize = 48,
727  bool sizeToFont = false);
728 
729  virtual QPixmap getUnfilledIcon(const makVrf::DtEntityMapperKey& key, const QColor& outlineColor = Qt::black, const QColor& fillColor = Qt::transparent, int pointSize = 48,
730  bool sizeToFont = false);
731 
732  virtual void clearIcons(const makVrf::DtEntityMapperKey& key);
733 
734  static DtSimulationModelSetLoader* create(makVrv::DtDe*);
735 
737  virtual void changeSubordinateTypes(const DtObjectType& oldType, const DtObjectType& newType);
738 
739  virtual void checkParameterUpdates(EntityData*);
740  virtual void checkParameterUpdates(const std::set<makVrf::DtEntityMapperKey>&);
741 
743  virtual makVrv::DtUnicode elementDefinitionFor(const DtEntityType&);
744 
746  virtual DtVrfSubObjectParameterList subordinateObjectsFor(const DtObjectType&) const;
747  virtual DtVrfSubObjectParameterList subordinateObjectsFor(DtEnvironmentSP, DtEnvValueSP objectNode) const;
748 
750  virtual void updateSubordinateObjects(const DtObjectType&, const DtVrfSubObjectParameterList&);
751  virtual void updateSubordinateObjects(DtEnvironmentSP, DtEnvValueSP objectNode, const DtVrfSubObjectParameterList&);
752 
754  virtual void updateFormationTable(const DtObjectType&, const DtFormationTable&);
755 
757  virtual DtEmbarkationInformation embarkationInformationFor(const DtObjectType&) const;
758  virtual DtEmbarkationInformation embarkationInformationFor(DtEnvironmentSP, DtEnvValueSP objectNode) const;
759 
761  virtual void updateEmbarkationInformation(const DtObjectType&, const DtEmbarkationInformation&);
762  virtual void updateEmbarkationInformation(DtEnvironmentSP, DtEnvValueSP objectNode, const DtEmbarkationInformation&);
763 
765  virtual DtDiGuyInformation diGuyInformationFor(const DtObjectType&) const;
766 
768  virtual void updateDiGuyInformation(const DtObjectType&, const DtDiGuyInformation&);
769 
771  virtual DtSensorSignatureInformation sensorSignatureInformationFor(const DtObjectType&) const;
772  virtual DtSensorSignatureInformation sensorSignatureInformationFor(DtEnvironmentSP, DtEnvValueSP root) const;
773 
775  virtual void updateSensorSignatureInformation(const DtObjectType&, const DtSensorSignatureInformation&);
776  virtual void updateSensorSignatureInformation(DtEnvironmentSP, DtEnvValueSP root, const DtSensorSignatureInformation&);
777 
779  virtual DtFormationTable* formationTableFor(const DtObjectType&);
780  virtual DtFormationTable* originalFormationTableFor(const DtObjectType&);
781 
783  virtual Dt3dBoundingVolume boundingVolumeFor(const DtObjectType&) const;
784 
786  virtual bool isAggregate(const DtObjectType&) const;
787 
788  bool loaded() const
789  {
790  return myLoaded;
791  }
792 
794  {
795  return myEntityData;
796  }
797 
798  virtual bool isTemplate(const DtObjectType&) const;
799  virtual bool templateExists(const DtObjectType&) const;
800 
801  virtual void setForceManagerModified(bool);
802  virtual bool forceManagerModified() const;
803 
804  virtual DtFilename modelDefinitionsPath();
805 
806  virtual bool upgradeCountriesToCountryCodes(EntityData*);
807 
808  virtual bool isInMasterSMS(const DtObjectType&) const;
809  virtual bool isInMasterSMS(const DtFilename&) const;
810  virtual bool isInMasterSMS(const DtComponentSystemDefinition*) const;
811 
812  virtual DtString smsName(const DtObjectType&) const;
813  virtual DtString smsName(const DtFilename&) const;
814  virtual DtString smsName(const DtComponentSystemDefinition*) const;
815 
816  virtual const DtComponentSystemDefinition* originalSystemDefinitionFor(const DtComponentSystemDefinition*) const;
817  virtual const DtComponentSystemDefinition* originalSystemDefinitionFor(const DtFilename&) const;
818 
820  virtual bool saveData();
821  virtual bool saveData(EntityData* data, bool force = false);
822 
824  virtual bool saveFavorites();
825 
827  virtual bool saveSystems();
828 
830  virtual bool saveAmmunitionTable();
831 
833  virtual bool saveDetonationTable();
834 
835  virtual bool saveDetonationTerrainDeformationTable();
836 
838  virtual DtObjectType templateObjectType(const std::string& parameterType) const;
839 
841  virtual void addInternalItem(const std::string&, bool markDataAsWell = true);
842 
844  virtual void addIgnorePlatformType(const DtString&);
845 
848  virtual QString parameterDisplayName(const DtString& parameterType, bool stopAtFirst = true) const;
849 
851  virtual std::map<DtString, QString> availableParameterTypes(const std::set<std::string>& except = std::set<std::string>()) const;
852 
855  virtual std::vector<DtReaderWriter*> supportPointsFor(const DtObjectType&) const;
856 
858  virtual DtObjectType uniqueEntityTypeFrom(const DtObjectType&, bool onlyFromMasterSMS = false) const;
859 
861  virtual makVrv::DtUnicode systemNameForSystem(const std::string&, DtFilename& fullFilename) const;
862 
864  virtual bool hasFactoryChecksums() const;
865 
867  virtual const DtSmsChecksum& factoryChecksums() const;
868 
870  virtual DtRwVisualMetaData* addOrUpdateVisualMetaData(const DtEntityType&);
871 
873  virtual DtComponentSystemDefinition* duplicateSystem(const DtComponentSystemDefinition* base, const DtString& systemName, const DtFilename& systemFilename);
874 
876  virtual DtComponentSystemDefinition* createFromTemplate(const DtString& systemName, const DtFilename& systemFilename, const DtComponentSystemDefinition* systemTemplate);
877  virtual DtFilename filenameToSystemFilename(DtFilename systemFilename) const;
878 
881  virtual void promoteSystem(DtComponentSystemDefinition*);
882 
884  virtual std::map<DtSymbolString, DtAmmunitionParamsEntry*> ammunitionTable() const;
885 
887  virtual DtAmmunitionParamsEntry* addAmmunition(const DtString& name, const DtString& label, const DtObjectType& munitionType);
888 
890  virtual DtAmmunitionParamsEntry* ammunitionEntry(const DtSymbolString&) const;
891  virtual DtAmmunitionParamsEntry* ammunitionEntry(const DtObjectType&) const;
892 
894  virtual DtMunitionDetonationPowerEntry* detonationPowerEntry(const DtObjectType&) const;
895 
896  virtual std::set<DtEntityType> detonationTypes() const;
897  virtual DtMunitionDetonationPowerEntry* duplicatePowerEntry(const DtObjectType&, const DtEntityType&);
898 
900  virtual std::vector<DtTargetingControlTable*> getTargetingControlTables(const makVrf::DtEntityMapperKey&) const;
901 
903  virtual std::map<DtComponentSystemDefinition*, const DtRangeProbabilityTable*> getSystemsAndHitTables() const;
904 
906  typedef std::map<const DtComponentSystemDefinition*, std::pair<const DtTargetingControlTable*,
908  virtual TargetingControlAndRangeTables getTargetingControlAndRangeTables(const makVrf::DtEntityMapperKey&) const;
909  virtual void findAllTargetingControlAndRangeTables(const DtString&, TargetingControlAndRangeTables&) const;
910 
912  virtual DtRwDamageByMunitionPowerMap* damageTableFor(const makVrf::DtEntityMapperKey&, DtComponentSystemDefinition** system = 0) const;
913 
914  virtual QString translatedSystemName(const DtComponentSystemDefinition* definition) const;
915  virtual QString translatedSystemDescription(const DtComponentSystemDefinition* definition) const;
916 
918  virtual DtObjectType ammunitionType(const DtSymbolString&) const;
919 
921  virtual QString ammunitionDisplayName(const DtSymbolString&) const;
922  virtual void setAmmoEntryIfNecessary(EntityData* data, const DtAmmunitionParamsEntry* templateEntry = 0);
923 
925  virtual bool ammunitionCanTarget(const DtSymbolString&, const DtEntityType&) const;
926 
927  void setNeedsPruning(bool b) { myNeedsPruning = b; };
928  bool needsPruning() const
929  {
930  return myNeedsPruning;
931  }
932 
933  boost::signals2::signal<void()> signal_preloadSimulationModelSet;
934  boost::signals2::signal<void()> signal_simulationModelSetLoaded;
935  boost::signals2::signal<void(std::vector<EntityData*>)> signal_newDataFileAdded;
936  boost::signals2::signal<void(EntityData*)> signal_entityEntryAboutToBeRemoved;
937  boost::signals2::signal<void(EntityData*)> signal_entityEntryAdded;
938  boost::signals2::signal<void(EntityData*)> signal_visualMappingsModified;
939  boost::signals2::signal<void()> signal_resetVisuals;
940  boost::signals2::signal<void(bool)> signal_readOnlyChanged;
941  boost::signals2::signal<void(DtComponentSystemDefinition*)> signal_systemEntryAdded;
942  boost::signals2::signal<void(const DtFilename&)> signal_systemRemoved;
943  boost::signals2::signal<void(DtComponentSystemDefinition*)> signal_systemAboutToBeRemoved;
944  boost::signals2::signal<void(const DtObjectType&, const DtObjectType&)> signal_objectTypeAboutToBeChanged;
945  boost::signals2::signal<void(const DtObjectType&, const DtObjectType&)> signal_objectTypeChanged;
946 
948  boost::signals2::signal<void(makVrv::DtDe*)> signal_displayDeSet;
949 
950 public:
951  const DtModelSet* modelSet() const;
952  DtModelSet* modelSet();
953 
954  virtual makVrf::DtVrfGuiForceManager* forceManager();
955 
956  const DtSimulationModelSet& simulationModelSet() const;
957  bool hasSimulationModelSet() const;
958  DtSimulationModelSet& simulationModelSet();
959  const DtFilename& parameterFilename() const;
960  const DtSimulationObjectEditorComponentSystemDatabase* originalSystemDatabase() const;
961  const DtSimulationObjectEditorComponentSystemDatabase* modifiedSystemDatabase() const;
962  const DtSimulationObjectEditorComponentSystemDatabase* templateSystemDatabase() const;
963  DtSimulationObjectEditorComponentSystemDatabase* modifiedSystemDatabase();
964  DtFilename modelSetDirectory() const;
965 
966  virtual void forceRemoved(DtForceType forceType);
967 
968  const DtRwForces& allForces() const;
969 
970  virtual std::vector<const DtComponentSystemDefinition*> systemDefinitionsFor(const DtObjectType& o) const;
971  virtual std::vector<const DtComponentSystemDefinition*> systemDefinitionsFor(const DtObjectType& o, const DtString& category) const;
972 
973  virtual const DtReaderWriter* findVariable(const DtVariableBindingsList&, const DtString&) const;
974  virtual const DtReaderWriter* findOriginalVariable(const makVrf::DtEntityMapperKey& emk, const DtString&) const;
975  virtual const DtReaderWriter* findModifiedVariable(const makVrf::DtEntityMapperKey& emk, const DtString&) const;
976  virtual DtReaderWriter* findVariable(const DtVariableBindingsList&, const DtString&);
977  virtual DtReaderWriter* findOriginalVariable(const makVrf::DtEntityMapperKey& emk, const DtString&);
978  virtual DtReaderWriter* findModifiedVariable(const makVrf::DtEntityMapperKey& emk, const DtString&);
979  virtual const DtReaderWriter* variableFromAnyPlatform(const DtString& varName) const;
980 
981  virtual void addModifiedVariable(const makVrf::DtEntityMapperKey& emk, DtReaderWriter* rw);
982 
983  virtual DtVrfObjectParameters* platformParameters(const makVrf::DtEntityMapperKey& key) const;
984 
985  virtual const DtStandardSensorObjects& standardSensorObjects() const;
986  virtual DtStandardSensorObjects& standardSensorObjects();
987  virtual bool processModelSet(DtSimulationModelSet*, LoadFlags flags = LoadAll, bool isMasterSMS = false);
988 
989  virtual std::vector<EntityData*> addDataFromFile(const DtString& file,
990  DtSimulationModelSet* set, bool isMasterSMS,
991  bool signalAddition = true, bool isTemplate= false, LoadFlags flags = LoadAll);
992 
993  virtual DtVariableBindingsList* copyBindingsList(const DtVariableBindingsList* orig) const;
994 
998  virtual void getSubordinateFunctions(DtSubordinateFunctionTable& functions) const;
999 
1003  virtual const std::vector<DtSubordinateFunctionTable>& subordinateFunctionTables() const;
1004  virtual std::vector<DtSubordinateFunctionTable>& subordinateFunctionTables();
1006 
1007 protected:
1008  virtual EntityData* completeDataIfNecessary(EntityData* data);
1009 
1010  virtual void replaceVariableNamesWithUpdatedVariableNames(DtRwVariableBindings*, const DtComponentSystemDefinition*);
1011 
1015  virtual void markInternalItemsAsReadOnly(DtVariableBindingsList*);
1016 
1017  virtual const DtReaderWriter* findVariable(const DtString& var, const DtReaderWriter* rw) const;
1018 
1019  virtual void loadSystemFilesFromDirectory(const QString& directoryName, const DtVariableBindingsList& variableBindings, DtSimulationModelSet*, bool isInMasterSMS,
1020  bool loadTemplates = false);
1021 
1022  virtual void addVariableReferences(DtReaderWriter* source, DtRwVariableBindings* toBindings) const;
1023 
1024  virtual void cleanup();
1025  virtual bool ignorePlatformType(const DtString&) const;
1026 
1027  virtual bool saveForceHostility(const DtFilename& filename);
1028 
1029  virtual bool warned(const DtFilename&);
1030  virtual void removeEntityFromSubObjects(const DtObjectType&);
1031 
1032  virtual void mergeFavoritesIntoModelSet(DtModelSet* favorites, DtModelSet* set);
1033 
1034  virtual void setupParametersForDataFiles(std::vector<EntityData*>&, DtSimulationModelSet* set);
1035 
1036  virtual EntityData* createParameterDataFrom(DtVrfObjectParameters*) const;
1037 
1039  virtual bool updateFromPlatform(EntityData* data, const DtReaderWriter* oldRegData, DtEnvironmentSP env, DtEnvValueSP objectNode) const;
1040 
1042  virtual bool traverseRwObject(const DtReaderWriter* rwObject, DtEnvironmentSP env, DtEnvValueSP objectNode) const;
1043  virtual void addElementFromSystemBinding(DtEnvironmentSP env,
1044  DtEnvValueSP parentElement, DtSystemParameterData* paramData) const;
1045 
1046  virtual DtFormationTable* formationTableFor(DtEnvironmentSP, DtEnvValueSP objectNode) const;
1047 
1049  virtual void updateFormationTable(DtEnvironmentSP, DtEnvValueSP objectNode, const DtFormationTable&);
1050 
1051  virtual DtModelSetEntry* addModelSetEntryFromEnvironment(DtEnvironmentSP, DtEnvValueSP node);
1052  virtual DtModelSetEntry* addModelSetEntryFromSimulationObjectGroup(EntityData*);
1053 
1054 public:
1055  virtual void addToInternalCategories(DtModelSetEntry* entry, bool isInMasterSMS);
1056 
1057 protected:
1058  virtual void addToInternalCategories(const DtComponentSystemDefinition* entry, bool isInMasterSMS);
1059 
1060  virtual void addEntityDataEntry(EntityData*, bool signal = true);
1061  virtual void removeEntityDataEntry(EntityData*, bool signal = true, bool removeFromVisualsToo = true);
1062 
1064  virtual ParametersMap::const_iterator findAvailablePlatform(const DtString& platform) const;
1065  virtual ParametersData::const_iterator findAvailableParameter(const DtString& platform) const;
1066  virtual ParametersData::const_iterator findAvailableParameterFromFile(const DtFilename& platform) const;
1067  virtual ParametersData::const_iterator findAvailableParameterType(const DtString& parameterType) const;
1068 
1070  virtual void swapCurrentEntry(EntityData*, DtModelSetEntry*);
1071 
1073  virtual DtString filenameFromEntityName(const DtString& name) const;
1074 
1076  virtual DtString uniqueEntityFilename(const DtString& name) const;
1077 
1079  virtual void loadVisuals(DtSimulationModelSet*, bool createIfDoesNotExist = false);
1080 
1082  virtual bool updateAndAddMatchTypeVisuals(EntityData* baseType, const DtEntityType& matchType);
1083 
1085  virtual bool removeMatchingTypeFromVisuals(const DtEntityType& matchType);
1086 
1087  virtual void finalizeCategoryInformationFor(const DtSimulationModelSet& sms, CategoryTypes type = EntityCategories);
1088 
1089  virtual DtFilename categoryFilename(const DtSimulationModelSet& sms, CategoryTypes type = EntityCategories) const;
1090 
1091  static DtAmmunitionManager* createAmmunitionManager();
1092  static void setAmmunitionManagerCreator(AmmunitionManagerCreator creator);
1093 
1094  virtual void convertAmmunitionToEntityData(DtAmmunitionParams*, bool inMasterSMS, DtSimulationModelSet* sms);
1095  virtual DtAmmunitionParams* createAmmunitionParameters() const;
1096  virtual DtDetonationParams* createDetonationParameters() const;
1097 
1098  virtual DtTerrainDeformationParams* createDetonationTerrainDeformationParams() const;
1099 
1100  virtual void getPartsFromModel(const DtObjectType& objectType, std::list<DtSimArtPartDescriptor>& artParts);
1101  virtual void parsePowerTypes();
1102 
1103 protected:
1104 
1106 
1107  QStringList myWarned;
1112 
1113  typedef std::map<DtFilename, bool> SystemIsInMasterSMSMap;
1115 
1119 
1120  typedef std::map<int, DtSimulationObjectCategoryInformation> CategoriesMap;
1124 
1125  typedef std::map<int, QStringList> StringCategoriesMap;
1132  bool myLoaded;
1135 
1138 
1141 
1143 
1145 
1148 
1149  std::set<std::string> myInternalItems;
1150  std::set<DtString> myIgnorePlatformType;
1153 
1154  typedef std::map<DtModelSetEntry*, EntityData*> EntityDataByEntry;
1156 
1157  std::vector<QTranslator*> myTranslators;
1159 
1161 
1162  std::map<DtString, int> myMatchingVisualTypes;
1164 
1168 
1170 
1173 
1174  mutable std::string myDiGuyCharacterOMMX;
1175  mutable std::string myDiGuyCharacterLeaf;
1176 
1177  std::map<DtString, DtString> myDefaultRangeForPowerType;
1178  std::map<DtString, std::vector<DtString> > mySupportedRangesByPowerType;
1179 
1180  struct PowerTitle
1181  {
1183  QString withAdditionX;
1185  QString withAdditionY;
1189  };
1190 
1191  std::vector<DtString> myIconLists;
1192  std::vector<DtString> myOriginalIconLists;
1193  std::map<DtString, PowerTitle> myPowerTypes;
1194  std::vector<DtSubordinateFunctionTable> mySubordinateFunctionTables;
1196 
1197  static AmmunitionManagerCreator theAmmunitionManagerCreator;
1198 };
1199 
1201 {
1203  {
1204  return mySimulationModelSet->filename();
1205  }
1206  else
1207  {
1208  return "";
1209  }
1210 }
1211 
1213 {
1214  return (mySimulationModelSet != 0);
1215 }
1216 
1218 {
1219  return *mySimulationModelSet;
1220 }
1221 
1223 {
1224  return *mySimulationModelSet;
1225 }
1226 
1228 {
1229  return myModelSet;
1230 }
1231 
1233 {
1234  return myModelSet;
1235 }
1236 
1237 inline const DtFilename& DtSimulationModelSetLoader::parameterFilename() const
1238 {
1239  return myParameterFilename;
1240 }
1241 
1243 {
1244  return myAllForces;
1245 }
1246 
1248 {
1249  return myAutoTagInformation;
1250 }
1251 
1253 {
1254  return myAutoTagInformation;
1255 }
1256 
1258 {
1259  CategoriesMap::const_iterator iter = myDefaultCategories.find(type);
1260 
1261  return iter->second;
1262 }
1263 
1265 {
1266  return myDefaultCategories[type];
1267 }
1268 
1270 {
1271  CategoriesMap::const_iterator iter = myNonMasterModeCategories.find(type);
1272 
1273  return iter->second;
1274 }
1275 
1277 {
1278  return myNonMasterModeCategories[type];
1279 }
1280 
1281 inline const QStringList& DtSimulationModelSetLoader::defaultOverlayLayers() const
1282 {
1283  return myDefaultOverlayLayers;
1284 }
1285 
1287 {
1289 }
1290 
1292 {
1293  myDefaultOverlayLayers.push_back(l);
1294 }
1295 
1297 {
1299 }
1300 
1302 {
1304 }
1305 
1307 {
1308  myDefaultDeployedCountries.push_back(l);
1310 }
1311 
1313 
1315 {
1316  return !(lhs.operator<(rhs));
1317 }
1318 
1320 {
1321 public:
1323 
1325 
1326  virtual void loadAllSmsFiles();
1327 
1328 protected:
1329  virtual void processModelSet(DtSimulationModelSet*);
1330 
1331 protected:
1336 };
std::map< DtModelSetEntry *, EntityData * > EntityDataByEntry
Definition: simulationModelSetLoader.h:1154
Definition: simulationModelSetLoader.h:160
Definition: simulationModelSetLoader.h:1319
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:270
std::map< int, QStringList > StringCategoriesMap
Definition: simulationModelSetLoader.h:1125
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:1187
DtModelSetEntry * myCurrentModelSetEntry
Definition: simulationModelSetLoader.h:235
Definition: symbolString.h:20
DtVariableBindingsList * myOriginalVariableBindings
Definition: simulationModelSetLoader.h:229
DtRwForces myAllForces
Definition: simulationModelSetLoader.h:1118
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:1191
DtSimulationObjectCategoryInformation & nonMasterModeCategories(CategoryTypes)
Definition: simulationModelSetLoader.h:1276
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:1192
std::string myDiGuyCharacterOMMX
Definition: simulationModelSetLoader.h:1174
bool needsForceAddition
Definition: simulationModelSetLoader.h:1186
boost::signals2::signal< void(bool)> signal_readOnlyChanged
Definition: simulationModelSetLoader.h:940
DtTerrainDeformationParams * myMasterModeDetTerrainDeformParameters
Definition: simulationModelSetLoader.h:1139
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:945
DtEnvironmentSP myParentEnvironment
Definition: simulationModelSetLoader.h:254
std::vector< QTranslator * > myTranslators
Definition: simulationModelSetLoader.h:1157
boost::signals2::signal< void()> signal_simulationModelSetLoaded
Definition: simulationModelSetLoader.h:934
SystemIsInMasterSMSMap mySystemIsInMasterSMSMap
Definition: simulationModelSetLoader.h:1114
class DtScenarioExplorer:
Definition: scenarioExplorer.h:26
boost::signals2::signal< void(DtComponentSystemDefinition *)> signal_systemEntryAdded
Definition: simulationModelSetLoader.h:941
DT_DLL_readerWriter DtBoost::shared_ptr< DtEnvironment > DtEnvironmentSP
Definition: readerWriter.h:30
DtTerrainDeformationParams * myDetonationTerrainDeformationParameters
Definition: simulationModelSetLoader.h:1140
boost::signals2::signal< void(EntityData *)> signal_entityEntryAdded
Definition: simulationModelSetLoader.h:937
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:1111
QString withAdditionX
Definition: simulationModelSetLoader.h:1183
boost::signals2::signal< void(const DtObjectType &, const DtObjectType &)> signal_objectTypeAboutToBeChanged
Definition: simulationModelSetLoader.h:944
virtual const ParametersMap & availableParameters() const
Definition: simulationModelSetLoader.h:533
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:1105
std::map< DtFilename, bool > SystemIsInMasterSMSMap
Definition: simulationModelSetLoader.h:1113
std::map< DtString, std::vector< DtString > > mySupportedRangesByPowerType
Definition: simulationModelSetLoader.h:1178
DtSimulationModelSet * mySimulationModelSet
Definition: simulationModelSetLoader.h:1333
Definition: readerWriterRegistry.h:39
ParametersData myParametersData
Definition: simulationModelSetLoader.h:1147
DtEnvValueSP myOriginalDataNode
Definition: simulationModelSetLoader.h:204
DtSimulationModelSetLoader * mySimulationModelSetLoader
Definition: simulationModelSetLoader.h:1334
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:1177
std::string myDataFile
Definition: simulationModelSetLoader.h:202
Definition: smsChecksum.h:15
int myTotalNumberOfEntityFiles
Definition: simulationModelSetLoader.h:1169
std::map< DtString, int > myMatchingVisualTypes
Definition: simulationModelSetLoader.h:1162
DtFilename myParentFile
Definition: simulationModelSetLoader.h:253
bool needsPruning() const
Definition: simulationModelSetLoader.h:928
QString withAdditionY
Definition: simulationModelSetLoader.h:1185
std::map< DtString, PowerTitle > myPowerTypes
Definition: simulationModelSetLoader.h:1193
DtDiGuyInformation * myModifiedDiGuyInformation
Definition: simulationModelSetLoader.h:244
std::map< DtArtPartType, DtSimArtPartDescriptor > ArtPartMap
Definition: simulationModelSetLoader.h:272
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:907
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:1212
bool myIsDeleted
Definition: simulationModelSetLoader.h:248
CategoriesMap myNonMasterModeCategories
Definition: simulationModelSetLoader.h:1122
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:1133
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:1134
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:1127
DtSmsChecksum myFactorySmsChecksum
Definition: simulationModelSetLoader.h:1171
DtMunitionDetonationPowerEntry * myModifiedPowerTableEntry
Definition: simulationModelSetLoader.h:216
makVrv::DtDe & myDe
Definition: simulationModelSetLoader.h:1332
bool mySaveReadOnlyFlag
Definition: simulationModelSetLoader.h:1172
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:943
bool loaded() const
Definition: simulationModelSetLoader.h:788
std::string myDiGuyCharacterLeaf
Definition: simulationModelSetLoader.h:1175
const DtOrderedObjectTypeList< EntityData * > & entityData() const
Definition: simulationModelSetLoader.h:793
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:1121
static AmmunitionManagerCreator theAmmunitionManagerCreator
Definition: simulationModelSetLoader.h:1197
makVrv::DtDe & myDe
Definition: simulationModelSetLoader.h:1130
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:1252
void addDefaultDeployedCountry(const QString &)
Definition: simulationModelSetLoader.h:1306
std::list< const DtRwVariableBindings * > DtVariableBindingsList
Definition: readerWriterRegistry.h:29
Definition: simulationModelSetLoader.h:1180
boost::shared_ptr< EnvironmentContainer > EnvironmentContainerSP
Definition: simulationModelSetLoader.h:158
std::set< DtVariableBindingsList > systemsAddedThisSession
Definition: simulationModelSetLoader.h:257
CategoriesMap myOriginalDefaultCategories
Definition: simulationModelSetLoader.h:1123
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:1116
DtFormationTable.
Definition: formationTable.h:23
std::vector< DtFilename > SearchPaths
Definition: readerWriter.h:92
DtSimulationModelSetLoader::LoadFlags myLoadFlags
Definition: simulationModelSetLoader.h:1335
EntityDataByEntry myEntityDataByEntry
Definition: simulationModelSetLoader.h:1155
const QStringList & defaultOverlayLayers() const
Definition: simulationModelSetLoader.h:1281
const DtModelSet * modelSet() const
Definition: simulationModelSetLoader.h:1227
StringCategoriesMap myMasterModeCategories
Definition: simulationModelSetLoader.h:1126
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:1163
DtDamageProbabilityTable.
Definition: damageProbabilityTable.h:20
DtOrderedObjectTypeList< EntityData * > myEntityData
Definition: simulationModelSetLoader.h:1142
DtSensorSignatureInformation * myModifiedSensorSignatureInformation
Definition: simulationModelSetLoader.h:245
std::map< int, DtSimulationObjectCategoryInformation > CategoriesMap
Definition: simulationModelSetLoader.h:1120
bool myReadOnly
Definition: simulationModelSetLoader.h:1166
DtFormationTable * myOriginalFormationTable
Definition: simulationModelSetLoader.h:230
DtSimulationModelSet * masterSMS() const
Definition: simulationModelSetLoader.h:352
QStringList myDefaultDeployedCountries
Definition: simulationModelSetLoader.h:1129
bool myLoaded
Definition: simulationModelSetLoader.h:1132
DtFilename simulationModelSetFilename() const
Returns the filename of the current simulation model set file.
Definition: simulationModelSetLoader.h:1200
bool operator>(const DtObjectType &lhs, const DtSimulationModelSetLoader::EntityData &rhs)
Definition: simulationModelSetLoader.h:1314
const char * source
Definition: lz4.h:442
DtMunitionDetonationPowerEntry.
Definition: munitionDetonationPowerEntry.h:19
const QStringList & defaultDeployedCountries() const
Definition: simulationModelSetLoader.h:1296
DtSimulationObjectEditorComponentSystemDatabase * myModifiedSystemDatabase
Definition: simulationModelSetLoader.h:1110
std::set< std::string > myInternalItems
Definition: simulationModelSetLoader.h:1149
std::set< DtString > elementsAddedThisSession
Definition: simulationModelSetLoader.h:256
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:251
QString withoutAdditionY
Definition: simulationModelSetLoader.h:1184
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:1291
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:942
DtSimulationObjectCategoryInformation & defaultCategories(CategoryTypes)
Definition: simulationModelSetLoader.h:1264
DtSimulationObjectGroupModelSetEntry * myModifiedSOGData
Definition: simulationModelSetLoader.h:210
bool titleOnly
Definition: simulationModelSetLoader.h:1188
LoadFlags
Definition: simulationModelSetLoader.h:96
void setDefaultOverlayLayers(const QStringList &)
Definition: simulationModelSetLoader.h:1286
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:1150
boost::signals2::signal< void(EntityData *)> signal_entityEntryAboutToBeRemoved
Definition: simulationModelSetLoader.h:936
void setDefaultDeployedCountries(const QStringList &)
Definition: simulationModelSetLoader.h:1301
bool myNeedsPruning
Definition: simulationModelSetLoader.h:1195
vrlink
Definition: subordinateFunctionTable.h:20
ParametersMap myAvailableParameters
Definition: simulationModelSetLoader.h:1146
makVrf::DtVrfVisualsManager * myVrfVisualsManager
Definition: simulationModelSetLoader.h:1160
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:1158
boost::signals2::signal< void(EntityData *)> signal_visualMappingsModified
Definition: simulationModelSetLoader.h:938
boost::signals2::signal< void()> signal_resetVisuals
Definition: simulationModelSetLoader.h:939
bool hasParentFile()
Definition: simulationModelSetLoader.h:259
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:1167
DtSimulationObjectEditorScenarioExplorer * myScenarioExplorer
Definition: simulationModelSetLoader.h:1144
DtModelSet * myFavoritesModelSet
Definition: simulationModelSetLoader.h:1151
EntityData * myIsReplacing
Definition: simulationModelSetLoader.h:250
DtModelSet * myBackupFavoritesModelSet
Definition: simulationModelSetLoader.h:1152
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:933
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:1137
static const int DtTemplateKindBase
Definition: simulationModelSetLoader.h:91
QStringList myWarned
Definition: simulationModelSetLoader.h:1107
const DtFilename & parameterFilename() const
Definition: simulationModelSetLoader.h:1237
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:948
DtSimulationObjectEditorComponentSystemDatabase * myOriginalSystemDatabase
Definition: simulationModelSetLoader.h:1109
DtSimulationModelSet * mySimulationModelSet
Definition: simulationModelSetLoader.h:1108
std::vector< DtSubordinateFunctionTable > mySubordinateFunctionTables
Definition: simulationModelSetLoader.h:1194
QString withoutAdditionX
Definition: simulationModelSetLoader.h:1182
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:1242
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:1165
DtModelSet * myModelSet
Definition: simulationModelSetLoader.h:1117
const DtSimulationModelSet & simulationModelSet() const
Definition: simulationModelSetLoader.h:1217
QStringList myDefaultOverlayLayers
Definition: simulationModelSetLoader.h:1128
void setNeedsPruning(bool b)
Definition: simulationModelSetLoader.h:927
DtDetonationParams * myMasterModeDetonationParameters
Definition: simulationModelSetLoader.h:1136
makVrv::DtDe * myDisplayDe
Definition: simulationModelSetLoader.h:1131

Document ID: Generated on Mon Jun 20 00:38:30 EDT 2022 from SVN revision 244029
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)