14 #include <boost/unordered_set.hpp>
23 class DtCacheSettingsRecord;
29 class DtRecordSettingsBackupInterface;
84 virtual void initSingletonDependencies();
91 virtual bool getCachedNodeFile(
const std::string& filePathIn,
92 const FilePathList& paths, std::string& cachedFilePathOut,
97 virtual bool getCachedImageFile(
const std::string& filePathIn,
98 const FilePathList& paths, std::string& cachedFilePathOut,
102 virtual void setCachingEnabled(
bool flag);
105 virtual bool acceleratedCachingEnabled()
const;
111 virtual void setCompressTextures(
bool compress);
114 virtual bool compressTexturesEnabled()
const;
117 virtual void releaseResources();
120 virtual void clearAccelerationCache();
123 virtual void setInstancingEnabled(
bool enabled);
126 virtual bool instancingEnabled()
const;
129 bool clearInstancesOnNewScene()
const;
132 void setClearInstancesOnNewScene(
bool clearInstances);
135 void clearInstancingCache();
142 void flushInstanceCache(
bool multipass,
bool flushNodes,
143 bool flushTextures,
bool flushImages);
147 unsigned int flushCycleCount();
150 virtual void ts_clearInstancingCache();
160 virtual void getSplitRecord(std::vector<makArchives::DtCacheSettingsRecord>& rec,
161 std::vector<std::string>& fileNames) {};
169 void loadDefaults(
bool loadOnlyFactorySettings =
false);
172 void saveAsDefaults();
175 void exportSettings(
const std::string& fileName);
178 void importSettings(
const std::string& fileName);
181 virtual ExcludedExtensions& excludedExtensions();
186 return ts_isExcludedExtension(ext);
191 return mySettingsBackup;
196 return mySettingsBackup;
209 virtual void ts_flushInstancingCache(
bool multiPass,
210 bool flushNodes,
bool flushTextures,
bool flushImages);
215 virtual void autoSaveDefaultsIfNeeded();
218 virtual bool ts_isExcludedExtension(
const std::string& ext)
const;
222 virtual void addExcludedExtension(
const std::string &ext);
226 virtual void removeExcludedExtension(
const std::string &ext);
235 virtual bool save(
const std::string& origFilename,
236 const std::string& cachedFilename,
bool optimize);
DtDe & myDe
Definition: DtFileCache.h:241
DT_DLL_EXAMPLESCENEROOTPLUGIN void init(DtDe &anIG)
unsigned int myCacheHint
Definition: DtFileCache.h:47
std::deque< std::string > FilePathList
Definition: DtFileCache.h:42
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
bool myFlipDDSTexturesFlag
Definition: DtFileCache.h:65
bool myCachingEnabled
Definition: DtFileCache.h:242
bool myUseMemoryImageCacheFlag
Definition: DtFileCache.h:58
boost::unordered_set< std::string > ExcludedExtensions
A set of extensions excluded from the cache.
Definition: DtFileCache.h:41
std::string myCacheDir
Definition: DtFileCache.h:52
bool myInstancingEnabled
Definition: DtFileCache.h:245
bool myCompressTexturesFlag
Definition: DtFileCache.h:60
bool myInstanceTexturesFlag
Definition: DtFileCache.h:59
std::multimap< std::string, void * > customPluginData
Definition: DtFileCache.h:50
bool myUseAccelerationCacheFlag
Definition: DtFileCache.h:55
The abstract creator for the abstract DtFileCache class.
Definition: DtFileCache.h:257
ExcludedExtensions myExcludedExtensionMap
Definition: DtFileCache.h:250
bool myCompressTextureFlag
Definition: DtFileCache.h:243
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:165
bool myHasNoOptions
Definition: DtFileCache.h:54
bool myCDBSource
Definition: DtFileCache.h:66
bool myOptimizeDataFlag
Definition: DtFileCache.h:63
bool myUnloadImageDataFlag
Definition: DtFileCache.h:61
std::string myOriginalPath
Definition: DtFileCache.h:53
Contains makVrv::DtVirtualBaseClass class.
DtRecordSettingsBackupInterface * mySettingsBackup
Definition: DtFileCache.h:252
The DtDeSharedState represents all the data that is shared between the master and its slaves...
Definition: DtDeSharedState.h:44
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
DtDe & getDe()
Definition: DtFileCache.h:199
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
std::multimap< std::string, std::string > customOptionStrings
Definition: DtFileCache.h:49
DtRecordSettingsBackupInterface * settingsBackup()
Definition: DtFileCache.h:194
Definition: DtFileCache.h:44
int myOptimizeFileLevel
Definition: DtFileCache.h:64
Record for the settings associated with the VRV caching.
Definition: DtCacheSettingsRecord.h:17
bool myInstanceNodesFlag
Definition: DtFileCache.h:57
bool myClearInstancesOnNewSceneFlag
Definition: DtFileCache.h:244
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:184
DtSignalConnectionManager myConnectionManager
Definition: DtFileCache.h:248
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:160
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:70
const DtRecordSettingsBackupInterface * settingsBackup() const
Definition: DtFileCache.h:189
The makVrv::DtRecordSettingsBackupInterface provides an interface to record-based backups...
Definition: DtRecordSettingsBackup.h:24
FilePathList myDatabasePaths
Definition: DtFileCache.h:46
Handles the caching of files. Includes functions for excluding files with certain extensions from bei...
Definition: DtFileCache.h:36
unsigned int myFlushCycleCount
Definition: DtFileCache.h:246
boost::signalslib::signal< void()> signal_clearInstanceCache
Signal emmitted when clearCache is called, used to allow other caches to be cleared.
Definition: DtFileCache.h:206
Contains DLL export macros.