VR-Forces 4.6.1 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 
16 #include <vrvUtil/signalslib.h>
18 #include <vrfutil/rwForces.h>
24 #include <vrfutil/formationTable.h>
25 #include <vlutil/vlFilename.h>
26 #include <mtl/envValue.h>
27 #include <matrix/3dBoundingVolume.h>
29 #include <vrvUtil/DtUnicode.h>
30 #include <QtCore/QHash>
31 #include <QtGui/QPixmap>
32 #include <QtCore/QObject>
36 
39 
40 class DtEnvList;
47 class QTranslator;
49 
50 namespace makVrf
51 {
52  class DtEntityMapperKey;
53  class DtVrfVisualsManager;
54  class DtVrfEntityTypeMapper;
55 }
56 
57 namespace makVrv
58 {
59  class DtForceManager;
60  class DtModelDefinitionManager;
61  class DtEntityTypeMapper;
62 }
63 
64 class DtObjectType;
65 class DtModelSet;
67 class QComboBox;
69 class DtEnvironment;
70 class DtVariableBindingList;
71 
72 static const int DtTemplateKindBase = 400;
73 
75 {
76 public:
77  enum LoadFlags
78  {
79  LoadDataFiles = 0x00000001,
80  LoadParameterFiles = 0x00000002,
81  LoadSystemFiles = 0x00000004,
82  LoadSupportingFiles = 0x00000008,
83  LoadStandardSensorObjects = 0x00000010,
84  LoadTranslationFiles = 0x00000020,
85  LoadVisualFiles = 0x00000040,
86  LoadOrCreateVisualFiles = 0x00000080,
87  LoadAutoTagInformation = 0x00000100,
88  LoadAll = LoadDataFiles | LoadParameterFiles | LoadSystemFiles | LoadSupportingFiles | LoadStandardSensorObjects | LoadTranslationFiles | LoadOrCreateVisualFiles | LoadAutoTagInformation
89  };
90 
91  typedef std::map<DtString, DtVrfObjectParameters*> ParametersMap;
92 
94  {
95  public:
98 
99  virtual ~EnvironmentContainer();
100 
101  void seedFrom(DtEnvironmentSP env, DtEnvValueSP root);
102 
103  DtEnvironmentSP copyEnvironment(DtEnvironmentSP) const;
104  void reparentEnvironmentChildren(DtEnvList*, DtEnvValueSP root) const;
105 
106  DtEnvValueSP backup();
107  DtEnvValueSP update();
108 
109  void remove(DtEnvValueSP originalNode, DtEnvValueSP modifiedNode);
110  bool isEmpty() const;
111 
112  DtEnvValueSP replace(DtEnvironmentSP env, DtEnvValueSP node, DtEnvValueSP replaceWith);
113  void reparentRoots(DtEnvValueSP templateRoot, DtEnvValueSP newRoot) const;
114 
117  };
118 
119  typedef boost::shared_ptr<EnvironmentContainer> EnvironmentContainerSP;
120 
121  class EntityData : public DtObjectType
122  {
123  public:
124  EntityData();
125  virtual ~EntityData();
126  EntityData(const DtObjectType& objectType, const DtObjectType& matchType = DtObjectType::nullType());
127  EntityData(const EntityData& t);
128 
129  //sets the object type
130  EntityData& operator=(const DtObjectType&);
131 
132  EntityData& operator=(const EntityData&);
133 
134  virtual EntityData* clone() const;
135 
136  //compares to the object type
137  bool operator>(const DtObjectType& rhs) const
138  {
139  if (*this < rhs)
140  {
141  return false;
142  }
143  else
144  {
145  return true;
146  }
147  }
148 
149  //compares to the object type
150  bool operator>(const EntityData& rhs) const
151  {
152  if (*this < rhs)
153  {
154  return false;
155  }
156  else
157  {
158  return true;
159  }
160  }
161 
163  std::string myDataFile;
164 
168 
171 
172  std::list<DtObjectType> myAdditionalMatchTypes;
173  std::list<DtObjectType> myOriginalAdditionalMatchTypes;
174 
176 
178  DtEnvValueSP myOriginalObjectNode;
187 
189  DtEnvValueSP myModifiedObjectNode;
196 
197  bool myIsNew;
199 
202  };
203 
204  typedef std::map<std::string, EntityData*> ParametersData;
205 
208 
209  virtual ~DtSimulationModelSetLoader();
210 
211  virtual bool load(const DtSimulationModelSet&, LoadFlags flags = LoadAll);
212  virtual bool save(const DtFilename&);
213 
214  static DtSimulationModelSetLoader& instance(makVrv::DtDe&);
215  static void registerInstance(makVrv::DtDe&, DtSimulationModelSetLoader*);
216 
217  virtual void setDisplayDe(makVrv::DtDe*);
218  virtual makVrv::DtDe& displayDe();
219 
220 private:
223 
224 public:
226  virtual void setLoadVisuals(bool);
227 
229  virtual bool hasFileNamed(const std::string& s) const;
230 
233  virtual bool addNewDataFile(const std::string&);
234 
236  virtual bool addNewSimulationObjectGroup(const std::string&);
237 
239  virtual bool addNewRandomizedObject(const std::string&);
240 
242  virtual bool readOnly() const;
243  virtual void setReadOnly(bool);
244 
246  virtual void setSaveReadOnlyFlag(bool);
247  virtual bool saveReadOnlyFlag() const;
248 
250  virtual bool simulationObjectGroupExists(const std::string&) const;
251 
253  virtual bool randomizedObjectExists(const std::string&) const;
254 
257  virtual DtModelSetEntry* createNewSimulationObjectGroupFromExisting(const DtObjectType& base, const std::string& newName,
258  const DtRwNLengthStringVector& categories = DtRwNLengthStringVector("categories"));
259  virtual DtModelSetEntry* createNewSimulationObjectGroupFromExisting(EntityData* data, const std::string& newName,
260  const DtRwNLengthStringVector& categories = DtRwNLengthStringVector("categories"));
261 
263  virtual std::string platform(const makVrf::DtEntityMapperKey& k) const;
264 
266  virtual std::string uiFilename(const makVrf::DtEntityMapperKey& k) const;
267 
269  virtual DtSimulationModelSet* simulationModelSet(const makVrf::DtEntityMapperKey& k) const;
270 
272  virtual std::string platformFileType(const makVrf::DtEntityMapperKey& k) const;
273 
275  virtual std::string platformKey(const makVrf::DtEntityMapperKey& k) const;
276 
278  virtual DtString platformDisplayName(const makVrf::DtEntityMapperKey& k) const;
279 
281  virtual DtString platformDisplayDescription(const makVrf::DtEntityMapperKey& k) const;
282 
284  virtual bool addMissingVariablesFromPlatformsAndSystems();
285  virtual bool addMissingVariablesFromPlatformsAndSystems(EntityData* data, std::map<DtString, DtRwVariableBindings*>&);
286 
287  DtFilename getSystemDirectory() const;
288  DtFilename getNavDataDirectory() const;
289  DtFilename getFormationDirectory() const;
290  DtFilename getGuiDirectory() const;
291  DtFilename path() const;
292 
294  DtFilename simulationModelSetFilename() const;
295 
296  virtual bool openSystemFiles(DtSimulationModelSet* set, const DtFilename& directory);
297 
298  virtual bool loadForceHostilityFile(const DtFilename& f);
299 
302  virtual bool loadDataFiles(const DtString&, DtSimulationModelSet*, bool fromMasterSMS);
303 
305  virtual void loadSimulationObjectGroupFiles(const DtString&, DtSimulationModelSet*, bool fromMasterSMS);
306 
308  virtual DtModelSetEntry* reloadSimulationObjectGroup(const DtString&);
309 
311  virtual void loadTemplates(const DtString&, DtSimulationModelSet*);
312 
314  virtual void makeTemplate(EntityData*);
315  virtual void makeTemplate(const DtObjectType&);
316 
318  virtual bool loadParameterFiles(DtSimulationModelSet* sms);
319 
321  virtual bool loadModelSet();
322 
325  virtual DtModelSetEntry* modelEntry(const DtObjectType&, bool matchPattern = false) const;
326 
328  virtual DtString simulationModelSetFor(const DtEntityType&) const;
329 
331  virtual DtModelSetEntry createModelSetEntryFrom(DtEnvironmentSP env, DtEnvValueSP objectNode) const;
332  virtual DtModelSetEntry createModelSetEntryFrom(const DtObjectType&) const;
333 
335  virtual bool hasGuiKeyword(const makVrf::DtEntityMapperKey&, const std::string&) const;
336 
338  virtual void revertData(const makVrf::DtEntityMapperKey& key);
339 
341  virtual EntityData* dataFor(const DtObjectType&) const;
342 
344  virtual EntityData* dataFor(DtModelSetEntry*) const;
345 
348  virtual bool containsObjectType(const DtObjectType&, bool onlyFromMasterSMS = false, DtString* name = 0) const;
349 
351  virtual bool isSimulationObjectGroup(const DtObjectType&) const;
352 
355  virtual bool hasModelNamed(const DtString&, bool& isDeleted);
356 
357  virtual DtReaderWriter::SearchPaths searchPaths() const;
358  virtual std::vector<DtSimulationModelSet*> modelSets() const;
359 
360  virtual const ParametersMap& availableParameters() const
361  {
362  return myAvailableParameters;
363  }
364 
367  virtual bool createRwVariable(const DtObjectType&, const std::string& rwType, const std::string& rwName, DtReaderWriter*& source,
368  DtReaderWriter*& backup);
369 
370  virtual void replaceSystem(const DtFilename&);
371 
372  virtual bool entryIsRandomized(const DtObjectType&) const;
373  virtual bool canAddSubordinatesTo(const DtObjectType&) const;
374 
375  virtual bool isModified(const DtObjectType&) const;
376  virtual bool isModified(EntityData*) const;
377  virtual bool isModified() const;
378 
379  virtual bool isNew(const DtObjectType&) const;
380  virtual bool isNew(EntityData*) const;
381 
382  virtual bool isDeleted(const DtObjectType&) const;
383  virtual bool isDeleted(EntityData*) const;
384 
385  virtual makVrf::DtVrfEntityTypeMapper& entityTypeMapper(const makVrf::DtEntityMapperKey&);
386  virtual makVrf::DtVrfEntityTypeMapper& aggregateTypeMapper(const makVrf::DtEntityMapperKey&);
387  virtual makVrf::DtVrfEntityTypeMapper& tacticalGraphicsMapper(const makVrf::DtEntityMapperKey&);
388  virtual makVrv::DtElementDefinitionTypeManager& elementDefinitionTypeManager(const makVrf::DtEntityMapperKey&);
389  virtual makVrv::DtModelDefinitionManager& modelDefinitionManager(const makVrf::DtEntityMapperKey&);
390 
391  virtual void saveModelDefinitionManager();
392  virtual void saveVisualElementsFor(makVrv::DtElementDefinitionTypeManager::BuiltInElementTypes);
393  virtual makVrf::DtVrfVisualsManager* visualsManager();
394 
395  virtual makVrf::DtVrfEntityTypeMapper& defaultEntityTypeMapper();
396  virtual makVrf::DtVrfEntityTypeMapper& defaultAggregateTypeMapper();
397  virtual makVrf::DtVrfEntityTypeMapper& defaultTacticalGraphicsMapper();
398  virtual makVrv::DtElementDefinitionTypeManager& defaultElementDefinitionTypeManager();
399  virtual makVrv::DtModelDefinitionManager& defaultModelDefinitionManager();
400 
401  virtual makVrv::DtEntityTypeMapper* systemEntityTypeMapper();
402  virtual makVrv::DtEntityTypeMapper* systemAggregateTypeMapper();
403  virtual makVrv::DtEntityTypeMapper* systemTacticalGraphicsMapper();
404  virtual makVrv::DtElementDefinitionTypeManager& systemElementDefinitionTypeManager();
405  virtual makVrv::DtModelDefinitionManager& systemModelDefinitionManager();
406 
407  virtual void createSpotReportDefinitionFor(const makVrf::DtEntityMapperKey&);
408  virtual void updateVisualsFor(const makVrf::DtEntityMapperKey&);
409  virtual void removeVisualsFor(const makVrf::DtEntityMapperKey&);
410  virtual void removeElementDefinition(const makVrf::DtEntityMapperKey&);
411 
413  virtual void deleteModel(DtModelSetEntry*);
414  virtual void deleteModel(const DtObjectType&);
415  virtual void deleteModel(EntityData*);
416 
418  virtual bool changeObjectType(const DtObjectType& oldType, const DtObjectType& newType);
419 
421  virtual bool changeMatchType(const DtObjectType& oldType, const DtObjectType& newType);
422 
423  virtual bool setAdditionalMatchTypes(const DtObjectType& key, const std::list<DtObjectType> additionalMatchTypes);
424 
427  virtual void updateGuiInformation(EntityData*);
428 
430  virtual void updateSystemData(EntityData*);
431 
433  virtual void sharedSystems(const DtFilename& systemFile, std::vector<DtModelSetEntry*>& result) const;
434 
436  virtual void loadSystemFile(const DtFilename&);
437 
439  virtual void updateDataInformation(EntityData*);
440 
442  virtual void convertRegistryToEnvironment(const DtReaderWriterRegistry& data, DtEnvironmentSP env, DtEnvValueSP objectNode) const;
443 
445  virtual void removeSystem(DtEnvironmentSP env, const DtString& system, DtEnvValueSP objectNode);
446 
448  virtual void addSystem(DtEnvironmentSP env, const DtRwVariableBindings*, DtEnvValueSP objectNode);
449 
450  virtual QStringList masterModeCategories() const;
451  virtual QStringList defaultCategoriesAsStringList() const;
452 
453  DtSimulationObjectCategoryInformation& defaultCategories();
454  const DtSimulationObjectCategoryInformation& defaultCategories() const;
455 
456  virtual void loadAutoTagInformation();
457 
458  DtAutoTagInformation& autoTagInformation();
459  const DtAutoTagInformation& autoTagInformation() const;
460 
461  virtual DtSimulationObjectCategoryInformation nonMasterModeCategories() const;
462  virtual void setDefaultCategories(const DtSimulationObjectCategoryInformation&, const QStringList& masterMode);
463  virtual void revertCategories();
464  virtual bool hasModifiedCategories() const;
465  virtual bool saveDefaultCategories(const DtFilename&);
466  virtual bool loadDefaultCategories(const DtFilename&);
467 
468  void setDefaultOverlayLayers(const QStringList&);
469  const QStringList& defaultOverlayLayers() const;
470  virtual void revertOverlayLayers();
471  virtual bool hasModifiedOverlayLayers() const;
472  virtual void changeDefaultOverlayLayer(const QString& old, const QString& newCat);
473  virtual void addDefaultOverlayLayers(QComboBox*);
474  void addDefaultOverlayLayer(const QString&);
475 
476  virtual DtRwForces favoritesFor(const DtModelSetEntry*) const;
477  virtual DtRwForces backupFavoritesFor(const DtModelSetEntry*) const;
478  virtual void setFavoritesFor(DtModelSetEntry*, const DtRwForces&);
479 
480  virtual void changeDefaultDeployedCountry(const QString& old, const QString& newCat);
481  virtual void addDefaultDeployedCountries(QComboBox*);
482  void setDefaultDeployedCountries(const QStringList&);
483  void addDefaultDeployedCountry(const QString&);
484  const QStringList& defaultDeployedCountries() const;
485  virtual void revertDeployedCountries();
486  virtual bool hasModifiedDeployedCountries() const;
487 
489  virtual void resetVisuals();
490 
492  virtual DtRwVariableBindings* createVariableBindingsForSystem(const DtFilename&, const DtString& newSystemName);
493 
495  virtual std::map<std::string, DtEntityType> templatesForKind(int) const;
496  virtual std::map<std::string, DtEntityType> templatesThatMatch(const DtEntityType&) const;
497 
500  virtual DtModelSetEntry* addNewEntity(const DtObjectType& base, const DtObjectType& newType, const DtString& name,
501  const DtRwNLengthStringVector& categories, const DtString& uniqueID, const makVrv::DtUnicode& elementDefinition = makVrv::DtUnicode::fromAscii(""));
502 
505  virtual DtModelSetEntry* addNewEntity(const std::string& platformType, const DtObjectType& newType, const DtString& name,
506  const DtRwNLengthStringVector& categories, const DtString& uniqueID, const makVrv::DtUnicode& elementDefinition = makVrv::DtUnicode::fromAscii(""));
507 
509  DtModelSetEntry* addNewEntity(EntityData* baseData, const DtObjectType& newType, const DtString& name,
510  const DtRwNLengthStringVector& categories, const DtString& uniqueID, const makVrv::DtUnicode& elementDefinition = makVrv::DtUnicode::fromAscii(""));
511 
513  virtual void removeSystem(const DtFilename&);
514 
515  virtual const DtRwVariableBindings* variableBindings() const;
516 
517  virtual QPixmap getIcon(const makVrf::DtEntityMapperKey& key, int pointSize = 48,
518  bool sizeToFont = false);
519 
520  virtual void clearIcons(const makVrf::DtEntityMapperKey& key);
521 
522  static DtSimulationModelSetLoader* create(makVrv::DtDe*);
523 
525  virtual void changeSubordinateTypes(const DtObjectType& oldType, const DtObjectType& newType);
526 
527  virtual void checkParameterUpdates(EntityData*);
528  virtual void checkParameterUpdates(const std::set<makVrf::DtEntityMapperKey>&);
529 
531  virtual makVrv::DtUnicode elementDefinitionFor(const DtEntityType&);
532 
534  virtual DtVrfSubObjectParameterList subordinateObjectsFor(const DtObjectType&) const;
535  virtual DtVrfSubObjectParameterList subordinateObjectsFor(DtEnvironmentSP, DtEnvValueSP objectNode) const;
536 
538  virtual void updateSubordinateObjects(const DtObjectType&, const DtVrfSubObjectParameterList&);
539  virtual void updateSubordinateObjects(DtEnvironmentSP, DtEnvValueSP objectNode, const DtVrfSubObjectParameterList&);
540 
542  virtual void updateFormationTable(const DtObjectType&, const DtFormationTable&);
543 
545  virtual DtEmbarkationInformation embarkationInformationFor(const DtObjectType&) const;
546  virtual DtEmbarkationInformation embarkationInformationFor(DtEnvironmentSP, DtEnvValueSP objectNode) const;
547 
549  virtual void updateEmbarkationInformation(const DtObjectType&, const DtEmbarkationInformation&);
550  virtual void updateEmbarkationInformation(DtEnvironmentSP, DtEnvValueSP objectNode, const DtEmbarkationInformation&);
551 
553  virtual DtDiGuyInformation diGuyInformationFor(const DtObjectType&) const;
554 
556  virtual void updateDiGuyInformation(const DtObjectType&, const DtDiGuyInformation&);
557 
559  virtual DtSensorSignatureInformation sensorSignatureInformationFor(const DtObjectType&) const;
560  virtual DtSensorSignatureInformation sensorSignatureInformationFor(DtEnvironmentSP, DtEnvValueSP root) const;
561 
563  virtual void updateSensorSignatureInformation(const DtObjectType&, const DtSensorSignatureInformation&);
564  virtual void updateSensorSignatureInformation(DtEnvironmentSP, DtEnvValueSP root, const DtSensorSignatureInformation&);
565 
567  virtual DtFormationTable* formationTableFor(const DtObjectType&);
568  virtual DtFormationTable* originalFormationTableFor(const DtObjectType&);
569 
571  virtual Dt3dBoundingVolume boundingVolumeFor(const DtObjectType&) const;
572 
574  virtual bool isAggregate(const DtObjectType&) const;
575 
576  bool loaded() const
577  {
578  return myLoaded;
579  }
580 
581  const DtOrderedObjectTypeList<EntityData*>& entityData() const
582  {
583  return myEntityData;
584  }
585 
586  virtual bool isTemplate(const DtObjectType&) const;
587  virtual bool templateExists(const DtObjectType&) const;
588 
589  virtual void setForceManagerModified(bool);
590  virtual bool forceManagerModified() const;
591 
592  virtual bool isInMasterSMS(const DtObjectType&) const;
593  virtual DtString smsName(const DtObjectType&) const;
594 
596  virtual bool saveData();
597 
599  virtual bool saveFavorites();
600 
602  virtual DtObjectType templateObjectType(const std::string& parameterType) const;
603 
605  virtual void addInternalItem(const std::string&, bool markDataAsWell = true);
606 
609  virtual std::vector<DtReaderWriter*> supportPointsFor(const DtObjectType&) const;
610 
612  virtual DtObjectType uniqueEntityTypeFrom(const DtObjectType&, bool onlyFromMasterSMS = false) const;
613 
615  virtual makVrv::DtUnicode systemNameForSystem(const std::string&, DtFilename& fullFilename) const;
616 
618  virtual bool hasFactoryChecksums() const;
619 
621  virtual const DtSmsChecksum& factoryChecksums() const;
622 
623  boost::signal<void ()> signal_preloadSimulationModelSet;
624  boost::signal<void ()> signal_simulationModelSetLoaded;
625  boost::signal<void (std::vector<EntityData*>)> signal_newDataFileAdded;
626  boost::signal<void (EntityData*)> signal_entityEntryAboutToBeRemoved;
627  boost::signal<void (EntityData*)> signal_entityEntryAdded;
628  boost::signal<void (EntityData*)> signal_visualMappingsModified;
629  boost::signal<void ()> signal_resetVisuals;
630  boost::signal<void (bool)> signal_readOnlyChanged;
631 
632 public:
633  const DtModelSet* modelSet() const;
634  DtModelSet* modelSet();
635 
636  virtual makVrv::DtForceManager* forceManager();
637 
638  const DtSimulationModelSet& simulationModelSet() const;
639  bool hasSimulationModelSet() const;
640  DtSimulationModelSet& simulationModelSet();
641  const DtFilename& parameterFilename() const;
642  const DtComponentSystemDatabase* systemDatabase() const;
643  DtFilename modelSetDirectory() const;
644 
645  virtual void forceRemoved(DtForceType forceType);
646 
647  const DtRwForces& allForces() const;
648 
649  virtual std::vector<const DtComponentSystemDefinition*> systemDefinitionsFor(const DtObjectType& o) const;
650 
651  virtual const DtReaderWriter* findVariable(const DtVariableBindingsList&, const DtString&) const;
652  virtual const DtReaderWriter* findOriginalVariable(const makVrf::DtEntityMapperKey& emk, const DtString&) const;
653  virtual const DtReaderWriter* findModifiedVariable(const makVrf::DtEntityMapperKey& emk, const DtString&) const;
654  virtual DtReaderWriter* findVariable(const DtVariableBindingsList&, const DtString&);
655  virtual DtReaderWriter* findOriginalVariable(const makVrf::DtEntityMapperKey& emk, const DtString&);
656  virtual DtReaderWriter* findModifiedVariable(const makVrf::DtEntityMapperKey& emk, const DtString&);
657  virtual const DtReaderWriter* variableFromAnyPlatform(const DtString& varName) const;
658 
659  virtual DtVrfObjectParameters* platformParameters(const makVrf::DtEntityMapperKey& key) const;
660 
661  virtual const DtStandardSensorObjects& standardSensorObjects() const;
662  virtual DtStandardSensorObjects& standardSensorObjects();
663  virtual bool processModelSet(DtSimulationModelSet*, LoadFlags flags = LoadAll, bool isMasterSMS = false);
664 
665 protected:
669  virtual void markInternalItemsAsReadOnly(DtVariableBindingsList*);
670 
671  virtual const DtReaderWriter* findVariable(const DtString& var, const DtReaderWriter* rw) const;
672 
673  virtual void loadSystemFilesFromDirectory(const QString& directoryName, const DtVariableBindingsList& variableBindings);
674 
675  virtual void addVariableReferences(DtReaderWriter* source, DtRwVariableBindings* toBindings) const;
676 
677  virtual void cleanup();
678 
679  virtual bool saveForceHostility(const DtFilename& filename);
680 
681  virtual bool warned(const DtFilename&);
682  virtual void removeEntityFromSubObjects(const DtObjectType&);
683 
684  virtual void mergeFavoritesIntoModelSet(DtModelSet* favorites, DtModelSet* set);
685 
686  virtual DtVariableBindingsList* copyBindingsList(const DtVariableBindingsList* orig) const;
687 
688  virtual EntityData* createParameterDataFrom(DtVrfObjectParameters*) const;
689 
691  virtual bool updateFromPlatform(EntityData* data, const DtReaderWriter* oldRegData, DtEnvironmentSP env, DtEnvValueSP objectNode) const;
692 
694  virtual bool traverseRwObject(const DtReaderWriter* rwObject, DtEnvironmentSP env, DtEnvValueSP objectNode) const;
695  virtual void addElementFromSystemBinding(DtEnvironmentSP env,
696  DtEnvValueSP parentElement, DtSystemParameterData* paramData) const;
697 
698  virtual DtFormationTable* formationTableFor(DtEnvironmentSP, DtEnvValueSP objectNode) const;
699 
701  virtual void updateFormationTable(DtEnvironmentSP, DtEnvValueSP objectNode, const DtFormationTable&);
702 
703  virtual std::vector<EntityData*> addDataFromFile(const DtString& file,
704  DtSimulationModelSet* set, bool isMasterSMS,
705  bool signalAddition = true, bool isTemplate= false);
706 
707  virtual DtModelSetEntry* addModelSetEntryFromEnvironment(DtEnvironmentSP, DtEnvValueSP node);
708  virtual DtModelSetEntry* addModelSetEntryFromSimulationObjectGroup(EntityData*);
709 
710  virtual void addToInternalCategories(DtModelSetEntry* entry, bool isInMasterSMS);
711 
712  virtual void addEntityDataEntry(EntityData*, bool signal = true);
713  virtual void removeEntityDataEntry(EntityData*, bool signal = true);
714 
716  virtual ParametersMap::const_iterator findAvailablePlatform(const DtString& platform) const;
717  virtual ParametersData::const_iterator findAvailableParameter(const DtString& platform) const;
718  virtual ParametersData::const_iterator findAvailableParameterFromFile(const DtFilename& platform) const;
719  virtual ParametersData::const_iterator findAvailableParameterType(const DtString& parameterType) const;
720 
722  virtual void swapCurrentEntry(EntityData*, DtModelSetEntry*);
723 
725  virtual DtString filenameFromEntityName(const DtString& name) const;
726 
728  virtual DtString uniqueEntityFilename(const DtString& name) const;
729 
731  virtual void loadVisuals(DtSimulationModelSet*, bool createIfDoesNotExist = false);
732 
734  virtual bool updateAndAddMatchTypeVisuals(EntityData* baseType, const DtEntityType& matchType);
735 
737  virtual bool removeMatchingTypeFromVisuals(const DtEntityType& matchType);
738 
739 protected:
740  QStringList myWarned;
754  bool myLoaded;
756 
758 
760 
763 
764  std::set<std::string> myInternalItems;
767 
768  typedef std::map<DtModelSetEntry*, EntityData*> EntityDataByEntry;
770 
771  std::vector<QTranslator*> myTranslators;
773 
775 
776  std::map<DtString, int> myMatchingVisualTypes;
778 
781 
784 };
785 
787 {
789  {
790  return mySimulationModelSet->filename();
791  }
792  else
793  {
794  return "";
795  }
796 }
797 
799 {
800  return (mySimulationModelSet != 0);
801 }
802 
804 {
805  return *mySimulationModelSet;
806 }
807 
809 {
810  return *mySimulationModelSet;
811 }
812 
814 {
815  return myModelSet;
816 }
817 
819 {
820  return myModelSet;
821 }
822 
823 inline const DtFilename& DtSimulationModelSetLoader::parameterFilename() const
824 {
825  return myParameterFilename;
826 }
827 
829 {
830  return myAllForces;
831 }
832 
834 {
835  return myAutoTagInformation;
836 }
837 
839 {
840  return myAutoTagInformation;
841 }
842 
844 {
845  return myDefaultCategories;
846 }
847 
849 {
850  return myDefaultCategories;
851 }
852 
853 inline const QStringList& DtSimulationModelSetLoader::defaultOverlayLayers() const
854 {
855  return myDefaultOverlayLayers;
856 }
857 
859 {
861 }
862 
864 {
865  myDefaultOverlayLayers.push_back(l);
866 }
867 
869 {
871 }
872 
874 {
876 }
877 
879 {
880  myDefaultDeployedCountries.push_back(l);
882 }
883 
885 
887 {
888  return !(lhs.operator<(rhs));
889 }
890 
892 {
893 public:
895 
897 
898  virtual void loadAllSmsFiles();
899 
900 protected:
901  virtual void processModelSet(DtSimulationModelSet*);
902 
903 protected:
908 };

Document ID: Generated on Wed Jul 25 16:57:45 EDT 2018 from SVN revision 190790
Copyright © 2005-2018 VT MÄK. All Rights Reserved (www.mak.com)