libVFRendering  0.14.0

A vector field rendering library
CombinedRenderer.hxx
1 #ifndef VFRENDERING_COMBINED_RENDERER_HXX
2 #define VFRENDERING_COMBINED_RENDERER_HXX
3 
4 #include <vector>
5 #include <memory>
6 
7 #include <VFRendering/RendererBase.hxx>
8 
9 namespace VFRendering {
11 public:
12  CombinedRenderer(const View& view, const std::vector<std::shared_ptr<RendererBase>>& renderers);
13  virtual ~CombinedRenderer();
14  virtual void updateIfNecessary() override;
15  virtual void draw(float aspect_ratio) override;
16  virtual void optionsHaveChanged(const std::vector<int>& changed_options) override;
17  virtual void updateOptions(const Options& options) override;
18 
19 protected:
20  virtual void update(bool keep_geometry) override;
21 
22 private:
23  std::vector<std::shared_ptr<RendererBase>> m_renderers;
24 };
25 }
26 
27 #endif
VFRendering::RendererBase
Definition: RendererBase.hxx:12
VFRendering::CombinedRenderer
Definition: CombinedRenderer.hxx:10
VFRendering::Utilities::Options
Definition: Options.hxx:12
VFRendering::View
Definition: View.hxx:23