VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Classes | Public Member Functions | Protected Member Functions | Friends
DtVrfOsgFileCache Class Reference
Inheritance diagram for DtVrfOsgFileCache:
Inheritance graph
[legend]

Classes

class  Creator
 

Public Member Functions

bool needsShaderGeneration (const std::string &filename, const LoadFileOptions &options) const
 Returns TRUE if we should run the shader generator on the node. More...
 
void encodeOptionsString (const LoadFileOptions &loadFileOptions, osgDB::ReaderWriter::Options &options) const
 Encode load file options into reader write options. More...
 
void decodeOptions (const osgDB::ReaderWriter::Options &options, LoadFileOptions &loadFileOptions) const
 Decode reader write options into load file options. More...
 
osg::ref_ptr< osg::Image > ts_readImageFile (const std::string &inputFilename, const LoadFileOptions &loadFileOptions)
 
- Public Member Functions inherited from makVrv::DtOsgFileCache
virtual ~DtOsgFileCache ()
 CTOR. More...
 
virtual void initSingletonDependencies ()
 Called during initialization after the object is created and registered with de. More...
 
virtual void releaseResources ()
 Release all rendering resources. More...
 
virtual void releaseResources (osg::State *state)
 Release all rendering resources. More...
 
virtual void setFromRecord (const makArchives::DtCacheSettingsRecord &rec)
 Push loader options to global registry whenever they're loaded from a record. More...
 
osg::Node * readNodeFile (const std::string &inputFilename, const LoadFileOptions &loadFileOptions)
 Read a node file, provides options for controlling This is call is equivalent to osg::readNodeFile function with the options encoded in a options string. More...
 
osg::ref_ptr< osg::Node > findNodeFile (const std::string &inputFilename)
 Find a node file. More...
 
osg::Image * readImageFile (const std::string &inputFilename, const LoadFileOptions &loadFileOptions)
 Read a node file, provides options for controlling This is call is equivalent to osg::readImageFile function with the options encoded in a options string. More...
 
virtual osg::Texture * getTextureInstance (const std::string &filePath, osg::Texture::FilterMode minFilter, osg::Texture::FilterMode magFilter, osg::Texture::WrapMode s, osg::Texture::WrapMode t, const LoadFileOptions &loadFileOptions)
 Returns a cached texture instance, or a new copy of a texture if instancing is disabled; returns 0 if file failed to load. More...
 
virtual void ts_getTextureInstance (const std::string &filePath, osg::Texture::FilterMode minFilter, osg::Texture::FilterMode magFilter, osg::Texture::WrapMode s, osg::Texture::WrapMode t, const LoadFileOptions &loadFileOptions, osg::ref_ptr< osg::Texture > &texture)
 Passes back a cached texture instance, or a new copy of a texture if instancing is disabled; returns 0 if file failed to load use this instead of getTextureInstance if it is called outside the main thread. More...
 
virtual void runMergeDuplicateTextureVisitor (osg::Node &node)
 runs the duplicate textures visitor on this node More...
 
DtMetaFileManagermetaFileManager ()
 Retrieve the Metafile manager (load, parse .meta files) More...
 
