16 #include <boost/signals.hpp>
17 #include <boost/unordered_set.hpp>
24 class DtCacheSettingsRecord;
30 class DtRecordSettingsBackupInterface;
85 virtual bool getCachedNodeFile(
const std::string& filePathIn,
86 const FilePathList& paths, std::string& cachedFilePathOut,
91 virtual bool getCachedImageFile(
const std::string& filePathIn,
92 const FilePathList& paths, std::string& cachedFilePathOut,
96 virtual void setCachingEnabled(
bool flag);
99 virtual bool acceleratedCachingEnabled()
const;
105 virtual void setCompressTextures(
bool compress);
108 virtual bool compressTexturesEnabled()
const;
111 virtual void releaseResources();
114 virtual void clearAccelerationCache();
117 virtual void setInstancingEnabled(
bool enabled);
120 virtual bool instancingEnabled()
const;
123 bool clearInstancesOnNewScene()
const;
126 void setClearInstancesOnNewScene(
bool clearInstances);
129 void clearInstancingCache();
135 void flushInstanceCache(
bool multipass,
bool flushNodes,
136 bool flushTextures,
bool flushImages);
140 unsigned int flushCycleCount();
143 virtual void ts_clearInstancingCache();
153 virtual void getSplitRecord(std::vector<makArchives::DtCacheSettingsRecord>& rec,
154 std::vector<std::string>& fileNames) {};
162 void loadDefaults(
bool loadOnlyFactorySettings =
false);
165 void saveAsDefaults();
168 void exportSettings(
const std::string& fileName);
171 void importSettings(
const std::string& fileName);
174 virtual ExcludedExtensions& excludedExtensions();
177 inline bool isExcludedExtension(
const std::string& ext)
const
179 return ts_isExcludedExtension(ext);
184 return mySettingsBackup;
189 return mySettingsBackup;
199 virtual void autoSaveDefaultsIfNeeded();
202 virtual bool ts_isExcludedExtension(
const std::string& ext)
const;
205 virtual void ts_flushInstancingCache(
bool multiPass,
206 bool flushNodes,
bool flushTextures,
bool flushImages);
210 virtual void addExcludedExtension(
const std::string &ext);
214 virtual void removeExcludedExtension(
const std::string &ext);
223 virtual bool save(
const std::string& origFilename,
224 const std::string& cachedFilename,
bool optimize);