eq::util::ObjectManager< T > Class Template Reference

A facility class to managed OpenGL objects across shared contexts. More...

#include <objectManager.h>

Inheritance diagram for eq::util::ObjectManager< T >:
Inheritance graph
[legend]
Collaboration diagram for eq::util::ObjectManager< T >:
Collaboration graph
[legend]

List of all members.

Classes

struct  Object
struct  SharedData

Public Types

enum  { INVALID = 0 }

Public Member Functions

 ObjectManager (GLEWContext *const glewContext)
 Construct a new object manager.
 ObjectManager (GLEWContext *const glewContext, ObjectManager *shared)
 Construct a new object manager sharing data with another manager.
int getSharedUsage () const
void deleteAll ()
GLuint getList (const T &key) const
GLuint newList (const T &key, const GLsizei num=1)
GLuint obtainList (const T &key, const GLsizei num=1)
void deleteList (const T &key)
GLuint getTexture (const T &key) const
GLuint newTexture (const T &key)
GLuint obtainTexture (const T &key)
void deleteTexture (const T &key)
bool supportsBuffers () const
GLuint getBuffer (const T &key) const
GLuint newBuffer (const T &key)
GLuint obtainBuffer (const T &key)
void deleteBuffer (const T &key)
bool supportsPrograms () const
GLuint getProgram (const T &key) const
GLuint newProgram (const T &key)
GLuint obtainProgram (const T &key)
void deleteProgram (const T &key)
bool supportsShaders () const
GLuint getShader (const T &key) const
GLuint newShader (const T &key, const GLenum type)
GLuint obtainShader (const T &key, const GLenum type)
void deleteShader (const T &key)
AccumgetEqAccum (const T &key) const
AccumnewEqAccum (const T &key)
AccumobtainEqAccum (const T &key)
void deleteEqAccum (const T &key)
bool supportsEqTexture () const
TexturegetEqTexture (const T &key) const
TexturenewEqTexture (const T &key)
TextureobtainEqTexture (const T &key)
void deleteEqTexture (const T &key)
bool supportsEqFrameBufferObject () const
FrameBufferObjectgetEqFrameBufferObject (const T &key) const
FrameBufferObjectnewEqFrameBufferObject (const T &key)
FrameBufferObjectobtainEqFrameBufferObject (const T &key)
void deleteEqFrameBufferObject (const T &key)
util::BitmapFont< T > * getEqBitmapFont (const T &key) const
util::BitmapFont< T > * newEqBitmapFont (const T &key)
util::BitmapFont< T > * obtainEqBitmapFont (const T &key)
void deleteEqBitmapFont (const T &key)
const GLEWContext * glewGetContext () const
GLEWContext * glewGetContext ()

Detailed Description

template<typename T>
class eq::util::ObjectManager< T >

A facility class to managed OpenGL objects across shared contexts.

See also: http://www.equalizergraphics.com/documents/design/objectManager.html

The semantics for each of the functions is:

get - lookup existing object, new - allocate new object, obtain - get or new, delete - delete.

Definition at line 52 of file objectManager.h.


Constructor & Destructor Documentation

template<typename T >
eq::util::ObjectManager< T >::ObjectManager ( GLEWContext *const   glewContext  )  [inline]

Construct a new object manager.

Definition at line 37 of file objectManager.cpp.

template<typename T >
eq::util::ObjectManager< T >::ObjectManager ( GLEWContext *const   glewContext,
ObjectManager< T > *  shared 
) [inline]

Construct a new object manager sharing data with another manager.

Definition at line 45 of file objectManager.cpp.


Member Function Documentation

template<typename T>
int eq::util::ObjectManager< T >::getSharedUsage (  )  const [inline]
Returns:
the number of object managers currently sharing the data.

Definition at line 70 of file objectManager.h.


The documentation for this class was generated from the following files:
Generated on Sat Feb 6 13:15:03 2010 for Equalizer 0.9.1 by  doxygen 1.6.1