void cleanDataFilePathList (FilePathList &fileList)
 Clean and remove duplicate paths from the input database path list (i.e. More...
 
virtual const
DtOsgShaderFilesCache
shaderFilesCache (void) const
 access shader files cache More...
 
virtual const std::string & loadShaderSource (const std::string &shaderFile) const
 load shader source via the shader manger, shader cache shader file is the file name of the shader (without path). More...
 
virtual std::string ts_getTextureFilePathAndSetNameIfNotSet (const osg::Texture *baseTexture) const
 find the file path for an effect texture. More...
 
virtual void ts_setEffectTextureName (osg::ref_ptr< osg::Texture > &effectTexture, const std::string &validFile) const
 thread safe More...
 
virtual void ts_setEffectTextureFilterAndHardwareMipMapGen (osg::Texture *effectTexture, osg::Texture::FilterMode minFilter, osg::Texture::FilterMode magFilter, bool hardwareMipMapGen) const
 thread safe More...
 
virtual void ts_compareAndSwapIgnoreHint (osg::Texture *effectTexture, bool oldVal, bool newVal) const
 thread safe. CAS operation. Compares current with old val, swaps current with new val if current val == old val More...
 
virtual bool ts_checkAndSetIgnoreHint (osg::Object *obj, bool val, const char *hint) const
 thread safe. More...
 
virtual bool ts_ignore (osg::Object *obj, const char *hint) const
 thread safe. More...
 
virtual const
DtEffectControllerShaderCache
effectControllerShaderCache (void) const
 access the controller shader cache More...
 
virtual void setNumActivePagerThreads (int active)
 called by osg renderer once a frame to let the file cache know how many pagers are running More...
 
virtual int numActivePagerThreads ()
 how many pagers are actively running, set by osg renderer. More...
 
virtual int numImageProcessingTasks () const
 how many active squish mipmapping tasks that are going on More...
 
virtual void setNumDiguyWorkerThreads (int num)
 how many active diguy threads are going on, added to imageProcessing tasks More...
 
virtual void incrementNumSleepingPagerThreads ()
 called by background threads to let filecache know that the thread has suspended typically while textures are paged in by main thread job More...
 
virtual void decrementNumSleepingPagerThreads ()
 called by background threads to let filecache know thread has resumed More...
 
virtual DtOsgShaderManagershaderManager (void)
 access shader manager More...
 
virtual const DtOsgShaderManagershaderManager (void) const
 access shader manager More...
 
virtual void ts_flushInstancingCache (bool multipass, bool flushNodes, bool flushTextures, bool flushImages)
 Flush the instancing cache. More...
 
- Public Member Functions inherited from makVrv::DtFileCache
virtual ~DtFileCache ()
 DTOR. More...
 
virtual void init ()
 Initialize the cache. Must be called before using. More...
 
LoadFileOptions defaultOptions () const
 Get the current default options. More...
 
virtual bool getCachedNodeFile (const std::string &filePathIn, const FilePathList &paths, std::string &cachedFilePathOut, bool emitError)
 Returns true if cachedFilePathOut contains the path to a cached version of filePathIn. More...
 
virtual bool getCachedImageFile (const std::string &filePathIn, const FilePathList &paths, std::string &cachedFilePathOut, bool emitError)
 Returns true if cachedFilePathOut contains the path to a cached version of filePathIn. More...
 
virtual void setCachingEnabled (bool flag)
 Toggle caching on or off. More...
 
virtual bool acceleratedCachingEnabled () const
 Returns true if caching is enabled. More...
 
virtual void setCompressTextures (bool compress)
 Set whether all textures will be compressed. More...
 
virtual bool compressTexturesEnabled () const
 Should we compress textures. More...
 
virtual void clearAccelerationCache ()
 Clears the cache. More...
 
virtual void setInstancingEnabled (bool enabled)
 Sets whether model instancing is enabled. More...
 
virtual bool instancingEnabled () const
 Returns true if model instancing is enabled. More...
 
bool clearInstancesOnNewScene () const
 Returns whether to clear instances on new scene. More...
 
void setClearInstancesOnNewScene (bool clearInstances)
 Returns whether to clear instances on new scene. More...
 
void clearInstancingCache ()
 Clear the model instance cache. More...
 
void flushInstanceCache (bool multipass, bool flushNodes, bool flushTextures, bool flushImages)
 Removes all instances that only have 1 reference. More...
 
unsigned int flushCycleCount ()
 Get the flush cycle count, this is incremented each time flush instance cache is called. More...
 
virtual void getRecord (makArchives::DtCacheSettingsRecord &rec)
 Fill out a cache settings record with the DtFileCache state. More...
 
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. More...
 
virtual void addRecords (makArchives::DtCacheSettingsRecord &recs, makArchives::DtCacheSettingsRecord &combinedRec)
 To support writing element definitions in folders as multiple files not implemented for DtFileCache. More...
 
void loadDefaults (bool loadOnlyFactorySettings=false)
 Called from CTOR to load the default settings. More...
 
void saveAsDefaults ()
 Called to save the current settings as the default settings. More...
 
void exportSettings (const std::string &fileName)
 Exports the current cache settings to a file. More...
 
void importSettings (const std::string &fileName)
 Import the current cache settings from a file. More...
 
virtual ExcludedExtensionsexcludedExtensions ()
 Accessor for excluded extensions. More...
 
bool isExcludedExtension (const std::string &ext) const
 Check if the extension is in the list of excluded file types. More...
 
const
DtRecordSettingsBackupInterface
settingsBackup () const
 
DtRecordSettingsBackupInterfacesettingsBackup ()
 
DtDegetDe ()
 

Protected Member Functions

 DtVrfOsgFileCache (makVrv::DtDe &de)
 
- Protected Member Functions inherited from makVrv::DtOsgFileCache
virtual osg::ref_ptr< osg::Node > ts_readNodeFile (const std::string &inputFilename, const LoadFileOptions &loadFileOptions, const osg::UserDataContainer *optionsUserData)
 Thread safe Implementation of readNodeFile. More...
 
virtual osg::ref_ptr< osg::Node > ts_readCdbNodeFile (const std::string &inputFilename, const LoadFileOptions &loadFileOptions, const osg::UserDataContainer *optionsUserData)
 Thread safe Implementation of readNodeFile for CDB (gets called by ts_readNodeFile for CDB files). More...
 
virtual osg::ref_ptr< osg::Node > ts_findNodeFile (const std::string &inputFilename)
 Thread safe Implementation of findNodeFile. More...
 
virtual osg::ref_ptr< osg::Image > ts_readImageFile (const std::string &inputFilename, const LoadFileOptions &loadFileOptions, const osg::UserDataContainer *optionsUserData=0L)
 Thread safe Implementation of readImageFile. More...
 
virtual osg::ref_ptr< osg::Image > ts_readCdbImageFile (const std::string &inputFilename, const LoadFileOptions &loadFileOptions, const osg::UserDataContainer *optionsUserData=0L)
 Thread safe Implementation of readImageFile for CDB (gets called by ts_readImageFile for CDB files). More...
 
virtual osg::ref_ptr< osg::Object > ts_readObject (const std::string &filename, const osgDB::ReaderWriter::Options *options)
 Thread safe Implementation of readObject. More...
 
void ts_encryptImage (const std::string &inputFileName, const std::string &outputFilename, const osgDB::ReaderWriter::Options *options, bool printToConsole)
 Thread safe implementation of encrypting an image. More...
 
bool ts_resolveRelativeFilename (const LoadFileOptions &loadFileOptions, std::string &absoluteInputFilename)
 Attempt to resolve the absolute input filename. More...
 
virtual void ts_clearInstancingCache ()
 Clear the model instance cache. More...
 
virtual void applyEffectTexture (osg::Node *node, const std::string &extension, bool isCdb, osgDB::ReaderWriter::Options *option)
 Apply the effect texture according to different file extensions. More...
 
 DtOsgFileCache (DtDe &de)
 Protected CTOR. Must be called by creator. More...
 
virtual bool save (const std::string &origFilename, const std::string &cachedFilename, bool optimize)
 Returns true if origFilename was successfully written out as cachedFilename. More...
 
bool saveToAcceleratedFile (const std::string &origFileName, osg::Node *nodeRef, const std::string &cachedFilename, bool writeExternalReferences)
 Save the node to an accelerated file. More...
 
virtual void addMetaFlightOptions (std::string &optionsString)
 Add meta flight options to the option string. More...
 
virtual void updateGlobalOptions ()
 updates the osgDB::Registry::instance() options with the defaults based on the shared state. More...
 
virtual void slot_onDdsFlipChanged (bool flip)
 slot for the onDdsFlipChanged signal so we can update the global options to match the shared state More...
 
virtual void slot_instancingChanged (bool enabled)
 slot for the instancingChanged signal so we can update the global options to match the shared state More...
 
virtual bool getAttrFromLocalCache (const std::string &filename, osg::Object **attrData)
 
virtual void writeCacheFile (osg::ref_ptr< osg::Node > node, const std::string &acceleratedFileLocation, DtCVMarkerSeries &series)
 Write cache file to disk. More...
 
virtual void shadersGeneration (osg::ref_ptr< osg::Node > node, const std::string &fileToLoad)
 runs the shader generator and optimizing state sharing on a node. More...
 
virtual void squishImage (const std::string &fileToLoad, const std::string &acceleratedFilename, DtCVMarkerSeries &objectCreation, osg::ref_ptr< osg::Image > image, bool writeAcceleratedFile, bool isCDB)
 compress (generates dds and mipmaps) for image, potentially saves to disk or spawns off async compression task More...
 
virtual void saveImageFilename (const std::string &absoluteInputFilename, osg::Image *image)
 store the original file name in the image object even though we may have loaded from the cache. More...
 
virtual osg::ref_ptr< osg::Image > isImageAlreadyInCache (const std::string &cacheKey, const std::string &inputExtension, const LoadFileOptions &loadFileOptions)
 Check if the texture is already loaded and return it if found. More...
 
- Protected Member Functions inherited from makVrv::DtFileCache
virtual void autoSaveDefaultsIfNeeded ()
 Save the default settings if necessary. More...
 
virtual bool ts_isExcludedExtension (const std::string &ext) const
 Thread safe call. More...
 
virtual void addExcludedExtension (const std::string &ext)
 Add the extension to the list of excluded file types This function can only be called in the CTOR of the file cache. More...
 
virtual void removeExcludedExtension (const std::string &ext)
 remove the extension from the list of excluded file types This function can only be called in the CTOR of the file cache. More...
 
 DtFileCache (DtDe &de)
 Protected CTOR. More...
 

Friends

class Creator
 

Additional Inherited Members

- Public Types inherited from makVrv::DtFileCache
typedef boost::unordered_set
< std::string > 
ExcludedExtensions
 A set of extensions excluded from the cache. More...
 
typedef std::deque< std::string > FilePathList
 
- Static Public Member Functions inherited from makVrv::DtOsgFileCache
static void optimizeNodeGeometry (osg::Node *node)
 Run extra optimization passes on node. More...
 
- Public Attributes inherited from makVrv::DtOsgFileCache
boost::signals2::signal< void(osg::Node
*, const std::string
&origFileName, const
std::string &actualFileName)> 
signal_nodeFileLoaded
 Signal emitted whenever a Node file is loaded from disk. More...
 
boost::signals2::signal< void(osg::Image
*, const std::string
&origFileName, const
std::string &actualFileName)> 
signal_imageFileLoaded
 Signal emitted whenever an image file is loaded from disk. More...
 
boost::signals2::signal< void(osg::Object
*, const std::string
&origFileName, const
std::string &actualFileName)> 
signal_objectFileLoaded
 Signal emitted whenever an object file is loaded from disk. More...
 
boost::signals2::signal< void(const
std::string &filename,
osgDB::ReaderWriter::ReadResult
&, const
osgDB::ReaderWriter::Options *)> 
signal_readNodeCallback
 Signaled emitted when osg calls readNodeFile. More...
 
boost::signals2::signal< void(const
std::string &filename,
osgDB::ReaderWriter::ReadResult
&, const
osgDB::ReaderWriter::Options *)> 
signal_readImageCallback
 Signaled emitted when osg calls readImageFile. More...
 
boost::signals2::signal< void(const
std::string &filename,
osgDB::ReaderWriter::ReadResult
&, const
osgDB::ReaderWriter::Options *)> 
signal_readObjectCallback
 Signaled emitted when osg calls readObject. More...
 
- Public Attributes inherited from makVrv::DtFileCache
boost::signal< void()> signal_clearInstanceCache
 Signal emmitted when clearCache is called, used to allow other caches to be cleared. More...
 
- Protected Types inherited from makVrv::DtOsgFileCache
typedef boost::unordered_map
< std::string, std::string > 
RelativePathCache
 
typedef std::map< std::string,
osg::ref_ptr< osg::Object > > 
AttrCacheMap
 
- Protected Attributes inherited from makVrv::DtOsgFileCache
DtOsgReferencedCollection
< osg::Node > 
myNodeCollection
 
DtOsgReferencedCollection
< DtTextureCollection
myTextureCollection
 
DtOsgReferencedCollection
< osg::Image > 
myImageCollection
 
AttrCacheMap myAttrCacheMap
 
unsigned int myMaxFlushTextureCount
 
unsigned int myMaxFlushNodeCount
 
unsigned int myMaxFlushImageCount
 
tbb::spin_rw_mutex myRelativePathMutex
 
RelativePathCache myRelativePathCache
 
DtMeifConvertermyImageCompressor
 
DtMetaFileManagermyMetaFileManager
 
DtOsgShaderManagermyShaderManager
 
DtOsgShaderFilesCachemyShaderFilesCache
 
DtEffectControllerFactorymyEffectControllerFactory
 
DtEffectControllerShaderCache myEffectControllerShaderCache
 
osg::ref_ptr< DtReadFileCallbackmyReadFileCallback
 
int myNumActivePagerThreads
 
tbb::atomic< intmyNumSleepingPagerThreads
 
tbb::atomic< intmyNumDiguyWorkerThreads
 
- Protected Attributes inherited from makVrv::DtFileCache
DtDemyDe
 
bool myCachingEnabled
 
bool myCompressTextureFlag
 
bool myClearInstancesOnNewSceneFlag
 
bool myInstancingEnabled
 
unsigned int myFlushCycleCount
 
DtSignalConnectionManager myConnectionManager
 
ExcludedExtensions myExcludedExtensionMap
 
DtRecordSettingsBackupInterfacemySettingsBackup
 

Constructor & Destructor Documentation

DtVrfOsgFileCache::DtVrfOsgFileCache ( makVrv::DtDe de)
explicitprotected

Member Function Documentation

bool DtVrfOsgFileCache::needsShaderGeneration ( const std::string &  extension,
const LoadFileOptions options 
) const
virtual

Returns TRUE if we should run the shader generator on the node.

Reimplemented from makVrv::DtOsgFileCache.

void DtVrfOsgFileCache::encodeOptionsString ( const LoadFileOptions loadFileOptions,
osgDB::ReaderWriter::Options &  options 
) const
virtual

Encode load file options into reader write options.

Reimplemented from makVrv::DtOsgFileCache.

void DtVrfOsgFileCache::decodeOptions ( const osgDB::ReaderWriter::Options &  options,
LoadFileOptions loadFileOptions 
) const
virtual

Decode reader write options into load file options.

Reimplemented from makVrv::DtOsgFileCache.

osg::ref_ptr<osg::Image> DtVrfOsgFileCache::ts_readImageFile ( const std::string &  inputFilename,
const LoadFileOptions loadFileOptions 
)

Friends And Related Function Documentation

friend class Creator
friend

The documentation for this class was generated from the following file:

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)