# class hiro::draw::FrustumRenderer

## Overview

Renderer used for rendering cogs::Frustum. More…

    #include <FrustumRenderer.h>

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

        FrustumRenderer();
        FrustumRenderer(const cogs::Frustum& frustum);
        FrustumRenderer(const hiro::draw::FrustumRenderer&);
        FrustumRenderer(hiro::draw::FrustumRenderer&&);
        virtual ~FrustumRenderer();

        // methods

        FrustumRenderer& operator=(const hiro::draw::FrustumRenderer&);
        FrustumRenderer& operator=(hiro::draw::FrustumRenderer&&);
        void SetFrustum(const cogs::Frustum& frustum);
        virtual bool IsCompatibileWithStyle(const hiro::draw::Style* style);

    protected:
        // methods

        virtual void OnRenderSimple();
    };

### 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 cogs::Frustum.

### Construction

    FrustumRenderer()

Creates a renderer without a frustum defined.

    FrustumRenderer(const cogs::Frustum& frustum)

Creates a renderer with the specified frustum.

### Methods

    void SetFrustum(const cogs::Frustum& frustum)

Replace the currently used frustum with a new one.

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

Test whether specified style is compatible with the object.

    virtual void OnRenderSimple()

Specifies what happens when simple rendering is performed.