17 #include <boost/signal.hpp>
22 class DtModelDefinitionManagerSignaler;
23 class DtModelDefinitionBackup;
24 class DtModelDefinitionManager;
42 virtual std::string backupClassType()
const;
43 virtual std::string backupName()
const;
51 virtual void write(boost::archive::xml_oarchive& ar);
55 virtual void read(boost::archive::xml_iarchive& ar);
59 virtual void readIncremental(boost::archive::xml_iarchive& ar);
63 return myRestoredManager;
87 virtual void loadDefinitions();
91 virtual bool skipDefaultDefinitions();
94 virtual void saveDefinitions();
95 virtual void saveDefinitions(
const std::string&);
100 virtual void addDefinition(
const DtModelDefinition& definition,
bool autoSave =
true);
117 const std::string& modelFilename()
const;
120 void setModelFilename(
const std::string& extension);
123 bool modelInstancingEnabled()
const;
126 void setModelInstancingEnabled(
bool enabled);
129 void clearModelInstancingCache();
144 virtual bool loadModelDefinitions(
const std::string&
filename,
bool merge =
true);
150 virtual bool loadModelDefinition(
const std::string&
filename);
154 virtual bool exportToFile(
const std::vector<std::string>& defs,
const std::string&
filename)
const;
157 virtual bool schemaInUse(
const std::string&)
const;
160 virtual bool schemaInUse(
const std::string&, std::vector<std::string>&)
const;
163 virtual void backup();
166 virtual bool mergeModelDefinitions(
const std::string& fileOrDirName);
169 virtual bool modifiedSinceStartup();
181 virtual void resetModifiedFlags();
184 virtual int getNumOfDefinitionsExcludeTerrain();
200 void setAutoSave(
bool b)
205 bool autoSave()
const
211 virtual void removeNonPersistentItems();
222 friend class boost::serialization::access;
224 template <
typename Archive>
225 void serialize(Archive& ar,
unsigned int version)
227 ar & BOOST_SERIALIZATION_NVP(myDefinitions);
247 bool loadModelDefinitionsFromXML(
const std::string&
filename,
bool shouldMerge);
248 bool loadModelDefinitionsFromBinary(
const std::string&
filename,
bool shouldMerge);