23 #include <vlutil/vlFilename.h>
24 #include <mtl/envValue.h>
25 #include <matrix/3dBoundingVolume.h>
28 #include <QtCore/QHash>
29 #include <QtGui/QPixmap>
30 #include <QtCore/QObject>
49 class DtEntityMapperKey;
50 class DtVrfVisualsManager;
51 class DtVrfEntityTypeMapper;
57 class DtModelDefinitionManager;
58 class DtEntityTypeMapper;
67 class DtVariableBindingList;
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
100 void reparentEnvironmentChildren(DtEnvList*, DtEnvValueSP root)
const;
102 DtEnvValueSP backup();
103 DtEnvValueSP update();
105 void remove(DtEnvValueSP originalNode, DtEnvValueSP modifiedNode);
106 bool isEmpty()
const;
108 DtEnvValueSP replace(
DtEnvironmentSP env, DtEnvValueSP node, DtEnvValueSP replaceWith);
109 void reparentRoots(DtEnvValueSP templateRoot, DtEnvValueSP newRoot)
const;
208 virtual bool save(
const DtFilename&);
222 virtual bool hasFileNamed(
const std::string& s)
const;
226 virtual bool addNewDataFile(
const std::string&);
229 virtual bool addNewSimulationObjectGroup(
const std::string&);
232 virtual bool addNewRandomizedObject(
const std::string&);
235 virtual bool simulationObjectGroupExists(
const std::string&)
const;
238 virtual bool randomizedObjectExists(
const std::string&)
const;
269 virtual bool addMissingVariablesFromPlatformsAndSystems();
270 virtual bool addMissingVariablesFromPlatformsAndSystems(
EntityData* data, std::map<DtString, DtRwVariableBindings*>&);
272 DtFilename getSystemDirectory()
const;
273 DtFilename getNavDataDirectory()
const;
274 DtFilename getFormationDirectory()
const;
275 DtFilename getGuiDirectory()
const;
276 DtFilename path()
const;
279 DtFilename simulationModelSetFilename()
const;
283 virtual bool loadForceHostilityFile(
const DtFilename& f);
306 virtual bool loadModelSet();
313 virtual DtString simulationModelSetFor(
const DtEntityType&)
const;
333 virtual bool containsObjectType(
const DtObjectType&,
bool onlyFromMasterSMS =
false,
DtString* name = 0)
const;
336 virtual bool isSimulationObjectGroup(
const DtObjectType&)
const;
340 virtual bool hasModelNamed(
const DtString&);
343 virtual std::vector<DtSimulationModelSet*> modelSets()
const;
347 return myAvailableParameters;
352 virtual bool createRwVariable(
const DtObjectType&,
const std::string& rwType,
const std::string& rwName,
DtReaderWriter*& source,
355 virtual void replaceSystem(
const DtFilename&);
357 virtual bool entryIsRandomized(
const DtObjectType&)
const;
358 virtual bool canAddSubordinatesTo(
const DtObjectType&)
const;
361 virtual bool isModified(EntityData*)
const;
362 virtual bool isModified()
const;
365 virtual bool isNew(EntityData*)
const;
368 virtual bool isDeleted(EntityData*)
const;
376 virtual void saveModelDefinitionManager();
400 virtual void deleteModel(EntityData*);
408 virtual bool setAdditionalMatchTypes(
const DtObjectType& key,
const std::list<DtObjectType> additionalMatchTypes);
412 virtual void updateGuiInformation(EntityData*);
415 virtual void updateSystemData(EntityData*);
418 virtual void sharedSystems(
const DtFilename& systemFile, std::vector<DtModelSetEntry*>& result)
const;
421 virtual void loadSystemFile(
const DtFilename&);
424 virtual void updateDataInformation(EntityData*);
435 virtual void changeDefaultCategory(
const QString& old,
const QString& newCat);
436 virtual void addDefaultCategories(
QComboBox*);
438 void setDefaultCategories(
const QStringList&);
439 void addDefaultCategory(
const QString&);
440 const QStringList& defaultCategories()
const;
441 virtual void revertCategories();
442 virtual bool hasModifiedCategories()
const;
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&);
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;
465 virtual void resetVisuals();
471 virtual std::map<std::string, DtEntityType> templatesForKind(
int)
const;
488 virtual void removeSystem(
const DtFilename&);
493 bool sizeToFont =
false);
502 virtual void checkParameterUpdates(EntityData*);
503 virtual void checkParameterUpdates(
const std::set<makVrf::DtEntityMapperKey>&);
543 virtual Dt3dBoundingVolume boundingVolumeFor(
const DtObjectType&)
const;
560 virtual void setForceManagerModified(
bool);
561 virtual bool forceManagerModified()
const;
564 virtual bool saveData();
567 virtual bool saveFavorites();
570 virtual DtObjectType templateObjectType(
const std::string& parameterType)
const;
573 virtual void addInternalItem(
const std::string&,
bool markDataAsWell =
true);
577 virtual std::vector<DtReaderWriter*> supportPointsFor(
const DtObjectType&)
const;
583 virtual makVrv::DtUnicode systemNameForSystem(
const std::string&, DtFilename& fullFilename)
const;
587 boost::signal<void (std::vector<EntityData*>)> signal_newDataFileAdded;
600 bool hasSimulationModelSet()
const;
602 const DtFilename& parameterFilename()
const;
604 DtFilename modelSetDirectory()
const;
606 virtual void forceRemoved(DtForceType forceType);
610 virtual std::vector<const DtComponentSystemDefinition*> systemDefinitionsFor(
const DtObjectType& o)
const;
634 virtual void loadSystemFilesFromDirectory(
const QString& directoryName,
const DtVariableBindingsList& variableBindings);
638 virtual void cleanup();
640 virtual bool saveForceHostility(
const DtFilename&
filename);
642 virtual bool warned(
const DtFilename&);
643 virtual void removeEntityFromSubObjects(
const DtObjectType&);
664 virtual std::vector<EntityData*> addDataFromFile(
const DtString& file,
666 bool signalAddition =
true,
bool isTemplate=
false);
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;
695 virtual bool updateAndAddMatchTypeVisuals(
EntityData* baseType,
const DtEntityType& matchType);
698 virtual bool removeMatchingTypeFromVisuals(
const DtEntityType& matchType);
834 return !(lhs.operator<(rhs));
844 virtual void loadAllSmsFiles();