# class hiro::draw::CircleRenderer

## Overview

Renderer used for rendering meshes. More…

    #include <CircleRenderer.h>

    class CircleRenderer: public hiro::draw::Renderer {
    public:
        // construction

        CircleRenderer();
        CircleRenderer(const CircleRenderer& source);
        CircleRenderer(CircleRenderer&&);
        virtual ~CircleRenderer();

        // methods

        CircleRenderer& operator=(const CircleRenderer& source);
        CircleRenderer& operator=(CircleRenderer&&);
        void ClearCircles();
        void AddCircle(const geom::Circle& circle, const cogs::Color3f& color);
        void AddCircles(const std::vector<glm::vec2>& centers, float radius, const cogs::Color3f& color);
        void SetCircles(const std::vector<glm::vec2>& centers, float radius, const cogs::Color3f& color);
        virtual bool IsCompatibileWithStyle(const Style* style);

    protected:
        // methods

        virtual void Render2D(const std::string& program);
        virtual void LoadRequiredShaderPrograms(glw::ProgramList* programs);
    };

### Inherited Members

    public:
        // methods

        virtual bool IsCompatibileWithStyle(const hiro::draw::Style* style) = 0;

    protected:
        // methods

        virtual void LoadRequiredShaderPrograms(glw::ProgramList* programs);
        virtual void Render(const std::string& program);
        virtual void OnRenderSimple();
        virtual void Render2D(const std::string& program);
        virtual void OnRenderSimple2D();
        virtual void FillTextRenderer(hiro::draw::TextRenderer* t_renderer);

        template <typename StyleType>
        const StyleType* GetStyle() const;

        const Scene* GetScene() const;

## Detailed Documentation

Renderer used for rendering meshes.

### Methods

    virtual bool IsCompatibileWithStyle(const Style* style)

Test whether specified style is compatible with the object.

    virtual void Render2D(const std::string& program)

Override this method to specify custom rendering behavior in 2D rendering pass.

    virtual void LoadRequiredShaderPrograms(glw::ProgramList* programs)

Override this method to load specialized shader programs for your object.