24 class DtModelDefinitionManagerSignaler;
25 class DtModelDefinitionBackup;
26 class DtModelDefinitionManager;
44 virtual std::string backupClassType()
const;
45 virtual std::string backupName()
const;
53 virtual void write(boost::archive::xml_oarchive& ar);
57 virtual void read(boost::archive::xml_iarchive& ar);
61 virtual void readIncremental(boost::archive::xml_iarchive& ar);
65 return myRestoredManager;
90 static bool getFloatParameterValueFromDefinition(
91 const std::string& paramName,
const DtModelDefinition& definition,
float& result);
98 static bool getVectorParameterValueFromDefinition(
99 const std::string& paramName,
const DtModelDefinition& definition,
float(&result)[3]);
106 static bool getColorParameterValueFromDefinition(
107 const std::string& paramName,
const DtModelDefinition& definition,
float(&result)[4]);
114 virtual void loadDefinitions();
118 virtual bool skipDefaultDefinitions();
121 virtual void saveDefinitions();
125 virtual void saveAllDefinitions();
129 virtual void saveDefinitions(
const std::string&);
135 virtual void addDefinition(
const DtModelDefinition& definition,
bool autoSave =
true);
156 void renameDefinition(
const std::string& oldModelName,
const std::string& newModelName);
159 const std::string& modelFilename()
const;
162 void setModelFilename(
const std::string& extension);
165 bool modelInstancingEnabled()
const;
168 void setModelInstancingEnabled(
bool enabled);
171 void clearModelInstancingCache();
186 virtual bool loadModelDefinitions(
const std::string&
filename,
bool merge =
true);
192 virtual bool loadModelDefinition(
const std::string&
filename);
196 virtual bool exportToFile(
const std::vector<std::string>& defs,
const std::string&
filename)
const;
199 virtual bool schemaInUse(
const std::string&)
const;
202 virtual bool schemaInUse(
const std::string&, std::vector<std::string>&)
const;
205 virtual void backup();
208 virtual bool mergeModelDefinitions(
const std::string& fileOrDirName);
211 virtual bool modifiedSinceStartup();
223 virtual void resetModifiedFlags();
226 virtual int getNumOfDefinitionsExcludeTerrain();
253 virtual void removeNonPersistentItems();
264 friend class boost::serialization::access;
266 template <
typename Archive>
269 ar & BOOST_SERIALIZATION_NVP(myDefinitions);
291 bool loadModelDefinitionsFromXML(
const std::string&
filename,
bool shouldMerge);
292 bool loadModelDefinitionsFromBinary(
const std::string&
filename,
bool shouldMerge);
the Signals for DtModelDefinitionManager
Definition: DtModelDefinitionManager.h:297
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
BOOST_CLASS_VERSION(makArchives::DtDiGuySettingsRecord, 3)
std::string myModelFileExtension
Definition: DtModelDefinitionManager.h:277
The model definition manager is responsible to managing all of the model definitions the IG knows abo...
Definition: DtModelDefinitionManager.h:78
void serialize(Archive &ar, unsigned int version)
Definition: DtModelDefinitionManager.h:267
boost::signalslib::signal< void()> signal_modelDefinitionManagerReset
Signal emitted when the model definition manager is reset.
Definition: DtModelDefinitionManager.h:308
DefinitionMap myDefinitions
Definition: DtModelDefinitionManager.h:275
const DtSettingsBackup * settingsBackup() const
Definition: DtModelDefinitionManager.h:228
DefinitionMap myModifiedDefinitions
Definition: DtModelDefinitionManager.h:286
bool myModelInstancingFlag
Definition: DtModelDefinitionManager.h:282
DtModelDefinitionManagerBackup is the settings backup object for DtModelDefinitions.
Definition: DtModelDefinitionManager.h:31
boost::signalslib::signal< void(const DtModelDefinition &)> signal_modelDefinitionToBeRemoved
Signal emitted when a model definition is to be destroyed.
Definition: DtModelDefinitionManager.h:314
A model definition Interaction any number of named parameters, and also can be used to store cached d...
Definition: DtModelDefinition.h:42
bool myAutoSave
Definition: DtModelDefinitionManager.h:278
void setAutoSave(bool b)
Sets whether or not to automatically save model definition manager on any change. Default is true...
Definition: DtModelDefinitionManager.h:242
std::map< std::string, DtModelDefinition > DefinitionMap
Definition: DtModelDefinitionManager.h:83
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
bool autoSave() const
Definition: DtModelDefinitionManager.h:247
DtModelDefinitionManager * myRestoredManager
Definition: DtModelDefinitionManager.h:71
std::string myModelFileName
Definition: DtModelDefinitionManager.h:276
Creator for DtModelDefinitionManager class.
Definition: DtModelDefinitionManager.h:324
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
DtSettingsBackup * settingsBackup()
Definition: DtModelDefinitionManager.h:233
Interaction makVrv::DtModelDefinition class.
Provides a method of doign settings backup.
Definition: DtSettingsBackup.h:23
int myStartupNumOfDefinition
Definition: DtModelDefinitionManager.h:285
DefinitionMap myDeletedDefinitions
Definition: DtModelDefinitionManager.h:288
const DtModelDefinitionManager * restoredManager() const
Definition: DtModelDefinitionManager.h:63
DtDe & myDe
Definition: DtModelDefinitionManager.h:274
Base class to provide boost signal/slot management.
boost::signalslib::signal< void(const DtModelDefinition &)> signal_modelDefinitionAdded
Signal emitted when a model definition is added.
Definition: DtModelDefinitionManager.h:311
Contains makVrv::DtModelDefinitionRecord class.
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:72
DtModelDefinitionManagerSignaler & mySignaler
Definition: DtModelDefinitionManager.h:283
DtModelDefinitionManager & mySourceManager
Definition: DtModelDefinitionManager.h:69
DefinitionMap myAddedDefinitions
Definition: DtModelDefinitionManager.h:287
DtDe & myDe
Definition: DtModelDefinitionManager.h:70
DtSignalConnectionManager myConnectionManager
Definition: DtModelDefinitionManager.h:280
DtModelDefinitionManagerBackup * myBackup
Definition: DtModelDefinitionManager.h:284