![]() |
VR-Forces 5.0.1 Developer's Guide
|
class to hold a hashed map of strings to equivalent virtual programs to avoid repeated, duplicate creation of a virtual programs

Public Member Functions | |
| virtual | ~DtVirtualProgramCache () |
| virtual bool | findAndSetOn (const std::string &strHash, osg::StateSet *stateSet) |
| virtual void | cache (const std::string &strHash, osgEarth::VirtualProgram *virtualProgram) |
Public Member Functions inherited from makVrv::DtVirtualBaseClass | |
| DtVirtualBaseClass () | |
| virtual | ~DtVirtualBaseClass () |
Static Public Member Functions | |
| static DtVirtualProgramCache & | instance (DtDe &de) |
Protected Types | |
| typedef osg::ref_ptr < osgEarth::VirtualProgram > | VirtualProgramRef |
| typedef std::map< std::string, VirtualProgramRef > | StringVpMap |
Protected Member Functions | |
| DtVirtualProgramCache (DtDe &de) | |
| virtual void | slot_reloadShaders (void) |
| virtual void | clear () |
Protected Attributes | |
| StringVpMap | myMapHashesToVirtualPrograms |
| DtDe & | myDe |
| boost::mutex | myMapMutex |
| DtSignalConnectionManager | myConnections |
Private Member Functions | |
| DtVirtualProgramCache ()=delete | |
| DtVirtualProgramCache (const DtVirtualProgramCache &rhs)=delete | |
| DtVirtualProgramCache & | operator= (const DtVirtualProgramCache &rhs)=delete |
|
protected |
|
protected |
|
virtual |
DTOR.
|
protected |
protected. only creator can create
|
privatedelete |
not allowed
|
privatedelete |
not allowed
|
static |
singleton access to lod virtual program cache
|
privatedelete |
not allowed
|
virtual |
Find a vp with a hash and set it on the state set, if found. This was just a find returning a raw VP and that can get deleted from underneath/multi-threaded (was happening in cdb). The internal lock prevents this from happening.
|
virtual |
cache a virtual program with the given hash
|
protectedvirtual |
pre loading function
|
protectedvirtual |
clear internal cache
|
protected |
|
protected |
|
protected |
|
protected |