14 #include <boost/unordered_set.hpp>
23 class DtCacheSettingsRecord;
29 class DtRecordSettingsBackupInterface;
38 virtual tbb::task* execute();
100 virtual void initSingletonDependencies();
107 virtual bool getCachedNodeFile(
const std::string& filePathIn,
108 const FilePathList& paths, std::string& cachedFilePathOut,
113 virtual bool getCachedImageFile(
const std::string& filePathIn,
114 const FilePathList& paths, std::string& cachedFilePathOut,
118 virtual void setCachingEnabled(
bool flag);
121 virtual bool acceleratedCachingEnabled()
const;
127 virtual void setCompressTextures(
bool compress);
130 virtual bool compressTexturesEnabled()
const;
133 virtual void releaseResources();
136 virtual void clearAccelerationCache();
139 virtual void setInstancingEnabled(
bool enabled);
142 virtual bool instancingEnabled()
const;
145 bool clearInstancesOnNewScene()
const;
148 void setClearInstancesOnNewScene(
bool clearInstances);
151 void clearInstancingCache();
158 void flushInstanceCache(
bool multipass,
bool flushNodes,
159 bool flushTextures,
bool flushImages);
163 unsigned int flushCycleCount();
166 virtual void ts_clearInstancingCache();
176 virtual void getSplitRecord(std::vector<makArchives::DtCacheSettingsRecord>& rec,
177 std::vector<std::string>& fileNames) {};
185 void loadDefaults(
bool loadOnlyFactorySettings =
false);
188 void saveAsDefaults();
191 void exportSettings(
const std::string& fileName);
194 void importSettings(
const std::string& fileName);
197 virtual ExcludedExtensions& excludedExtensions();
202 return ts_isExcludedExtension(ext);
207 return mySettingsBackup;
212 return mySettingsBackup;
225 virtual void ts_flushInstancingCache(
bool multiPass,
226 bool flushNodes,
bool flushTextures,
bool flushImages);
231 virtual void autoSaveDefaultsIfNeeded();
234 virtual bool ts_isExcludedExtension(
const std::string& ext)
const;
238 virtual void addExcludedExtension(
const std::string &ext);
242 virtual void removeExcludedExtension(
const std::string &ext);
251 virtual bool save(
const std::string& origFilename,
252 const std::string& cachedFilename,
bool optimize);
DtDe & myDe
Definition: DtFileCache.h:257
DT_DLL_EXAMPLESCENEROOTPLUGIN void init(DtDe &anIG)
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:19
bool myFlipDDSTexturesFlag
Definition: DtFileCache.h:81
bool myCachingEnabled
Definition: DtFileCache.h:258
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:261
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:273
ExcludedExtensions myExcludedExtensionMap
Definition: DtFileCache.h:266
bool myCompressTextureFlag
Definition: DtFileCache.h:259
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:181
bool myHasNoOptions
Definition: DtFileCache.h:70
bool myCDBSource
Definition: DtFileCache.h:82
DtFileCache * myCache
Definition: DtFileCache.h:41
bool myOptimizeDataFlag
Definition: DtFileCache.h:79
bool myUnloadImageDataFlag
Definition: DtFileCache.h:77
std::string myOriginalPath
Definition: DtFileCache.h:69
Contains makVrv::DtVirtualBaseClass class.
DtRecordSettingsBackupInterface * mySettingsBackup
Definition: DtFileCache.h:268
The DtDeSharedState represents all the data that is shared between the master and its slaves...
Definition: DtDeSharedState.h:43
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
DtDe & getDe()
Definition: DtFileCache.h:215
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
std::multimap< std::string, std::string > customOptionStrings
Definition: DtFileCache.h:65
DtRecordSettingsBackupInterface * settingsBackup()
Definition: DtFileCache.h:210
Definition: DtFileCache.h:60
int myOptimizeFileLevel
Definition: DtFileCache.h:80
Record for the settings associated with the VRV caching.
Definition: DtCacheSettingsRecord.h:17
bool myInstanceNodesFlag
Definition: DtFileCache.h:73
bool myClearInstancesOnNewSceneFlag
Definition: DtFileCache.h:260
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:200
DtSignalConnectionManager myConnectionManager
Definition: DtFileCache.h:264
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:176
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
const DtRecordSettingsBackupInterface * settingsBackup() const
Definition: DtFileCache.h:205
The makVrv::DtRecordSettingsBackupInterface provides an interface to record-based backups...
Definition: DtRecordSettingsBackup.h:24
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:262
boost::signalslib::signal< void()> signal_clearInstanceCache
Signal emmitted when clearCache is called, used to allow other caches to be cleared.
Definition: DtFileCache.h:222
Contains DLL export macros.