25 #include <vlutil/vlFilename.h>
26 #include <mtl/envValue.h>
27 #include <matrix/3dBoundingVolume.h>
30 #include <QtCore/QHash>
31 #include <QtGui/QPixmap>
32 #include <QtCore/QObject>
52 class DtEntityMapperKey;
53 class DtVrfVisualsManager;
54 class DtVrfEntityTypeMapper;
60 class DtModelDefinitionManager;
61 class DtEntityTypeMapper;
70 class DtVariableBindingList;
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
104 void reparentEnvironmentChildren(DtEnvList*, DtEnvValueSP root)
const;
106 DtEnvValueSP backup();
107 DtEnvValueSP update();
109 void remove(DtEnvValueSP originalNode, DtEnvValueSP modifiedNode);
110 bool isEmpty()
const;
112 DtEnvValueSP replace(
DtEnvironmentSP env, DtEnvValueSP node, DtEnvValueSP replaceWith);
113 void reparentRoots(DtEnvValueSP templateRoot, DtEnvValueSP newRoot)
const;
212 virtual bool save(
const DtFilename&);
226 virtual void setLoadVisuals(
bool);
229 virtual bool hasFileNamed(
const std::string& s)
const;
233 virtual bool addNewDataFile(
const std::string&);
236 virtual bool addNewSimulationObjectGroup(
const std::string&);
239 virtual bool addNewRandomizedObject(
const std::string&);
242 virtual bool readOnly()
const;
243 virtual void setReadOnly(
bool);
246 virtual void setSaveReadOnlyFlag(
bool);
247 virtual bool saveReadOnlyFlag()
const;
250 virtual bool simulationObjectGroupExists(
const std::string&)
const;
253 virtual bool randomizedObjectExists(
const std::string&)
const;
284 virtual bool addMissingVariablesFromPlatformsAndSystems();
285 virtual bool addMissingVariablesFromPlatformsAndSystems(
EntityData* data, std::map<DtString, DtRwVariableBindings*>&);
287 DtFilename getSystemDirectory()
const;
288 DtFilename getNavDataDirectory()
const;
289 DtFilename getFormationDirectory()
const;
290 DtFilename getGuiDirectory()
const;
291 DtFilename path()
const;
294 DtFilename simulationModelSetFilename()
const;
298 virtual bool loadForceHostilityFile(
const DtFilename& f);
321 virtual bool loadModelSet();
328 virtual DtString simulationModelSetFor(
const DtEntityType&)
const;
348 virtual bool containsObjectType(
const DtObjectType&,
bool onlyFromMasterSMS =
false,
DtString* name = 0)
const;
351 virtual bool isSimulationObjectGroup(
const DtObjectType&)
const;
355 virtual bool hasModelNamed(
const DtString&,
bool& isDeleted);
358 virtual std::vector<DtSimulationModelSet*> modelSets()
const;
362 return myAvailableParameters;
367 virtual bool createRwVariable(
const DtObjectType&,
const std::string& rwType,
const std::string& rwName,
DtReaderWriter*& source,
370 virtual void replaceSystem(
const DtFilename&);
372 virtual bool entryIsRandomized(
const DtObjectType&)
const;
373 virtual bool canAddSubordinatesTo(
const DtObjectType&)
const;
376 virtual bool isModified(EntityData*)
const;
377 virtual bool isModified()
const;
380 virtual bool isNew(EntityData*)
const;
383 virtual bool isDeleted(EntityData*)
const;
391 virtual void saveModelDefinitionManager();
415 virtual void deleteModel(EntityData*);
423 virtual bool setAdditionalMatchTypes(
const DtObjectType& key,
const std::list<DtObjectType> additionalMatchTypes);
427 virtual void updateGuiInformation(EntityData*);
430 virtual void updateSystemData(EntityData*);
433 virtual void sharedSystems(
const DtFilename& systemFile, std::vector<DtModelSetEntry*>& result)
const;
436 virtual void loadSystemFile(
const DtFilename&);
439 virtual void updateDataInformation(EntityData*);
450 virtual QStringList masterModeCategories()
const;
451 virtual QStringList defaultCategoriesAsStringList()
const;
456 virtual void loadAutoTagInformation();
463 virtual void revertCategories();
464 virtual bool hasModifiedCategories()
const;
465 virtual bool saveDefaultCategories(
const DtFilename&);
466 virtual bool loadDefaultCategories(
const DtFilename&);
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&);
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;
489 virtual void resetVisuals();
495 virtual std::map<std::string, DtEntityType> templatesForKind(
int)
const;
496 virtual std::map<std::string, DtEntityType> templatesThatMatch(
const DtEntityType&)
const;
513 virtual void removeSystem(
const DtFilename&);
518 bool sizeToFont =
false);
527 virtual void checkParameterUpdates(EntityData*);
528 virtual void checkParameterUpdates(
const std::set<makVrf::DtEntityMapperKey>&);
571 virtual Dt3dBoundingVolume boundingVolumeFor(
const DtObjectType&)
const;
589 virtual void setForceManagerModified(
bool);
590 virtual bool forceManagerModified()
const;
596 virtual bool saveData();
599 virtual bool saveFavorites();
602 virtual DtObjectType templateObjectType(
const std::string& parameterType)
const;
605 virtual void addInternalItem(
const std::string&,
bool markDataAsWell =
true);
609 virtual std::vector<DtReaderWriter*> supportPointsFor(
const DtObjectType&)
const;
615 virtual makVrv::DtUnicode systemNameForSystem(
const std::string&, DtFilename& fullFilename)
const;
618 virtual bool hasFactoryChecksums()
const;
625 boost::signal<void (std::vector<EntityData*>)> signal_newDataFileAdded;
639 bool hasSimulationModelSet()
const;
641 const DtFilename& parameterFilename()
const;
643 DtFilename modelSetDirectory()
const;
645 virtual void forceRemoved(DtForceType forceType);
649 virtual std::vector<const DtComponentSystemDefinition*> systemDefinitionsFor(
const DtObjectType& o)
const;
673 virtual void loadSystemFilesFromDirectory(
const QString& directoryName,
const DtVariableBindingsList& variableBindings);
677 virtual void cleanup();
679 virtual bool saveForceHostility(
const DtFilename&
filename);
681 virtual bool warned(
const DtFilename&);
682 virtual void removeEntityFromSubObjects(
const DtObjectType&);
703 virtual std::vector<EntityData*> addDataFromFile(
const DtString& file,
705 bool signalAddition =
true,
bool isTemplate=
false);
710 virtual void addToInternalCategories(
DtModelSetEntry* entry,
bool isInMasterSMS);
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;
734 virtual bool updateAndAddMatchTypeVisuals(
EntityData* baseType,
const DtEntityType& matchType);
737 virtual bool removeMatchingTypeFromVisuals(
const DtEntityType& matchType);
888 return !(lhs.operator<(rhs));
898 virtual void loadAllSmsFiles();