Loading...
Searching...
No Matches
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::Buffer
Wrapper for OpenGL buffer objects.
Definition Buffer.h:36
globjects::Framebuffer
Enables creation of arbitrary render targets that are not directly drawn on the screen.
Definition Framebuffer.h:47
globjects::Object
Superclass of all wrapped OpenGL objects.
Definition Object.h:27
globjects::ObjectVisitor
Implements a Visitor Pattern to iterate over all tracked globjects objects.
Definition ObjectVisitor.h:30
globjects::ObjectVisitor::visitTexture
virtual void visitTexture(Texture *texture)
globjects::ObjectVisitor::visitProgramPipeline
virtual void visitProgramPipeline(ProgramPipeline *programPipeline)
globjects::ObjectVisitor::ObjectVisitor
ObjectVisitor()
globjects::ObjectVisitor::visitFrameBufferObject
virtual void visitFrameBufferObject(Framebuffer *fbo)
globjects::ObjectVisitor::visitRenderBufferObject
virtual void visitRenderBufferObject(Renderbuffer *rbo)
globjects::ObjectVisitor::visitQuery
virtual void visitQuery(Query *query)
globjects::ObjectVisitor::visitProgram
virtual void visitProgram(Program *program)
globjects::ObjectVisitor::visitVertexArray
virtual void visitVertexArray(VertexArray *vao)
globjects::ObjectVisitor::visitTransformFeedback
virtual void visitTransformFeedback(TransformFeedback *transformfeedback)
globjects::ObjectVisitor::visitBuffer
virtual void visitBuffer(Buffer *buffer)
globjects::ObjectVisitor::~ObjectVisitor
virtual ~ObjectVisitor()
globjects::ObjectVisitor::visit
virtual void visit(Object *object)
globjects::ObjectVisitor::visitShader
virtual void visitShader(Shader *shader)
globjects::ObjectVisitor::visitSampler
virtual void visitSampler(Sampler *sampler)
globjects::Program
Wraps an OpenGL program.
Definition Program.h:79
globjects::ProgramPipeline
Definition ProgramPipeline.h:22
globjects::Query
Encapsulates a GL Query object.
Definition Query.h:66
globjects::Renderbuffer
Encapsulates OpenGL render buffer objects.
Definition Renderbuffer.h:19
globjects::Sampler
Wraps OpenGL sampler objects.
Definition Sampler.h:19
globjects::Shader
Encapsulates OpenGL shaders.
Definition Shader.h:41
globjects::Texture
Wraps OpenGL texture objects. A Texture provides both interfaces to bind them for the OpenGL pipeline...
Definition Texture.h:31
globjects::TransformFeedback
Interface to use transform feedback.
Definition TransformFeedback.h:59
globjects::VertexArray
Definition VertexArray.h:23
globjects
Contains all the classes that wrap OpenGL functionality.