15 #include <vrvUtil/signalslib.h>
21 #include <vlutil/vlFilename.h>
22 #include <mtl/envValue.h>
23 #include <matrix/3dBoundingVolume.h>
24 #include <vrvUtil/DtVirtualBaseClass.h>
25 #include <QtCore/QHash>
26 #include <QtGui/QPixmap>
27 #include <QtCore/QObject>
29 #include <vrfExtProtocol/objType.h>
55 class DtVariableBindingList;
62 LoadDataFiles = 0x00000001,
63 LoadParameterFiles = 0x00000002,
64 LoadSystemFiles = 0x00000004,
65 LoadSupportingFiles = 0x00000008,
66 LoadAll = LoadDataFiles | LoadParameterFiles | LoadSystemFiles | LoadSupportingFiles
82 void reparentEnvironmentChildren(DtEnvList*, DtEnvValueSP root)
const;
84 DtEnvValueSP backup();
85 DtEnvValueSP update();
87 void remove(DtEnvValueSP originalNode, DtEnvValueSP modifiedNode);
90 DtEnvValueSP replace(
DtEnvironmentSP env, DtEnvValueSP node, DtEnvValueSP replaceWith);
91 void reparentRoots(DtEnvValueSP templateRoot, DtEnvValueSP newRoot)
const;
104 EntityData(
const DtObjectType& objectType,
const DtObjectType& matchType = DtObjectType::nullType());
175 virtual bool save(
const DtFilename&);
180 virtual void setDisplayDe(makVrv::DtDe*);
181 virtual makVrv::DtDe& displayDe();
189 virtual bool hasFileNamed(
const std::string& s)
const;
193 virtual bool addNewDataFile(
const std::string&);
201 DtFilename getSystemDirectory()
const;
202 DtFilename getFormationDirectory()
const;
203 DtFilename path()
const;
206 DtFilename simulationModelSetFilename()
const;
208 virtual bool openSystemFiles(
const DtFilename& directory);
210 virtual bool loadForceHostilityFile(
const DtFilename& f);
213 virtual bool loadDataFiles(
const DtString&);
216 virtual bool loadParameterFiles(
const DtString&);
219 virtual bool loadModelSet();
223 virtual DtModelSetEntry* modelEntry(
const DtObjectType&,
bool matchPattern =
false)
const;
227 virtual DtModelSetEntry createModelSetEntryFrom(
const DtObjectType&)
const;
233 virtual EntityData* dataFor(
const DtObjectType&)
const;
237 virtual bool containsObjectType(
const DtObjectType&)
const;
241 virtual bool hasModelNamed(
const DtString&);
245 return myAvailableParameters;
250 virtual bool createRwVariable(
const DtObjectType&,
const std::string& rwType,
const std::string& rwName,
DtReaderWriter*& source,
253 virtual void replaceSystem(
const DtFilename&);
255 virtual bool isModified(
const DtObjectType&)
const;
256 virtual bool isModified(EntityData*)
const;
257 virtual bool isModified()
const;
259 virtual bool isNew(
const DtObjectType&)
const;
260 virtual bool isNew(EntityData*)
const;
262 virtual bool isDeleted(
const DtObjectType&)
const;
263 virtual bool isDeleted(EntityData*)
const;
267 virtual void deleteModel(
const DtObjectType&);
268 virtual void deleteModel(EntityData*);
271 virtual bool changeObjectType(
const DtObjectType& oldType,
const DtObjectType& newType);
274 virtual bool changeMatchType(
const DtObjectType& oldType,
const DtObjectType& newType);
278 virtual void updateGuiInformation(EntityData*);
281 virtual void updateSystemData(EntityData*);
284 virtual void sharedSystems(
const DtFilename& systemFile, std::vector<DtModelSetEntry*>& result)
const;
287 virtual void loadSystemFile(
const DtFilename&);
290 virtual void updateDataInformation(EntityData*);
301 virtual void changeDefaultCategory(
const QString& old,
const QString& newCat);
302 virtual void addDefaultCategories(
QComboBox*);
304 void setDefaultCategories(
const QStringList&);
305 void addDefaultCategory(
const QString&);
306 const QStringList& defaultCategories()
const;
307 virtual void revertCategories();
308 virtual bool hasModifiedCategories()
const;
310 virtual void changeDefaultDeployedCountry(
const QString& old,
const QString& newCat);
311 virtual void addDefaultDeployedCountries(
QComboBox*);
312 void setDefaultDeployedCountries(
const QStringList&);
313 void addDefaultDeployedCountry(
const QString&);
314 const QStringList& defaultDeployedCountries()
const;
315 virtual void revertDeployedCountries();
316 virtual bool hasModifiedDeployedCountries()
const;
323 virtual DtModelSetEntry* addNewEntity(
const DtObjectType& base,
const DtObjectType& newType,
const DtString& name,
328 virtual DtModelSetEntry* addNewEntity(
const std::string& platformType,
const DtObjectType& newType,
const DtString& name,
336 virtual void removeSystem(
const DtFilename&);
341 bool sizeToFont =
false);
348 virtual void changeSubordinateTypes(
const DtObjectType& oldType,
const DtObjectType& newType);
359 virtual void updateFormationTable(
const DtObjectType&,
const DtFormationTable&);
388 virtual Dt3dBoundingVolume boundingVolumeFor(
const DtObjectType&)
const;
391 virtual bool isAggregate(
const DtObjectType&)
const;
404 virtual bool saveData();
407 virtual bool saveFavorites();
410 virtual DtObjectType templateObjectType(
const std::string& parameterType)
const;
413 virtual void addInternalItem(
const std::string&,
bool markDataAsWell =
true);
417 virtual std::vector<DtReaderWriter*> supportPointsFor(
const DtObjectType&)
const;
420 virtual DtObjectType uniqueEntityTypeFrom(
const DtObjectType&)
const;
426 virtual makVrv::DtForceManager* forceManager();
429 const DtFilename& parameterFilename()
const;
431 DtFilename modelSetDirectory()
const;
433 virtual void forceRemoved(DtForceType forceType);
437 virtual std::vector<const DtComponentSystemDefinition*> systemDefinitionsFor(
const DtObjectType& o)
const;
447 virtual void loadSystemFilesFromDirectory(
const QString& directoryName,
const DtVariableBindingsList& variableBindings);
449 virtual void cleanup();
451 virtual bool saveForceHostility(
const DtFilename& filename);
453 virtual bool warned(
const DtFilename&);
454 virtual void removeEntityFromSubObjects(
const DtObjectType&);
472 virtual std::vector<EntityData*> addDataFromFile(
const std::string& file);
474 virtual void addModelSetEntriesFromEnvironment(
DtEnvironmentSP, DtEnvValueSP node);
566 return !(lhs.operator<(rhs));