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>
33 #include <vrfExtProtocol/objectType.h>
47 class DtEntityMapperKey;
61 class DtVariableBindingList;
70 LoadDataFiles = 0x00000001,
71 LoadParameterFiles = 0x00000002,
72 LoadSystemFiles = 0x00000004,
73 LoadSupportingFiles = 0x00000008,
74 LoadStandardSensorObjects = 0x00000010,
75 LoadTranslationFiles = 0x00000020,
76 LoadAll = LoadDataFiles | LoadParameterFiles | LoadSystemFiles | LoadSupportingFiles | LoadStandardSensorObjects | LoadTranslationFiles
92 void reparentEnvironmentChildren(DtEnvList*, DtEnvValueSP root)
const;
94 DtEnvValueSP backup();
95 DtEnvValueSP update();
97 void remove(DtEnvValueSP originalNode, DtEnvValueSP modifiedNode);
100 DtEnvValueSP replace(
DtEnvironmentSP env, DtEnvValueSP node, DtEnvValueSP replaceWith);
101 void reparentRoots(DtEnvValueSP templateRoot, DtEnvValueSP newRoot)
const;
114 EntityData(
const DtObjectType& objectType,
const DtObjectType& matchType = DtObjectType::nullType());
193 virtual bool save(
const DtFilename&);
207 virtual bool hasFileNamed(
const std::string& s)
const;
211 virtual bool addNewDataFile(
const std::string&);
234 DtFilename getSystemDirectory()
const;
235 DtFilename getFormationDirectory()
const;
236 DtFilename getGuiDirectory()
const;
237 DtFilename path()
const;
240 DtFilename simulationModelSetFilename()
const;
244 virtual bool loadForceHostilityFile(
const DtFilename& f);
255 virtual void makeTemplate(
const DtObjectType&);
261 virtual bool loadModelSet();
265 virtual DtModelSetEntry* modelEntry(
const DtObjectType&,
bool matchPattern =
false)
const;
268 virtual DtString simulationModelSetFor(
const DtEntityType&)
const;
272 virtual DtModelSetEntry createModelSetEntryFrom(
const DtObjectType&)
const;
278 virtual EntityData* dataFor(
const DtObjectType&)
const;
285 virtual bool containsObjectType(
const DtObjectType&,
bool onlyFromMasterSMS =
false,
DtString* name = 0)
const;
289 virtual bool hasModelNamed(
const DtString&);
292 virtual std::vector<DtSimulationModelSet*> modelSets()
const;
296 return myAvailableParameters;
301 virtual bool createRwVariable(
const DtObjectType&,
const std::string& rwType,
const std::string& rwName,
DtReaderWriter*& source,
304 virtual void replaceSystem(
const DtFilename&);
306 virtual bool canAddSubordinatesTo(
const DtObjectType&)
const;
308 virtual bool isModified(
const DtObjectType&)
const;
309 virtual bool isModified(EntityData*)
const;
310 virtual bool isModified()
const;
312 virtual bool isNew(
const DtObjectType&)
const;
313 virtual bool isNew(EntityData*)
const;
315 virtual bool isDeleted(
const DtObjectType&)
const;
316 virtual bool isDeleted(EntityData*)
const;
320 virtual void deleteModel(
const DtObjectType&);
321 virtual void deleteModel(EntityData*);
324 virtual bool changeObjectType(
const DtObjectType& oldType,
const DtObjectType& newType);
327 virtual bool changeMatchType(
const DtObjectType& oldType,
const DtObjectType& newType);
331 virtual void updateGuiInformation(EntityData*);
334 virtual void updateSystemData(EntityData*);
337 virtual void sharedSystems(
const DtFilename& systemFile, std::vector<DtModelSetEntry*>& result)
const;
340 virtual void loadSystemFile(
const DtFilename&);
343 virtual void updateDataInformation(EntityData*);
354 virtual void changeDefaultCategory(
const QString& old,
const QString& newCat);
355 virtual void addDefaultCategories(
QComboBox*);
357 void setDefaultCategories(
const QStringList&);
358 void addDefaultCategory(
const QString&);
359 const QStringList& defaultCategories()
const;
360 virtual void revertCategories();
361 virtual bool hasModifiedCategories()
const;
363 void setDefaultOverlayLayers(
const QStringList&);
364 const QStringList& defaultOverlayLayers()
const;
365 virtual void revertOverlayLayers();
366 virtual bool hasModifiedOverlayLayers()
const;
367 virtual void changeDefaultOverlayLayer(
const QString& old,
const QString& newCat);
368 virtual void addDefaultOverlayLayers(
QComboBox*);
369 void addDefaultOverlayLayer(
const QString&);
375 virtual void changeDefaultDeployedCountry(
const QString& old,
const QString& newCat);
376 virtual void addDefaultDeployedCountries(
QComboBox*);
377 void setDefaultDeployedCountries(
const QStringList&);
378 void addDefaultDeployedCountry(
const QString&);
379 const QStringList& defaultDeployedCountries()
const;
380 virtual void revertDeployedCountries();
381 virtual bool hasModifiedDeployedCountries()
const;
387 virtual std::map<std::string, DtEntityType> templatesForKind(
int)
const;
391 virtual DtModelSetEntry* addNewEntity(
const DtObjectType& base,
const DtObjectType& newType,
const DtString& name,
396 virtual DtModelSetEntry* addNewEntity(
const std::string& platformType,
const DtObjectType& newType,
const DtString& name,
404 virtual void removeSystem(
const DtFilename&);
409 bool sizeToFont =
false);
416 virtual void changeSubordinateTypes(
const DtObjectType& oldType,
const DtObjectType& newType);
427 virtual void updateFormationTable(
const DtObjectType&,
const DtFormationTable&);
456 virtual Dt3dBoundingVolume boundingVolumeFor(
const DtObjectType&)
const;
459 virtual bool isAggregate(
const DtObjectType&)
const;
471 virtual bool isTemplate(
const DtObjectType&)
const;
473 virtual void setForceManagerModified(
bool);
474 virtual bool forceManagerModified()
const;
477 virtual bool saveData();
480 virtual bool saveFavorites();
483 virtual DtObjectType templateObjectType(
const std::string& parameterType)
const;
486 virtual void addInternalItem(
const std::string&,
bool markDataAsWell =
true);
490 virtual std::vector<DtReaderWriter*> supportPointsFor(
const DtObjectType&)
const;
493 virtual DtObjectType uniqueEntityTypeFrom(
const DtObjectType&)
const;
496 virtual makVrv::DtUnicode systemNameForSystem(
const std::string&, DtFilename& fullFilename)
const;
500 boost::signal<void (std::vector<EntityData*>)> signal_newDataFileAdded;
511 const DtFilename& parameterFilename()
const;
513 DtFilename modelSetDirectory()
const;
515 virtual void forceRemoved(DtForceType forceType);
519 virtual std::vector<const DtComponentSystemDefinition*> systemDefinitionsFor(
const DtObjectType& o)
const;
543 virtual void loadSystemFilesFromDirectory(
const QString& directoryName,
const DtVariableBindingsList& variableBindings);
547 virtual void cleanup();
549 virtual bool saveForceHostility(
const DtFilename& filename);
551 virtual bool warned(
const DtFilename&);
552 virtual void removeEntityFromSubObjects(
const DtObjectType&);
573 virtual std::vector<EntityData*> addDataFromFile(
const DtString& file,
575 bool signalAddition =
true,
bool isTemplate=
false);
584 virtual ParametersMap::const_iterator findAvailablePlatform(
DtString platform)
const;
585 virtual ParametersData::const_iterator findAvailableParameter(
DtString platform)
const;
586 virtual ParametersData::const_iterator findAvailableParameterFromFile(
const DtFilename& platform)
const;
714 return !(lhs.operator<(rhs));
724 virtual void loadAllSmsFiles();