VR-Forces 4.5 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator 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 
15 #include <vrvUtil/signalslib.h>
17 #include <vrfutil/rwForces.h>
22 #include <vrfutil/formationTable.h>
23 #include <vlutil/vlFilename.h>
24 #include <mtl/envValue.h>
25 #include <matrix/3dBoundingVolume.h>
27 #include <vrvUtil/DtUnicode.h>
28 #include <QtCore/QHash>
29 #include <QtGui/QPixmap>
30 #include <QtCore/QObject>
33 
36 
37 class DtEnvList;
44 class QTranslator;
46 
47 namespace makVrf
48 {
49  class DtEntityMapperKey;
50  class DtVrfVisualsManager;
51  class DtVrfEntityTypeMapper;
52 }
53 
54 namespace makVrv
55 {
56  class DtForceManager;
57  class DtModelDefinitionManager;
58  class DtEntityTypeMapper;
59 }
60 
61 class DtObjectType;
62 class DtModelSet;
64 class QComboBox;
66 class DtEnvironment;
67 class DtVariableBindingList;
68 
69 static const int DtTemplateKindBase = 400;
70 
72 {
73 public:
74  enum LoadFlags
75  {
76  LoadDataFiles = 0x00000001,
77  LoadParameterFiles = 0x00000002,
78  LoadSystemFiles = 0x00000004,
79  LoadSupportingFiles = 0x00000008,
80  LoadStandardSensorObjects = 0x00000010,
81  LoadTranslationFiles = 0x00000020,
82  LoadVisualFiles = 0x00000040,
83  LoadOrCreateVisualFiles = 0x00000080,
84  LoadAll = LoadDataFiles | LoadParameterFiles | LoadSystemFiles | LoadSupportingFiles | LoadStandardSensorObjects | LoadTranslationFiles | LoadOrCreateVisualFiles
85  };
86 
87  typedef std::map<DtString, DtVrfObjectParameters*> ParametersMap;
88 
90  {
91  public:
94 
95  virtual ~EnvironmentContainer();
96 
97  void seedFrom(DtEnvironmentSP env, DtEnvValueSP root);
98 
99  DtEnvironmentSP copyEnvironment(DtEnvironmentSP) const;
100  void reparentEnvironmentChildren(DtEnvList*, DtEnvValueSP root) const;
101 
102  DtEnvValueSP backup();
103  DtEnvValueSP update();
104 
105  void remove(DtEnvValueSP originalNode, DtEnvValueSP modifiedNode);
106  bool isEmpty() const;
107 
108  DtEnvValueSP replace(DtEnvironmentSP env, DtEnvValueSP node, DtEnvValueSP replaceWith);
109  void reparentRoots(DtEnvValueSP templateRoot, DtEnvValueSP newRoot) const;
110 
113  };
114 
115  typedef boost::shared_ptr<EnvironmentContainer> EnvironmentContainerSP;
116 
117  class EntityData : public DtObjectType
118  {
119  public:
120  EntityData();
121  virtual ~EntityData();
122  EntityData(const DtObjectType& objectType, const DtObjectType& matchType = DtObjectType::nullType());
123  EntityData(const EntityData& t);
124 
125  //sets the object type
126  EntityData& operator=(const DtObjectType&);
127 
128  EntityData& operator=(const EntityData&);
129 
130  virtual EntityData* clone() const;
131 
132  //compares to the object type
133  bool operator>(const DtObjectType& rhs) const
134  {
135  if (*this < rhs)
136  {
137  return false;
138  }
139  else
140  {
141  return true;
142  }
143  }
144 
145  //compares to the object type
146  bool operator>(const EntityData& rhs) const
147  {
148  if (*this < rhs)
149  {
150  return false;
151  }
152  else
153  {
154  return true;
155  }
156  }
157 
159  std::string myDataFile;
160 
164 
167 
168  std::list<DtObjectType> myAdditionalMatchTypes;
169  std::list<DtObjectType> myOriginalAdditionalMatchTypes;
170 
172 
174  DtEnvValueSP myOriginalObjectNode;
183 
185  DtEnvValueSP myModifiedObjectNode;
192 
193  bool myIsNew;
195 
198  };
199 
200  typedef std::map<std::string, EntityData*> ParametersData;
201 
204 
205  virtual ~DtSimulationModelSetLoader();
206 
207  virtual bool load(const DtSimulationModelSet&, LoadFlags flags = LoadAll);
208  virtual bool save(const DtFilename&);
209 
210  static DtSimulationModelSetLoader& instance(makVrv::DtDe&);
211  static void registerInstance(makVrv::DtDe&, DtSimulationModelSetLoader*);
212 
213  virtual void setDisplayDe(makVrv::DtDe*);
214  virtual makVrv::DtDe& displayDe();
215 
216 private:
219 
220 public:
222  virtual bool hasFileNamed(const std::string& s) const;
223 
226  virtual bool addNewDataFile(const std::string&);
227 
229  virtual bool addNewSimulationObjectGroup(const std::string&);
230 
232  virtual bool addNewRandomizedObject(const std::string&);
233 
235  virtual bool simulationObjectGroupExists(const std::string&) const;
236 
238  virtual bool randomizedObjectExists(const std::string&) const;
239 
242  virtual DtModelSetEntry* createNewSimulationObjectGroupFromExisting(const DtObjectType& base, const std::string& newName,
243  const DtRwNLengthStringVector& categories = DtRwNLengthStringVector("categories"));
244  virtual DtModelSetEntry* createNewSimulationObjectGroupFromExisting(EntityData* data, const std::string& newName,
245  const DtRwNLengthStringVector& categories = DtRwNLengthStringVector("categories"));
246 
248  virtual std::string platform(const makVrf::DtEntityMapperKey& k) const;
249 
251  virtual std::string uiFilename(const makVrf::DtEntityMapperKey& k) const;
252 
254  virtual DtSimulationModelSet* simulationModelSet(const makVrf::DtEntityMapperKey& k) const;
255 
257  virtual std::string platformFileType(const makVrf::DtEntityMapperKey& k) const;
258 
260  virtual std::string platformKey(const makVrf::DtEntityMapperKey& k) const;
261 
263  virtual DtString platformDisplayName(const makVrf::DtEntityMapperKey& k) const;
264 
266  virtual DtString platformDisplayDescription(const makVrf::DtEntityMapperKey& k) const;
267 
269  virtual bool addMissingVariablesFromPlatformsAndSystems();
270  virtual bool addMissingVariablesFromPlatformsAndSystems(EntityData* data, std::map<DtString, DtRwVariableBindings*>&);
271 
272  DtFilename getSystemDirectory() const;
273  DtFilename getNavDataDirectory() const;
274  DtFilename getFormationDirectory() const;
275  DtFilename getGuiDirectory() const;
276  DtFilename path() const;
277 
279  DtFilename simulationModelSetFilename() const;
280 
281  virtual bool openSystemFiles(DtSimulationModelSet* set, const DtFilename& directory);
282 
283  virtual bool loadForceHostilityFile(const DtFilename& f);
284 
287  virtual bool loadDataFiles(const DtString&, DtSimulationModelSet*, bool fromMasterSMS);
288 
290  virtual void loadSimulationObjectGroupFiles(const DtString&, DtSimulationModelSet*, bool fromMasterSMS);
291 
293  virtual DtModelSetEntry* reloadSimulationObjectGroup(const DtString&);
294 
296  virtual void loadTemplates(const DtString&, DtSimulationModelSet*);
297 
299  virtual void makeTemplate(EntityData*);
300  virtual void makeTemplate(const DtObjectType&);
301 
303  virtual bool loadParameterFiles(DtSimulationModelSet* sms);
304 
306  virtual bool loadModelSet();
307 
310  virtual DtModelSetEntry* modelEntry(const DtObjectType&, bool matchPattern = false) const;
311 
313  virtual DtString simulationModelSetFor(const DtEntityType&) const;
314 
316  virtual DtModelSetEntry createModelSetEntryFrom(DtEnvironmentSP env, DtEnvValueSP objectNode) const;
317  virtual DtModelSetEntry createModelSetEntryFrom(const DtObjectType&) const;
318 
320  virtual bool hasGuiKeyword(const makVrf::DtEntityMapperKey&, const std::string&) const;
321 
323  virtual void revertData(const makVrf::DtEntityMapperKey& key);
324 
326  virtual EntityData* dataFor(const DtObjectType&) const;
327 
329  virtual EntityData* dataFor(DtModelSetEntry*) const;
330 
333  virtual bool containsObjectType(const DtObjectType&, bool onlyFromMasterSMS = false, DtString* name = 0) const;
334 
336  virtual bool isSimulationObjectGroup(const DtObjectType&) const;
337 
340  virtual bool hasModelNamed(const DtString&);
341 
342  virtual DtReaderWriter::SearchPaths searchPaths() const;
343  virtual std::vector<DtSimulationModelSet*> modelSets() const;
344 
345  virtual const ParametersMap& availableParameters() const
346  {
347  return myAvailableParameters;
348  }
349 
352  virtual bool createRwVariable(const DtObjectType&, const std::string& rwType, const std::string& rwName, DtReaderWriter*& source,
353  DtReaderWriter*& backup);
354 
355  virtual void replaceSystem(const DtFilename&);
356 
357  virtual bool entryIsRandomized(const DtObjectType&) const;
358  virtual bool canAddSubordinatesTo(const DtObjectType&) const;
359 
360  virtual bool isModified(const DtObjectType&) const;
361  virtual bool isModified(EntityData*) const;
362  virtual bool isModified() const;
363 
364  virtual bool isNew(const DtObjectType&) const;
365  virtual bool isNew(EntityData*) const;
366 
367  virtual bool isDeleted(const DtObjectType&) const;
368  virtual bool isDeleted(EntityData*) const;
369 
370  virtual makVrf::DtVrfEntityTypeMapper& entityTypeMapper(const makVrf::DtEntityMapperKey&);
371  virtual makVrf::DtVrfEntityTypeMapper& aggregateTypeMapper(const makVrf::DtEntityMapperKey&);
372  virtual makVrf::DtVrfEntityTypeMapper& tacticalGraphicsMapper(const makVrf::DtEntityMapperKey&);
373  virtual makVrv::DtElementDefinitionTypeManager& elementDefinitionTypeManager(const makVrf::DtEntityMapperKey&);
374  virtual makVrv::DtModelDefinitionManager& modelDefinitionManager(const makVrf::DtEntityMapperKey&);
375 
376  virtual void saveModelDefinitionManager();
377  virtual void saveVisualElementsFor(makVrv::DtElementDefinitionTypeManager::BuiltInElementTypes);
378  virtual makVrf::DtVrfVisualsManager* visualsManager();
379 
380  virtual makVrf::DtVrfEntityTypeMapper& defaultEntityTypeMapper();
381  virtual makVrf::DtVrfEntityTypeMapper& defaultAggregateTypeMapper();
382  virtual makVrf::DtVrfEntityTypeMapper& defaultTacticalGraphicsMapper();
383  virtual makVrv::DtElementDefinitionTypeManager& defaultElementDefinitionTypeManager();
384  virtual makVrv::DtModelDefinitionManager& defaultModelDefinitionManager();
385 
386  virtual makVrv::DtEntityTypeMapper* systemEntityTypeMapper();
387  virtual makVrv::DtEntityTypeMapper* systemAggregateTypeMapper();
388  virtual makVrv::DtEntityTypeMapper* systemTacticalGraphicsMapper();
389  virtual makVrv::DtElementDefinitionTypeManager& systemElementDefinitionTypeManager();
390  virtual makVrv::DtModelDefinitionManager& systemModelDefinitionManager();
391 
392  virtual void createSpotReportDefinitionFor(const makVrf::DtEntityMapperKey&);
393  virtual void updateVisualsFor(const makVrf::DtEntityMapperKey&);
394  virtual void removeVisualsFor(const makVrf::DtEntityMapperKey&);
395  virtual void removeElementDefinition(const makVrf::DtEntityMapperKey&);
396 
398  virtual void deleteModel(DtModelSetEntry*);
399  virtual void deleteModel(const DtObjectType&);
400  virtual void deleteModel(EntityData*);
401 
403  virtual bool changeObjectType(const DtObjectType& oldType, const DtObjectType& newType);
404 
406  virtual bool changeMatchType(const DtObjectType& oldType, const DtObjectType& newType);
407 
408  virtual bool setAdditionalMatchTypes(const DtObjectType& key, const std::list<DtObjectType> additionalMatchTypes);
409 
412  virtual void updateGuiInformation(EntityData*);
413 
415  virtual void updateSystemData(EntityData*);
416 
418  virtual void sharedSystems(const DtFilename& systemFile, std::vector<DtModelSetEntry*>& result) const;
419 
421  virtual void loadSystemFile(const DtFilename&);
422 
424  virtual void updateDataInformation(EntityData*);
425 
427  virtual void convertRegistryToEnvironment(const DtReaderWriterRegistry& data, DtEnvironmentSP env, DtEnvValueSP objectNode) const;
428 
430  virtual void removeSystem(DtEnvironmentSP env, const DtString& system, DtEnvValueSP objectNode);
431 
433  virtual void addSystem(DtEnvironmentSP env, const DtRwVariableBindings*, DtEnvValueSP objectNode);
434 
435  virtual void changeDefaultCategory(const QString& old, const QString& newCat);
436  virtual void addDefaultCategories(QComboBox*);
437 
438  void setDefaultCategories(const QStringList&);
439  void addDefaultCategory(const QString&);
440  const QStringList& defaultCategories() const;
441  virtual void revertCategories();
442  virtual bool hasModifiedCategories() const;
443 
444  void setDefaultOverlayLayers(const QStringList&);
445  const QStringList& defaultOverlayLayers() const;
446  virtual void revertOverlayLayers();
447  virtual bool hasModifiedOverlayLayers() const;
448  virtual void changeDefaultOverlayLayer(const QString& old, const QString& newCat);
449  virtual void addDefaultOverlayLayers(QComboBox*);
450  void addDefaultOverlayLayer(const QString&);
451 
452  virtual DtRwForces favoritesFor(const DtModelSetEntry*) const;
453  virtual DtRwForces backupFavoritesFor(const DtModelSetEntry*) const;
454  virtual void setFavoritesFor(DtModelSetEntry*, const DtRwForces&);
455 
456  virtual void changeDefaultDeployedCountry(const QString& old, const QString& newCat);
457  virtual void addDefaultDeployedCountries(QComboBox*);
458  void setDefaultDeployedCountries(const QStringList&);
459  void addDefaultDeployedCountry(const QString&);
460  const QStringList& defaultDeployedCountries() const;
461  virtual void revertDeployedCountries();
462  virtual bool hasModifiedDeployedCountries() const;
463 
465  virtual void resetVisuals();
466 
468  virtual DtRwVariableBindings* createVariableBindingsForSystem(const DtFilename&, const DtString& newSystemName);
469 
471  virtual std::map<std::string, DtEntityType> templatesForKind(int) const;
472 
475  virtual DtModelSetEntry* addNewEntity(const DtObjectType& base, const DtObjectType& newType, const DtString& name,
476  const DtRwNLengthStringVector& categories, const DtString& uniqueID, const makVrv::DtUnicode& elementDefinition = makVrv::DtUnicode::fromAscii(""));
477 
480  virtual DtModelSetEntry* addNewEntity(const std::string& platformType, const DtObjectType& newType, const DtString& name,
481  const DtRwNLengthStringVector& categories, const DtString& uniqueID, const makVrv::DtUnicode& elementDefinition = makVrv::DtUnicode::fromAscii(""));
482 
484  DtModelSetEntry* addNewEntity(EntityData* baseData, const DtObjectType& newType, const DtString& name,
485  const DtRwNLengthStringVector& categories, const DtString& uniqueID, const makVrv::DtUnicode& elementDefinition = makVrv::DtUnicode::fromAscii(""));
486 
488  virtual void removeSystem(const DtFilename&);
489 
490  virtual const DtRwVariableBindings* variableBindings() const;
491 
492  virtual QPixmap getIcon(const makVrf::DtEntityMapperKey& key, int pointSize = 48,
493  bool sizeToFont = false);
494 
495  virtual void clearIcons(const makVrf::DtEntityMapperKey& key);
496 
497  static DtSimulationModelSetLoader* create(makVrv::DtDe*);
498 
500  virtual void changeSubordinateTypes(const DtObjectType& oldType, const DtObjectType& newType);
501 
502  virtual void checkParameterUpdates(EntityData*);
503  virtual void checkParameterUpdates(const std::set<makVrf::DtEntityMapperKey>&);
504 
506  virtual DtVrfSubObjectParameterList subordinateObjectsFor(const DtObjectType&) const;
507  virtual DtVrfSubObjectParameterList subordinateObjectsFor(DtEnvironmentSP, DtEnvValueSP objectNode) const;
508 
510  virtual void updateSubordinateObjects(const DtObjectType&, const DtVrfSubObjectParameterList&);
511  virtual void updateSubordinateObjects(DtEnvironmentSP, DtEnvValueSP objectNode, const DtVrfSubObjectParameterList&);
512 
514  virtual void updateFormationTable(const DtObjectType&, const DtFormationTable&);
515 
517  virtual DtEmbarkationInformation embarkationInformationFor(const DtObjectType&) const;
518  virtual DtEmbarkationInformation embarkationInformationFor(DtEnvironmentSP, DtEnvValueSP objectNode) const;
519 
521  virtual void updateEmbarkationInformation(const DtObjectType&, const DtEmbarkationInformation&);
522  virtual void updateEmbarkationInformation(DtEnvironmentSP, DtEnvValueSP objectNode, const DtEmbarkationInformation&);
523 
525  virtual DtDiGuyInformation diGuyInformationFor(const DtObjectType&) const;
526 
528  virtual void updateDiGuyInformation(const DtObjectType&, const DtDiGuyInformation&);
529 
531  virtual DtSensorSignatureInformation sensorSignatureInformationFor(const DtObjectType&) const;
532  virtual DtSensorSignatureInformation sensorSignatureInformationFor(DtEnvironmentSP, DtEnvValueSP root) const;
533 
535  virtual void updateSensorSignatureInformation(const DtObjectType&, const DtSensorSignatureInformation&);
536  virtual void updateSensorSignatureInformation(DtEnvironmentSP, DtEnvValueSP root, const DtSensorSignatureInformation&);
537 
539  virtual DtFormationTable* formationTableFor(const DtObjectType&);
540  virtual DtFormationTable* originalFormationTableFor(const DtObjectType&);
541 
543  virtual Dt3dBoundingVolume boundingVolumeFor(const DtObjectType&) const;
544 
546  virtual bool isAggregate(const DtObjectType&) const;
547 
548  bool loaded() const
549  {
550  return myLoaded;
551  }
552 
553  const DtOrderedObjectTypeList<EntityData*>& entityData() const
554  {
555  return myEntityData;
556  }
557 
558  virtual bool isTemplate(const DtObjectType&) const;
559 
560  virtual void setForceManagerModified(bool);
561  virtual bool forceManagerModified() const;
562 
564  virtual bool saveData();
565 
567  virtual bool saveFavorites();
568 
570  virtual DtObjectType templateObjectType(const std::string& parameterType) const;
571 
573  virtual void addInternalItem(const std::string&, bool markDataAsWell = true);
574 
577  virtual std::vector<DtReaderWriter*> supportPointsFor(const DtObjectType&) const;
578 
580  virtual DtObjectType uniqueEntityTypeFrom(const DtObjectType&, bool onlyFromMasterSMS = false) const;
581 
583  virtual makVrv::DtUnicode systemNameForSystem(const std::string&, DtFilename& fullFilename) const;
584 
585  boost::signal<void ()> signal_preloadSimulationModelSet;
586  boost::signal<void ()> signal_simulationModelSetLoaded;
587  boost::signal<void (std::vector<EntityData*>)> signal_newDataFileAdded;
588  boost::signal<void (EntityData*)> signal_entityEntryAboutToBeRemoved;
589  boost::signal<void (EntityData*)> signal_entityEntryAdded;
590  boost::signal<void (EntityData*)> signal_visualMappingsModified;
591  boost::signal<void ()> signal_resetVisuals;
592 
593 public:
594  const DtModelSet* modelSet() const;
595  DtModelSet* modelSet();
596 
597  virtual makVrv::DtForceManager* forceManager();
598 
599  const DtSimulationModelSet& simulationModelSet() const;
600  bool hasSimulationModelSet() const;
601  DtSimulationModelSet& simulationModelSet();
602  const DtFilename& parameterFilename() const;
603  const DtComponentSystemDatabase* systemDatabase() const;
604  DtFilename modelSetDirectory() const;
605 
606  virtual void forceRemoved(DtForceType forceType);
607 
608  const DtRwForces& allForces() const;
609 
610  virtual std::vector<const DtComponentSystemDefinition*> systemDefinitionsFor(const DtObjectType& o) const;
611 
612  virtual const DtReaderWriter* findVariable(const DtVariableBindingsList&, const DtString&) const;
613  virtual const DtReaderWriter* findOriginalVariable(const makVrf::DtEntityMapperKey& emk, const DtString&) const;
614  virtual const DtReaderWriter* findModifiedVariable(const makVrf::DtEntityMapperKey& emk, const DtString&) const;
615  virtual DtReaderWriter* findVariable(const DtVariableBindingsList&, const DtString&);
616  virtual DtReaderWriter* findOriginalVariable(const makVrf::DtEntityMapperKey& emk, const DtString&);
617  virtual DtReaderWriter* findModifiedVariable(const makVrf::DtEntityMapperKey& emk, const DtString&);
618  virtual const DtReaderWriter* variableFromAnyPlatform(const DtString& varName) const;
619 
620  virtual DtVrfObjectParameters* platformParameters(const makVrf::DtEntityMapperKey& key) const;
621 
622  virtual const DtStandardSensorObjects& standardSensorObjects() const;
623  virtual DtStandardSensorObjects& standardSensorObjects();
624  virtual bool processModelSet(DtSimulationModelSet*, LoadFlags flags = LoadAll, bool isMasterSMS = false);
625 
626 protected:
630  virtual void markInternalItemsAsReadOnly(DtVariableBindingsList*);
631 
632  virtual const DtReaderWriter* findVariable(const DtString& var, const DtReaderWriter* rw) const;
633 
634  virtual void loadSystemFilesFromDirectory(const QString& directoryName, const DtVariableBindingsList& variableBindings);
635 
636  virtual void addVariableReferences(DtReaderWriter* source, DtRwVariableBindings* toBindings) const;
637 
638  virtual void cleanup();
639 
640  virtual bool saveForceHostility(const DtFilename& filename);
641 
642  virtual bool warned(const DtFilename&);
643  virtual void removeEntityFromSubObjects(const DtObjectType&);
644 
645  virtual void mergeFavoritesIntoModelSet(DtModelSet* favorites, DtModelSet* set);
646 
647  virtual DtVariableBindingsList* copyBindingsList(const DtVariableBindingsList* orig) const;
648 
649  virtual EntityData* createParameterDataFrom(DtVrfObjectParameters*) const;
650 
652  virtual bool updateFromPlatform(EntityData* data, const DtReaderWriter* oldRegData, DtEnvironmentSP env, DtEnvValueSP objectNode) const;
653 
655  virtual bool traverseRwObject(const DtReaderWriter* rwObject, DtEnvironmentSP env, DtEnvValueSP objectNode) const;
656  virtual void addElementFromSystemBinding(DtEnvironmentSP env,
657  DtEnvValueSP parentElement, DtSystemParameterData* paramData) const;
658 
659  virtual DtFormationTable* formationTableFor(DtEnvironmentSP, DtEnvValueSP objectNode) const;
660 
662  virtual void updateFormationTable(DtEnvironmentSP, DtEnvValueSP objectNode, const DtFormationTable&);
663 
664  virtual std::vector<EntityData*> addDataFromFile(const DtString& file,
665  DtSimulationModelSet* set, bool isMasterSMS,
666  bool signalAddition = true, bool isTemplate= false);
667 
668  virtual DtModelSetEntry* addModelSetEntryFromEnvironment(DtEnvironmentSP, DtEnvValueSP node);
669  virtual DtModelSetEntry* addModelSetEntryFromSimulationObjectGroup(EntityData*);
670 
671  virtual void addToInternalCategories(DtModelSetEntry* entry);
672 
673  virtual void addEntityDataEntry(EntityData*, bool signal = true);
674  virtual void removeEntityDataEntry(EntityData*, bool signal = true);
675 
677  virtual ParametersMap::const_iterator findAvailablePlatform(const DtString& platform) const;
678  virtual ParametersData::const_iterator findAvailableParameter(const DtString& platform) const;
679  virtual ParametersData::const_iterator findAvailableParameterFromFile(const DtFilename& platform) const;
680  virtual ParametersData::const_iterator findAvailableParameterType(const DtString& parameterType) const;
681 
683  virtual void swapCurrentEntry(EntityData*, DtModelSetEntry*);
684 
686  virtual DtString filenameFromEntityName(const DtString& name) const;
687 
689  virtual DtString uniqueEntityFilename(const DtString& name) const;
690 
692  virtual void loadVisuals(DtSimulationModelSet*, bool createIfDoesNotExist = false);
693 
695  virtual bool updateAndAddMatchTypeVisuals(EntityData* baseType, const DtEntityType& matchType);
696 
698  virtual bool removeMatchingTypeFromVisuals(const DtEntityType& matchType);
699 
700 protected:
701  QStringList myWarned;
707  QStringList myDefaultCategories;
712  bool myLoaded;
714 
716 
718 
721 
722  std::set<std::string> myInternalItems;
725 
726  typedef std::map<DtModelSetEntry*, EntityData*> EntityDataByEntry;
728 
729  std::vector<QTranslator*> myTranslators;
731 
733 
734  std::map<DtString, int> myMatchingVisualTypes;
735 };
736 
738 {
740  {
741  return mySimulationModelSet->filename();
742  }
743  else
744  {
745  return "";
746  }
747 }
748 
750 {
751  return (mySimulationModelSet != 0);
752 }
753 
755 {
756  return *mySimulationModelSet;
757 }
758 
760 {
761  return *mySimulationModelSet;
762 }
763 
765 {
766  return myModelSet;
767 }
768 
770 {
771  return myModelSet;
772 }
773 
774 inline const DtFilename& DtSimulationModelSetLoader::parameterFilename() const
775 {
776  return myParameterFilename;
777 }
778 
780 {
781  return myAllForces;
782 }
783 
784 inline const QStringList& DtSimulationModelSetLoader::defaultCategories() const
785 {
786  return myDefaultCategories;
787 }
788 
789 inline void DtSimulationModelSetLoader::setDefaultCategories(const QStringList& l)
790 {
792 }
793 
795 {
796  myDefaultCategories.push_back(l);
797 }
798 
799 inline const QStringList& DtSimulationModelSetLoader::defaultOverlayLayers() const
800 {
801  return myDefaultOverlayLayers;
802 }
803 
805 {
807 }
808 
810 {
811  myDefaultOverlayLayers.push_back(l);
812 }
813 
815 {
817 }
818 
820 {
822 }
823 
825 {
826  myDefaultDeployedCountries.push_back(l);
828 }
829 
831 
833 {
834  return !(lhs.operator<(rhs));
835 }
836 
838 {
839 public:
841 
843 
844  virtual void loadAllSmsFiles();
845 
846 protected:
847  virtual void processModelSet(DtSimulationModelSet*);
848 
849 protected:
854 };

Document ID: Generated on Thu Mar 23 18:54:12 EDT 2017 from SVN revision 174804
Copyright © 2005-2017 VT MÄK. All Rights Reserved (www.mak.com)