13 #include <boost/signals.hpp>
14 #include <boost/unordered_set.hpp>
23 class DtCacheSettingsRecord;
29 class DtRecordSettingsBackupInterface;
38 virtual tbb::task* execute();
99 virtual void initSingletonDependencies();
106 virtual bool getCachedNodeFile(
const std::string& filePathIn,
107 const FilePathList& paths, std::string& cachedFilePathOut,
112 virtual bool getCachedImageFile(
const std::string& filePathIn,
113 const FilePathList& paths, std::string& cachedFilePathOut,
117 virtual void setCachingEnabled(
bool flag);
120 virtual bool acceleratedCachingEnabled()
const;
126 virtual void setCompressTextures(
bool compress);
129 virtual bool compressTexturesEnabled()
const;
132 virtual void releaseResources();
135 virtual void clearAccelerationCache();
138 virtual void setInstancingEnabled(
bool enabled);
141 virtual bool instancingEnabled()
const;
144 bool clearInstancesOnNewScene()
const;
147 void setClearInstancesOnNewScene(
bool clearInstances);
150 void clearInstancingCache();
157 void flushInstanceCache(
bool multipass,
bool flushNodes,
158 bool flushTextures,
bool flushImages);
162 unsigned int flushCycleCount();
165 virtual void ts_clearInstancingCache();
175 virtual void getSplitRecord(std::vector<makArchives::DtCacheSettingsRecord>& rec,
176 std::vector<std::string>& fileNames) {};
184 void loadDefaults(
bool loadOnlyFactorySettings =
false);
187 void saveAsDefaults();
190 void exportSettings(
const std::string& fileName);
193 void importSettings(
const std::string& fileName);
196 virtual ExcludedExtensions& excludedExtensions();
201 return ts_isExcludedExtension(ext);
206 return mySettingsBackup;
211 return mySettingsBackup;
224 virtual void ts_flushInstancingCache(
bool multiPass,
225 bool flushNodes,
bool flushTextures,
bool flushImages);
230 virtual void autoSaveDefaultsIfNeeded();
233 virtual bool ts_isExcludedExtension(
const std::string& ext)
const;
237 virtual void addExcludedExtension(
const std::string &ext);
241 virtual void removeExcludedExtension(
const std::string &ext);
250 virtual bool save(
const std::string& origFilename,
251 const std::string& cachedFilename,
bool optimize);
DtDe & myDe
Definition: DtFileCache.h:256
bool myFlushImages
Definition: DtFileCache.h:45
unsigned int myCacheHint
Definition: DtFileCache.h:63
std::deque< std::string > FilePathList
Definition: DtFileCache.h:58
Virtual base class.
Definition: DtVirtualBaseClass.h:22
bool myFlipDDSTexturesFlag
Definition: DtFileCache.h:81
bool myCachingEnabled
Definition: DtFileCache.h:257
bool myUseMemoryImageCacheFlag
Definition: DtFileCache.h:74
boost::unordered_set< std::string > ExcludedExtensions
A set of extensions excluded from the cache.
Definition: DtFileCache.h:57
std::string myCacheDir
Definition: DtFileCache.h:68
bool myInstancingEnabled
Definition: DtFileCache.h:260
bool myCompressTexturesFlag
Definition: DtFileCache.h:76
bool myMultipass
Definition: DtFileCache.h:42
Creates another thread to clear out cache.
Definition: DtFileCache.h:34
bool myInstanceTexturesFlag
Definition: DtFileCache.h:75
std::multimap< std::string, void * > customPluginData
Definition: DtFileCache.h:66
bool myUseAccelerationCacheFlag
Definition: DtFileCache.h:71
bool myFlushNodes
Definition: DtFileCache.h:43
The abstract creator for the abstract DtFileCache class.
Definition: DtFileCache.h:272
ExcludedExtensions myExcludedExtensionMap
Definition: DtFileCache.h:265
bool myCompressTextureFlag
Definition: DtFileCache.h:258
virtual void addRecords(makArchives::DtCacheSettingsRecord &recs, makArchives::DtCacheSettingsRecord &combinedRec)
To support writing element definitions in folders as multiple files not implemented for DtFileCache...
Definition: DtFileCache.h:180
bool myHasNoOptions
Definition: DtFileCache.h:70
DtFileCache * myCache
Definition: DtFileCache.h:41
bool myOptimizeDataFlag
Definition: DtFileCache.h:79
boost::signal< void()> signal_clearInstanceCache
Signal emmitted when clearCache is called, used to allow other caches to be cleared.
Definition: DtFileCache.h:221
bool myUnloadImageDataFlag
Definition: DtFileCache.h:77
std::string myOriginalPath
Definition: DtFileCache.h:69
Contains makVrv::DtVirtualBaseClass class.
DtRecordSettingsBackupInterface * mySettingsBackup
Definition: DtFileCache.h:267
The DtDeSharedState represents all the data that is shared between the master and its slaves...
Definition: DtDeSharedState.h:42
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
DtDe & getDe()
Definition: DtFileCache.h:214
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:24
std::multimap< std::string, std::string > customOptionStrings
Definition: DtFileCache.h:65
DtRecordSettingsBackupInterface * settingsBackup()
Definition: DtFileCache.h:209
Definition: DtFileCache.h:60
int myOptimizeFileLevel
Definition: DtFileCache.h:80
Record for the settings associated with the VRV caching.
Definition: DtCacheSettingsRecord.h:20
bool myInstanceNodesFlag
Definition: DtFileCache.h:73
bool myClearInstancesOnNewSceneFlag
Definition: DtFileCache.h:259
Base class to provide boost signal/slot management.
bool isExcludedExtension(const std::string &ext) const
Check if the extension is in the list of excluded file types.
Definition: DtFileCache.h:199
DT_DLL_DEBUGDRAWRENDERER void init(makVrv::DtDe &de)
Work function for the plugin initialization.
DtSignalConnectionManager myConnectionManager
Definition: DtFileCache.h:263
virtual void getSplitRecord(std::vector< makArchives::DtCacheSettingsRecord > &rec, std::vector< std::string > &fileNames)
To support writing element definitions in folders as multiple files not implemented for DtFileCache...
Definition: DtFileCache.h:175
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
const DtRecordSettingsBackupInterface * settingsBackup() const
Definition: DtFileCache.h:204
The makVrv::DtRecordSettingsBackupInterface provides an interface to record-based backups...
Definition: DtRecordSettingsBackup.h:27
bool myFlushTextures
Definition: DtFileCache.h:44
FilePathList myDatabasePaths
Definition: DtFileCache.h:62
Handles the caching of files.
Definition: DtFileCache.h:52
unsigned int myFlushCycleCount
Definition: DtFileCache.h:261
Contains DLL export macros.