globjects
2.0.0.690708773bba
Strict OpenGL objects wrapper.
|
Superclass of all wrapped OpenGL objects. More...
#include <globjects/include/globjects/Object.h>
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 () |
Static Public Member Functions | |
static void | hintNameImplementation (NameImplementation impl) |
Protected Member Functions | |
Object (std::unique_ptr< IDResource > &&resource) | |
virtual | ~Object () |
Protected Attributes | |
std::unique_ptr< IDResource > | m_resource |
void * | m_objectLabelState |
Friends | |
class | AbstractObjectNameImplementation |
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().
|
strong |
|
protected |
|
protectedvirtual |
|
static |
|
pure virtual |
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 |
|
pure virtual |
void globjects::Object::detach | ( | ) |
unlinks and destroys the associated opengl object
|
friend |
|
protected |
|
mutableprotected |