VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes
makVrv::DtGLDeleteObjectManager Class Reference

Manager to delete GLBuffer in the main thread. More...

Inheritance diagram for makVrv::DtGLDeleteObjectManager:
Inheritance graph
[legend]

Public Types

typedef DtLockedBufferedQueue
< osg::ref_ptr
< osg::Texture::TextureObject > > 
TexturesArray
 
typedef std::map
< osg::observer_ptr< const
osg::GraphicsContext >
, TexturesArray * > 
MapGCToTexArray
 
typedef DtLockedBufferedQueue
< unsigned int
VAOArray
 
typedef std::map
< osg::observer_ptr< const
osg::GraphicsContext >
, VAOArray * > 
MapContextsToVAOArray
 
typedef DtLockedBufferedQueue
< unsigned int
FBOArray
 
typedef std::map
< osg::observer_ptr< const
osg::GraphicsContext >
, FBOArray * > 
MapContextsToFBOArray
 

Public Member Functions

virtual ~DtGLDeleteObjectManager ()
 DTOR. More...
 
virtual void addHandleToDelete (unsigned int handle)
 Add a GLBuffer handle to delete in the main thread. More...
 
virtual void addTextureIdToDelete (const osg::GraphicsContext *gContext, osg::Texture::TextureObject *to)
 Add a texture id to delete in the main thread. More...
 
virtual void addVertexArrayObjectToDelete (const osg::GraphicsContext *gContext, unsigned int vaoId)
 Add a vertex array object to delete in the main thread. More...
 
virtual void addFrameBufferObjectToDelete (const osg::GraphicsContext *gContext, unsigned int fboId)
 Add a frame buffer object to delete in the main thread. More...
 
virtual void addFrameBufferObjectToDelete (osg::observer_ptr< const osg::GraphicsContext > &gContext, unsigned int fboId)
 
virtual void flush (const osg::GraphicsContext *gc, unsigned int contextId, bool buffers=true, bool textures=true, bool vaos=true, bool fbos=true)
 delete all the handles More...
 
virtual void flushInvalidGcs (void)
 delete all the handles across all contexts that are invalid More...
 
virtual void slot_displayToBeDestroyed (const std::string &displayName, DtDe *de)
 
virtual void clearData ()
 clear out maps and other data structures More...
 
- Public Member Functions inherited from makVrv::DtVirtualBaseClass
 DtVirtualBaseClass ()
 Do nothing constructor. More...
 
virtual ~DtVirtualBaseClass ()
 Virtual do nothing destructor. More...
 

Static Public Member Functions

static DtGLDeleteObjectManagerinstance (DtDe &de)
 Access the singleton instance. More...
 

Protected Member Functions

 DtGLDeleteObjectManager (DtDe &de)
 protected CTOR More...
 
virtual void flushTexturesArray (std::vector< osg::ref_ptr< osg::Texture::TextureObject > > *texArr, const osg::GraphicsContext *gc, unsigned int contextId)
 
virtual void deleteBuffers (void)
 
virtual void deleteTextures (const osg::GraphicsContext *gc, unsigned int contextId)
 
virtual void deleteVAOs (const osg::GraphicsContext *gc, unsigned int contextId)
 
virtual void deleteFBOs (const osg::GraphicsContext *gc, unsigned int contextId)
 
virtual void flushVAOsForInvalidGcs (void)
 
virtual void flushFBOsForInvalidGcs (void)
 

Static Protected Member Functions

static void registerInstance (DtGLDeleteObjectManager *mgr, DtDe &de)
 register the manager More...
 
static DtGLDeleteObjectManagerfindInstance (DtDe &de)
 register if the manager is registered More...
 

Protected Attributes

DtLockedBufferedQueue
< unsigned int
myGlBufferToDeleteList
 list of handle to delete More...
 
MapGCToTexArray myGraphicsContextToTexturesArray
 For keeping texture id's per context. More...
 
MapContextsToVAOArray myGraphicsContextToVAOArray
 For keeping vertex array object id's per context. More...
 
MapContextsToFBOArray myGraphicsContextToFBOArray
 For keeping vertex array object id's per context. More...
 
DtSignalConnectionManager myConnections
 Any signals to process. More...
 
DtDemyDe
 

Detailed Description

Manager to delete GLBuffer in the main thread.

Member Typedef Documentation

typedef std::map< osg::observer_ptr<const osg::GraphicsContext>, TexturesArray* > makVrv::DtGLDeleteObjectManager::MapGCToTexArray
typedef std::map< osg::observer_ptr<const osg::GraphicsContext >, VAOArray*> makVrv::DtGLDeleteObjectManager::MapContextsToVAOArray
typedef std::map< osg::observer_ptr<const osg::GraphicsContext >, FBOArray*> makVrv::DtGLDeleteObjectManager::MapContextsToFBOArray

