globjects  1.0.0.ae1b474792ef
Strict OpenGL objects wrapper.

Superclass of all wrapped OpenGL objects. More...

#include <globjects/include/globjects/Object.h>

Inheritance diagram for globjects::Object:
globjects::Referenced globjects::HeapOnly globjects::Buffer globjects::Framebuffer globjects::Program globjects::ProgramPipeline globjects::Query globjects::Renderbuffer globjects::Sampler globjects::Shader globjects::Texture globjects::TransformFeedback globjects::VertexArray

Public Types

enum  NameImplementation { NameImplementation::DebugKHR, NameImplementation::Legacy }
 

Public Member Functions

virtual void accept (ObjectVisitor &visitor)=0
 
gl::GLuint id () const
 
std::string name () const
 
void setName (const std::string &name)
 
bool hasName () const
 
bool isDefault () const
 
virtual gl::GLenum objectType () const =0
 
void detach ()
 
- Public Member Functions inherited from globjects::Referenced
 Referenced ()
 
void ref () const
 
void unref () const
 
int refCounter () const
 
- Public Member Functions inherited from globjects::HeapOnly
 HeapOnly ()
 
void destroy () const
 

Static Public Member Functions

static void hintNameImplementation (NameImplementation impl)
 

Protected Member Functions

 Object (IDResource *resource)
 
virtual ~Object ()
 
- Protected Member Functions inherited from globjects::Referenced
virtual ~Referenced ()
 
- Protected Member Functions inherited from globjects::HeapOnly
virtual ~HeapOnly ()
 

Protected Attributes

IDResource * m_resource
 
void * m_objectLabelState
 

Friends

class AbstractObjectNameImplementation
 

Detailed Description

Superclass of all wrapped OpenGL objects.

The superclass is Referenced so that each wrapped OpenGL object supports reference counting. The OpenGL name (id) of the OpenGL resource that was provided in the constructor can be queried using id(). Additionally, an Object can have meaningful name wich can be get and set using name() and setName().

Member Enumeration Documentation

Enumerator
DebugKHR 
Legacy 

Constructor & Destructor Documentation

globjects::Object::Object ( IDResource *  resource)
protected
virtual globjects::Object::~Object ( )
protectedvirtual

Member Function Documentation

static void globjects::Object::hintNameImplementation ( NameImplementation  impl)
static
gl::GLuint globjects::Object::id ( ) const
std::string globjects::Object::name ( ) const
void globjects::Object::setName ( const std::string &  name)
bool globjects::Object::hasName ( ) const
bool globjects::Object::isDefault ( ) const
void globjects::Object::detach ( )

unlinks and destroys the associated opengl object

Friends And Related Function Documentation

friend class AbstractObjectNameImplementation
friend

Member Data Documentation

IDResource* globjects::Object::m_resource
protected
void* globjects::Object::m_objectLabelState
mutableprotected

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