VR-Forces 4.7 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.
void encodeOptionsString (const LoadFileOptions &loadFileOptions, osgDB::ReaderWriter::Options &options) const
 Encode load file options into reader write options.
void decodeOptions (const osgDB::ReaderWriter::Options &options, LoadFileOptions &loadFileOptions) const
 Decode reader write options into load file options.
osg::ref_ptr< osg::Image > ts_readImageFile (const std::string &inputFilename, const LoadFileOptions &loadFileOptions)
- Public Member Functions inherited from makVrv::DtOsgFileCache
virtual ~DtOsgFileCache ()
 CTOR.
virtual void releaseResources ()
 Release all rendering resources.
virtual void releaseResources (osg::State *state)
 Release all rendering resources.
virtual void setFromRecord (const makArchives::DtCacheSettingsRecord &rec)
 Push loader options to global registry whenever they're loaded from a record.
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.
osg::ref_ptr< osg::Node > findNodeFile (const std::string &inputFilename)
 Find a node file.
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.
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.
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.
DtMetaFileManagermetaFileManager ()
 Retrieve the Metafile manager (load, parse .meta files)
void cleanDataFilePathList (FilePathList &fileList)
 Clean and remove duplicate paths from the input database path list (i.e.
virtual const
DtOsgShaderFilesCache
shaderFilesCache (void) const
 access shader files cache
virtual DtEffectControllerFactoryeffectControllerFactory (void) const
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).
virtual std::string ts_getTextureFilePathAndSetNameIfNotSet (const osg::Texture *baseTexture) const
 find the file path for an effect texture.
virtual void ts_setEffectTextureName (osg::ref_ptr< osg::Texture > &effectTexture, const std::string &validFile) const
 thread safe
virtual void ts_setEffectTextureFilterAndHardwareMipMapGen (osg::Texture *effectTexture, osg::Texture::FilterMode minFilter, osg::Texture::FilterMode magFilter, bool hardwareMipMapGen) const
 thread safe
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
virtual bool ts_checkAndSetIgnoreHint (osg::Object *obj, bool val, const char *hint) const
 thread safe.
virtual bool ts_ignore (osg::Object *obj, const char *hint) const
 thread safe.
virtual const
DtEffectControllerContainer
effectControllerContainer (void) const
 access the controller container
virtual const
DtEffectControllerShaderCache
effectControllerShaderCache (void) const
 access the controller shader cache
virtual void setNumActivePagerThreads (int active)
virtual int getNumberOfImageProcessingTasks () const
virtual DtOsgShaderManagershaderManager (void)
 access shader manager
virtual const DtOsgShaderManagershaderManager (void) const
 access shader manager
- Public Member Functions inherited from makVrv::DtFileCache
virtual ~DtFileCache ()
 DTOR.
virtual void init ()
 Initialize the cache. Must be called before using.
LoadFileOptions defaultOptions () const
 Get the current default options.
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.
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.
virtual void setCachingEnabled (bool flag)
 Toggle caching on or off.
virtual bool acceleratedCachingEnabled () const
 Returns true if caching is enabled.
virtual void setCompressTextures (bool compress)
 Set whether all textures will be compressed.
virtual bool compressTexturesEnabled () const
 Should we compress textures.
virtual void clearAccelerationCache ()
 Clears the cache.
virtual void setInstancingEnabled (bool enabled)
 Sets whether model instancing is enabled.
virtual bool instancingEnabled () const
 Returns true if model instancing is enabled.
bool clearInstancesOnNewScene () const
 Returns whether to clear instances on new scene.
void setClearInstancesOnNewScene (bool clearInstances)
 Returns whether to clear instances on new scene.
void clearInstancingCache ()
 Clear the model instance cache.
void flushInstanceCache (bool multipass, bool flushNodes, bool flushTextures, bool flushImages)
 Removes all instances that only have 1 reference.
unsigned int flushCycleCount ()
 Get the flush cycle count, this is incremented each time flush instance cache is called.
virtual void getRecord (makArchives::DtCacheSettingsRecord &rec)
 Fill out a cache settings record with the DtFileCache state.
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.
virtual void addRecords (makArchives::DtCacheSettingsRecord &recs, makArchives::DtCacheSettingsRecord &combinedRec)
 To support writing element definitions in folders as multiple files not implemented for DtFileCache.
void loadDefaults (bool loadOnlyFactorySettings=false)
 Called from CTOR to load the default settings.
void saveAsDefaults ()
 Called to save the current settings as the default settings.
