ObjectVisitor.h
Go to the documentation of this file.
#pragma once
#include <globjects/globjects_api.h>
namespace globjects
{
class Object;
class Buffer;
class Framebuffer;
class Program;
class ProgramPipeline;
class Query;
class Renderbuffer;
class Sampler;
class Shader;
class Texture;
class TransformFeedback;
class VertexArray;
class GLOBJECTS_API ObjectVisitor
{
public:
ObjectVisitor();
virtual ~ObjectVisitor();
virtual void visit(Object * object);
virtual void visitBuffer(Buffer * buffer);
virtual void visitFrameBufferObject(Framebuffer * fbo);
virtual void visitProgram(Program * program);
virtual void visitProgramPipeline(ProgramPipeline * programPipeline);
virtual void visitQuery(Query * query);
virtual void visitRenderBufferObject(Renderbuffer * rbo);
virtual void visitSampler(Sampler * sampler);
virtual void visitShader(Shader * shader);
virtual void visitTexture(Texture * texture);
virtual void visitTransformFeedback(TransformFeedback * transformfeedback);
virtual void visitVertexArray(VertexArray * vao);
};
} // namespace globjects
globjects::Shader
Encapsulates OpenGL shaders.
Definition: Shader.h:40
globjects::Program
Wraps an OpenGL program.
Definition: Program.h:78
globjects
Contains all the classes that wrap OpenGL functionality.
globjects::Object
Superclass of all wrapped OpenGL objects.
Definition: Object.h:26
globjects::Framebuffer
Enables creation of arbitrary render targets that are not directly drawn on the screen.
Definition: Framebuffer.h:46
globjects::Sampler
Wraps OpenGL sampler objects.
Definition: Sampler.h:18
globjects::Buffer
Wrapper for OpenGL buffer objects.
Definition: Buffer.h:35
globjects::TransformFeedback
Interface to use transform feedback.
Definition: TransformFeedback.h:58
globjects::Query
Encapsulates a GL Query object.
Definition: Query.h:65
globjects::ProgramPipeline
Definition: ProgramPipeline.h:21
globjects::VertexArray
Definition: VertexArray.h:22
globjects::Texture
Wraps OpenGL texture objects. A Texture provides both interfaces to bind them for the OpenGL pipeline...
Definition: Texture.h:30
globjects::Renderbuffer
Encapsulates OpenGL render buffer objects.
Definition: Renderbuffer.h:18
globjects::ObjectVisitor
Implements a Visitor Pattern to iterate over all tracked globjects objects.
Definition: ObjectVisitor.h:29