Constructor & Destructor Documentation

virtual makVrv::DtGLDeleteObjectManager::~DtGLDeleteObjectManager ( )
virtual

DTOR.

makVrv::DtGLDeleteObjectManager::DtGLDeleteObjectManager ( DtDe de)
protected

protected CTOR

Member Function Documentation

static DtGLDeleteObjectManager& makVrv::DtGLDeleteObjectManager::instance ( DtDe de)
static

Access the singleton instance.

virtual void makVrv::DtGLDeleteObjectManager::addHandleToDelete ( unsigned int  handle)
virtual

Add a GLBuffer handle to delete in the main thread.

virtual void makVrv::DtGLDeleteObjectManager::addTextureIdToDelete ( const osg::GraphicsContext *  gContext,
osg::Texture::TextureObject *  to 
)
virtual

Add a texture id to delete in the main thread.

virtual void makVrv::DtGLDeleteObjectManager::addVertexArrayObjectToDelete ( const osg::GraphicsContext *  gContext,
unsigned int  vaoId 
)
virtual

Add a vertex array object to delete in the main thread.

virtual void makVrv::DtGLDeleteObjectManager::addFrameBufferObjectToDelete ( const osg::GraphicsContext *  gContext,
unsigned int  fboId 
)
virtual

Add a frame buffer object to delete in the main thread.

virtual void makVrv::DtGLDeleteObjectManager::addFrameBufferObjectToDelete ( osg::observer_ptr< const osg::GraphicsContext > &  gContext,
unsigned int  fboId 
)
virtual
virtual void makVrv::DtGLDeleteObjectManager::flush ( const osg::GraphicsContext *  gc,
unsigned int  contextId,
bool  buffers = true,
bool  textures = true,
bool  vaos = true,
bool  fbos = true 
)
virtual

delete all the handles

virtual void makVrv::DtGLDeleteObjectManager::flushInvalidGcs ( void  )
virtual

delete all the handles across all contexts that are invalid

virtual void makVrv::DtGLDeleteObjectManager::slot_displayToBeDestroyed ( const std::string &  displayName,
DtDe de 
)
virtual
virtual void makVrv::DtGLDeleteObjectManager::clearData ( )
virtual

clear out maps and other data structures

static void makVrv::DtGLDeleteObjectManager::registerInstance ( DtGLDeleteObjectManager mgr,
DtDe de 
)
staticprotected

register the manager

static DtGLDeleteObjectManager* makVrv::DtGLDeleteObjectManager::findInstance ( DtDe de)
staticprotected

register if the manager is registered

virtual void makVrv::DtGLDeleteObjectManager::flushTexturesArray ( std::vector< osg::ref_ptr< osg::Texture::TextureObject > > *  texArr,
const osg::GraphicsContext *  gc,
unsigned int  contextId 
)
protectedvirtual
virtual void makVrv::DtGLDeleteObjectManager::deleteBuffers ( void  )
protectedvirtual
virtual void makVrv::DtGLDeleteObjectManager::deleteTextures ( const osg::GraphicsContext *  gc,
unsigned int  contextId 
)
protectedvirtual
virtual void makVrv::DtGLDeleteObjectManager::deleteVAOs ( const osg::GraphicsContext *  gc,
unsigned int  contextId 
)
protectedvirtual
virtual void makVrv::DtGLDeleteObjectManager::deleteFBOs ( const osg::GraphicsContext *  gc,
unsigned int  contextId 
)
protectedvirtual
virtual void makVrv::DtGLDeleteObjectManager::flushVAOsForInvalidGcs ( void  )
protectedvirtual
virtual void makVrv::DtGLDeleteObjectManager::flushFBOsForInvalidGcs ( void  )
protectedvirtual

Member Data Documentation

DtLockedBufferedQueue<unsigned int> makVrv::DtGLDeleteObjectManager::myGlBufferToDeleteList
protected

list of handle to delete

MapGCToTexArray makVrv::DtGLDeleteObjectManager::myGraphicsContextToTexturesArray
protected

For keeping texture id's per context.

MapContextsToVAOArray makVrv::DtGLDeleteObjectManager::myGraphicsContextToVAOArray
protected

For keeping vertex array object id's per context.

MapContextsToFBOArray makVrv::DtGLDeleteObjectManager::myGraphicsContextToFBOArray
protected

For keeping vertex array object id's per context.

DtSignalConnectionManager makVrv::DtGLDeleteObjectManager::myConnections
protected

Any signals to process.

DtDe& makVrv::DtGLDeleteObjectManager::myDe
protected

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

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)