void exportSettings (const std::string &fileName)
 Exports the current cache settings to a file.
void importSettings (const std::string &fileName)
 Import the current cache settings from a file.
virtual ExcludedExtensionsexcludedExtensions ()
 Accessor for excluded extensions.
bool isExcludedExtension (const std::string &ext) const
 Check if the extension is in the list of excluded file types.
const
DtRecordSettingsBackupInterface
settingsBackup () const
DtRecordSettingsBackupInterfacesettingsBackup ()

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.
virtual osg::ref_ptr< osg::Node > ts_findNodeFile (const std::string &inputFilename)
 Thread safe Implementation of findNodeFile.
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.
virtual osg::ref_ptr< osg::Object > ts_readObject (const std::string &filename, const osgDB::ReaderWriter::Options *options)
 Thread safe Implementation of readObject.
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.
bool ts_resolveRelativeFilename (const LoadFileOptions &loadFileOptions, std::string &absoluteInputFilename)
 Attempt to resolve the absolute input filename.
virtual void ts_clearInstancingCache ()
 Clear the model instance cache.
virtual void ts_flushInstancingCache (bool multipass, bool flushNodes, bool flushTextures, bool flushImages)
 Flush the instancing cache.
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.
 DtOsgFileCache (DtDe &de)
 Protected CTOR. Must be called by creator.
std::string ts_buildAcceleratedFilename (const std::string &filePathIn, const std::string &cachedDir, const std::string &cachedExtension) const
 Build the cached filename for a file to be cached.
std::string ts_buildCdbAcceleratedFilename (const std::string &zipfile, const std::string &ftlfile, const std::string &cachedDir, const std::string &cachedExtension) const
 Build the CDB cached filename for a file to be cached.
virtual bool save (const std::string &origFilename, const std::string &cachedFilename, bool optimize)
 Returns true if origFilename was successfully written out as cachedFilename.
bool shouldSaveFile (const std::string &filename)
 Should this file be saved as an accelerated file.
bool saveToAcceleratedFile (const std::string &origFileName, osg::Node *nodeRef, const std::string &cachedFilename, bool writeExternalReferences)
 Save the node to an accelerated file.
virtual void addMetaFlightOptions (std::string &optionsString)
 Add meta flight options to the option string.
virtual void updateGlobalOptions ()
 updates the osgDB::Registry::instance() options with the defaults based on the shared state.
virtual void slot_onDdsFlipChanged (bool flip)
 slot for the onDdsFlipChanged signal so we can update the global options to match the shared state
virtual void slot_instancingChanged (bool enabled)
 slot for the instancingChanged signal so we can update the global options to match the shared state
virtual bool getAttrFromLocalCache (const std::string &filename, osg::Object *attrData)
- Protected Member Functions inherited from makVrv::DtFileCache
virtual void autoSaveDefaultsIfNeeded ()
 Save the default settings if necessary.
virtual bool ts_isExcludedExtension (const std::string &ext) const
 Thread safe call.
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.
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.
 DtFileCache (DtDe &de)
 Protected CTOR.

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.
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.
- 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.
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.
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.
boost::signals2::signal< void(const
std::string &filename,
osgDB::ReaderWriter::ReadResult
&, const
osgDB::ReaderWriter::Options *)> 
signal_readNodeCallback
 Signaled emitted when osg calls readNodeFile.
boost::signals2::signal< void(const
std::string &filename,
osgDB::ReaderWriter::ReadResult
&, const
osgDB::ReaderWriter::Options *)> 
signal_readImageCallback
 Signaled emitted when osg calls readImageFile.
boost::signals2::signal< void(const
std::string &filename,
osgDB::ReaderWriter::ReadResult
&, const
osgDB::ReaderWriter::Options *)> 
signal_readObjectCallback
 Signaled emitted when osg calls readObject.
- 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
boost::mutex myRelativePathMutex
RelativePathCache myRelativePathCache
DtMeifConvertermyImageCompressor
DtMetaFileManagermyMetaFileManager
DtOsgShaderManagermyShaderManager
DtOsgShaderFilesCachemyShaderFilesCache
DtEffectControllerFactorymyEffectControllerFactory
boost::mutex myImageUserValueMutex
boost::mutex myEffectTexturesMutex
DtEffectControllerContainer myEffectControllerContainer
DtEffectControllerShaderCache myEffectControllerShaderCache
int myNumActivePagerThreads

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 Fri Apr 26 21:53:14 EDT 2019 from SVN revision 197883
Copyright © 2005-2019 VT MAK. All Rights Reserved (www.mak.com)